犬ターネット

Excelファイルの内容を生PHPで読み込む

2013-01-08 php excel

環境は Excel 2010、PHP5.3.10 + Zip拡張 + SimpleXML拡張

エクセルはこういう簡単なもの。

で、こういうコードを書く。

実行結果。

--------------

Excel2007以降のエクセルファイルの実体は zip アーカイブだから、unzip するとこんな具合に展開される。

test/
│  [Content_Types].xml
├─docProps/
│      app.xml
│      core.xml
├─xl/
│  │  sharedStrings.xml
│  │  styles.xml
│  │  workbook.xml
│  ├─printerSettings/
│  │      printerSettings1.bin
│  ├─theme/
│  │      theme1.xml
│  ├─worksheets/
│  │  │  sheet1.xml
│  │  │  sheet2.xml
│  │  │  sheet3.xml
│  │  └─_rels/
│  │          sheet1.xml.rels
│  └─_rels/
│          workbook.xml.rels
└─_rels/
        .rels

xl/sharedStrings.xml ってのが文字列情報の共通ファイル。

xl/worksheerts/sheet*.xml が各シートの定義。

この2種類のXMLファイルを使えば、セルの内容を抽出できる。

--------------

生PHPでやりたくない人は PHPExcel を使えばいいけど、結構重たい。


決まり

MongoDB + PHP