phpbar.de logo

Mailinglisten-Archive

[php] =?iso-8859-1?Q?Excel_Import_=FCber_COM?=

[php] Excel Import über COM

Tobias Nix php_(at)_phpcenter.de
Fri, 8 Mar 2002 14:27:45 +0100


Hallo Liste,

ich versuche gerade eine Excel Tabelle über die
Com-Schnittstelle zu Importieren.

Das funktioniert auch prima mit einer fest angegebenen
Zeilen- und Spaltenanzahl.

Da ich jedoch nicht weiss, wie breit und hoch die
Tabelle ist, sollte dies 'automatisch' ausgelesen werden.

In der MSDN Library hab ich die Methode
'ActiveCell.CurrentRegion.Select' gefunden. Nur leider
sagt mir das irgendwie gar nix;)

Kann mir da jemand weiterhelfen?

Hier mein Beispielsscript:

$xls = new COM('excel.application') or die('Fehler');
$workbook = dirname(__FILE__) . "\com.xls";
$wkb = $xls->application->Workbooks->Open($workbook) or Die ("Did not
open");
$sheets = $wkb->Worksheets(1);

//  $sheets->Activate;
//  $demo = $sheets->CurrentRegion.Select;
//  Sollte eigentlich einen Tabellen Range liefern...

$maxl=10;$maxc=10;  <- das sollte automatisch ausgelesen werden....
for ($j=1; $j<=$maxl; $j++) {
    for ($i=1; $i<=$maxc; $i++) {
        $c = $sheets->Cells($j,$i);
        $c->activate;
        $tmp = $c->value;
        if (!is_integer($tmp) || (is_integer($tmp) && $tmp != 0))
            $cell[$i][$j] = $c->value;
        else
            $cell[$i][$j] = NULL;
    }
}

$xls->application->ActiveWorkbook->Close("False");
$xls->Quit();


Gruss,
Tobias.


php::bar PHP Wiki   -   Listenarchive