HTML Tabelle in CSV

Manchmal ist es ganz praktisch wenn man aus einer HTML Tabelle eine CSV erstellen kann. Dazu gibt es unter http://www.codekeep.net/snippets/ec9f4704-b88a-486a-98f9-896de6afb021.aspx auch ein schönes Beispiel. Das Problem an diesem Beispiel ist das es nicht funktioniert. Einige Elemente sehen nach jQuery aus, so das man es ohne diese Bibliothek nicht benutzen kann. Mit „normalem“ Javaskript sieht das ganze dann so aus:

function tableRowsToCSV(theRows) 
{
 // Converts table rows into a csv stream
 var csv = "";
 for (var r=0;r<theRows.length;r++) {
 var csvRow = "";

 var theCells = theRows.item(r).cells;
 for (var c=0;c<theCells.length;c++) {
 var cellData="";
 cellData = theCells.item(c).textContent;
 //alert(cellData);
 if (cellData.indexOf(",") != -1) { 
 cellData = "'"+cellData+"'"; 
 }
 csvRow += ","+cellData;
 }
 if (csvRow != "") { 
 csvRow = csvRow.substring(1,csvRow.length); 
 }
 csv += csvRow+"\n";
 }
 return csv;
}

Der Aufruf der Funktion könnte dann zum Beispiel so aussehen:

var csvText = tableRowsToCSV(document.getElementsByTagName("tr"));

Diesen Text kann man dann in Javaskript weiterverwenden oder ihn z.B. an ein PHP Skript (per POST) schicken, welches das ganze dann zum Download anbietet.

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.