5丁目通信(仮称)

とある5丁目で活動する還暦を過ぎたWebプログラマーの覚え書きです。それとかかってくる迷惑電話や、家業のアパート経営について。

PHPでExcelファイルで時間を読み込むと値がおかしくなる、という話し


Excelファイルに時間がセルにあると、PHPのプログラムから正しい値が読み込むことができません。

使ったPHPのExcelファイルを読み込むライブラリは、Spreadsheet_Excel_ReaderとPHPExcel。どちらもダメ。ソースを追ってみたがわからない。03:00と時間を読み込むと、0.125になる。Excelで書式を変えてみると、0:febfeb:になってしまう。何か、ライブラリ側で書式の設定があるかも。

仕方ないので、Excelファイル側で書式を文字列にしてもらうことにする。後で解決策があれば、変更しましょう。

Spreadsheet_Excel_Readerは、セルに何も値を格納していなければ、PHPで取り出した配列には何も出てこないのね。nullか空白文字を期待してアクセスすると変数の未定義エラーになる。Spreadsheet_Excel_Readerクラスのvalメソッドを使わなければいけない。配列を追っていくときには注意。

後、Excelのブック内のシート数はどこにも格納されていないのね。いろいろと使いにくいところがある。

著:山田祥寛
¥3,366 (2024/10/06 15:33時点 | Amazon調べ)
著:松浦 健一郎, 著:司 ゆき
¥1,430 (2024/10/06 15:33時点 | Amazon調べ)
著:谷藤賢一, 著:徳丸浩
¥2,750 (2024/10/06 15:33時点 | Amazon調べ)