Im Fall haben Sie keine Kontrolle darüber, wie die Server-Seite funktioniert, hier ist eine clientseitige Lösung, die ich in einer anderen SO Frage angeboten habe, für Akzeptanz, die OP noch nicht erledigt: Export to CSV using jQuery and html
Es sind bestimmte Einschränkungen oder Einschränkungen, die Sie in Betracht ziehen müssen, wie ich in meiner Antwort dort drüben erwähnt habe, die mehr Details hat.
Dies ist die gleiche Demo ich angeboten haben: http://jsfiddle.net/terryyounghk/KPEGU/
Und Sie eine ungefähre Vorstellung davon zu geben, was das Skript aussieht.
Was Sie ändern müssen, ist, wie Sie Ihre Daten iterieren (im anderen Fall waren es Tabellenzellen), um eine gültige CSV-Zeichenfolge zu erstellen. Dies sollte trivial sein.
$(document).ready(function() {
function exportTableToCSV($table, filename) {
var $rows = $table.find('tr:has(td)'),
// Temporary delimiter characters unlikely to be typed by keyboard
// This is to avoid accidentally splitting the actual contents
tmpColDelim = String.fromCharCode(11), // vertical tab character
tmpRowDelim = String.fromCharCode(0), // null character
// actual delimiter characters for CSV format
colDelim = '","',
rowDelim = '"\r\n"',
// Grab text from table into CSV formatted string
csv = '"' + $rows.map(function (i, row) {
var $row = $(row),
$cols = $row.find('td');
return $cols.map(function (j, col) {
var $col = $(col),
text = $col.text();
return text.replace('"', '""'); // escape double quotes
}).get().join(tmpColDelim);
}).get().join(tmpRowDelim)
.split(tmpRowDelim).join(rowDelim)
.split(tmpColDelim).join(colDelim) + '"',
// Data URI
csvData = 'data:application/csv;charset=utf-8,' + encodeURIComponent(csv);
$(this)
.attr({
'download': filename,
'href': csvData,
'target': '_blank'
});
}
// This must be a hyperlink
$(".export").on('click', function (event) {
// CSV
exportTableToCSV.apply(this, [$('#dvData>table'), 'export.csv']);
// IF CSV, don't do event.preventDefault() or return false
// We actually need this to be a typical hyperlink
});
});
_so geben Sie die Lösung für dieses Problem_ klingt sehr anspruchsvoll: | – dbf
Hallo dbf, ich fordere meinen Freund nicht nur auf der Suche nach der Lösung meines Problems. Kannst du mir dabei helfen? – Praveen
Wenn Sie Ihre Daten an den Server senden, sollten Sie es dann in asp.net verarbeiten und senden Sie einen Antwortheader mit einem MIME-Typ "Text/CSV" - dies wird es zu einem herunterladbaren Tabellenkalkulation –