環境は 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 を使えばいいけど、結構重たい。
≪ 決まり