BugsBastard
Erfahrenes Mitglied
Hallo zusammen,
mein Kollege sagte heute morgen fröhlich zu mir: Mach mal eben ein Importscript für Excel-Dateien! Das Ziel ist daß eine XLS-Datei auf unseren Server geladen werden kann, die Felder automatisch ausgelesen werden und der Benutzer sagen kann wohin die einzelnen Felder gespeichert werden sollen.
Eigentlich ganz einfach Ich such mir gerade aber leider einen Wolf. Ich habe diverse ansätze gefunden, der der am besten t ist die COM-Klasse die PHP anbietet (zumindest kam mir das so vor).
Nun habe ich aber leider das Problem daß ich zwar eine Excel-Datei auslesen kann, aber ich nicht weiß wieviele Reihen und spalten die hat. Momentan kann ich nur die einzelnen Zellen direkt ansprechen, also z.B. C1.
Meine Frage:
1. Kann mir jemand sagen ob (und wie) ich mit der PHP-COM-Schnittstelle bei einer Excel-Datei auslesen kann wann die letzte gefüllte Zelle (nach rechts und unten) erreicht ist?
2. Gibt es per PHP-Programmierung noch eine einfache Möglichkeit eine XLS-Datei als CSV zu konvertieren?
Mein Quelltext bislang:
<pre>
<?php
function read_xls($doc)
{
$doc = $doc;
$sheet1 = 1;
$sheet2 = "sheet2";
$xls = new COM("Excel.application") or Die ("Fehler beim Öffnen der Excel-Komponente");
$Workbook = $xls->Workbooks->Open("$doc") or Die("Kann nicht geöffnet werden");
$Worksheet = $Workbook->Worksheets($sheet1);
$Worksheet->activate;
$excel_cell = $Worksheet->Range("A1");
$excel_cell->activate;
$excel_result = $excel_cell->value;
echo "$excel_result\n";
$excel_cell = $Worksheet->Range("A2");
$excel_cell->activate;
$excel_result = $excel_cell->value;
echo "$excel_result\n";
// Alles schließen
$Workbook->Close;
unset($Worksheet);
unset($Workbook);
$xls->Workbooks->Close();
$xls->Quit();
unset($xls);
return true;
}
read_xls("c:\\test.xls");
?>
</pre>
Gruss,
Bugs
mein Kollege sagte heute morgen fröhlich zu mir: Mach mal eben ein Importscript für Excel-Dateien! Das Ziel ist daß eine XLS-Datei auf unseren Server geladen werden kann, die Felder automatisch ausgelesen werden und der Benutzer sagen kann wohin die einzelnen Felder gespeichert werden sollen.
Eigentlich ganz einfach Ich such mir gerade aber leider einen Wolf. Ich habe diverse ansätze gefunden, der der am besten t ist die COM-Klasse die PHP anbietet (zumindest kam mir das so vor).
Nun habe ich aber leider das Problem daß ich zwar eine Excel-Datei auslesen kann, aber ich nicht weiß wieviele Reihen und spalten die hat. Momentan kann ich nur die einzelnen Zellen direkt ansprechen, also z.B. C1.
Meine Frage:
1. Kann mir jemand sagen ob (und wie) ich mit der PHP-COM-Schnittstelle bei einer Excel-Datei auslesen kann wann die letzte gefüllte Zelle (nach rechts und unten) erreicht ist?
2. Gibt es per PHP-Programmierung noch eine einfache Möglichkeit eine XLS-Datei als CSV zu konvertieren?
Mein Quelltext bislang:
<pre>
<?php
function read_xls($doc)
{
$doc = $doc;
$sheet1 = 1;
$sheet2 = "sheet2";
$xls = new COM("Excel.application") or Die ("Fehler beim Öffnen der Excel-Komponente");
$Workbook = $xls->Workbooks->Open("$doc") or Die("Kann nicht geöffnet werden");
$Worksheet = $Workbook->Worksheets($sheet1);
$Worksheet->activate;
$excel_cell = $Worksheet->Range("A1");
$excel_cell->activate;
$excel_result = $excel_cell->value;
echo "$excel_result\n";
$excel_cell = $Worksheet->Range("A2");
$excel_cell->activate;
$excel_result = $excel_cell->value;
echo "$excel_result\n";
// Alles schließen
$Workbook->Close;
unset($Worksheet);
unset($Workbook);
$xls->Workbooks->Close();
$xls->Quit();
unset($xls);
return true;
}
read_xls("c:\\test.xls");
?>
</pre>
Gruss,
Bugs