PHP で Excel
Excel シートの内容を 取得する
↓ こんな Excel ファイルを読む
A | B | C | D | E | F | G | H | I | J | |
---|---|---|---|---|---|---|---|---|---|---|
1 | A1 | B1 | C1 | D1 | E1 | F1 | G1 | H1 | J1 | |
2 | A2 | B2 | C2 | D2 | E2 | F2 | G2 | H2 | J2 | |
3 | A3 | B3 | C3 | D3 | E3 | F3 | G3 | H3 | J3 | |
4 | A4 | B4 | C4 | D4 | E4 | F4 | G4 | H4 | J4 | |
5 | A5 | B5 | C5 | D5 | E5 | F5 | G5 | H5 | J5 | |
6 | J6 | |||||||||
7 | A7 | B7 | C7 | D7 | E7 | F7 | G7 | H7 | I7 | J7 |
lesson004.php
実行結果
<?php
// EXCELのインスタンス作成
$excel = new COM("Excel.Application") or die;
$excel->Visible = 1;
$excel->DisplayAlerts = 0;// ファイルオープン & 書込み
$wkb = $excel->Workbooks->Open($argv[1]);
$sheet = $wkb->WorkSheets->Item($argv[2]);for ($iRow = 1; $iRow <= $sheet->Cells->CurrentRegion->Rows->Count; $iRow++)
{
$row = array();
for ($iCol = 1; $iCol <= $sheet->Cells->CurrentRegion->Columns->Count; $iCol++)
{
array_push($row, $sheet->Cells($iRow, $iCol)->Value);
}
echo join(",", $row), "\n";
}
C:\>php c:\study\php\chapter004\lesson004.php c:\study\Book1.xls Sheet1
A1,B1,C1,D1,E1,F1,G1,H1
A2,B2,C2,D2,E2,F2,G2,H2
A3,B3,C3,D3,E3,F3,G3,H3
A4,B4,C4,D4,E4,F4,G4,H4
A5,B5,C5,D5,E5,F5,G5,H5
こんな風にもできる
lesson005.php
実行結果
<?php
// EXCELのインスタンス作成
$excel = new COM("Excel.Application") or die;
$excel->Visible = 1;
$excel->DisplayAlerts = 0;// ファイルオープン & 書込み
$wkb = $excel->Workbooks->Open($argv[1]);
$sheet = $wkb->WorkSheets->Item($argv[2]);foreach ($sheet->Cells->CurrentRegion->Rows as $row)
{
$rec = array();
foreach ($row->Columns as $col)
{
array_push($rec, $col->Value);
}
echo join(",", $rec), "\n";
}
C:\>php c:\study\php\chapter004\lesson005.php c:\study\Book1.xls Sheet1
A1,B1,C1,D1,E1,F1,G1,H1
A2,B2,C2,D2,E2,F2,G2,H2
A3,B3,C3,D3,E3,F3,G3,H3
A4,B4,C4,D4,E4,F4,G4,H4
A5,B5,C5,D5,E5,F5,G5,H5