Excel操作ライブラリを使用時はExcelの仕様に注意する【PHP】

業務系アプリでExcelを出力する機能で謎のバグが。

結論を言うと、シート名にExcelのシート名で使用できない文字が含まれていたため、プログラムでエラーが発生した。エラーキャッチくらい書けということもあるが、そもそもExcelの仕様を考えていないために起こったバグで、DBでもExcelファイルでも、プログラム連携するものの仕様は考慮する必要があるなと思った。

特に書くこともないので、Excelのファイル名、シート名で使用できない文字をまとめてみる。

一応PHPなんてタイトルに書いてあるけど、PHPに限らずな話題であると思うので参考にしてもらえたらと思う。

これらの文字は削除や置換する必要がある。

シート名で使用できない文字

  • コロン(:)
  • 円記号(\)
  • 疑問符(?)
  • 角括弧([])
  • スラッシュ(/)
  • アスタリスク(*)
  • シングルクオーテーション(‘)
  • 何もない()

また、入力文字数が32文字以内でないといけないそう。

ファイル名で使用できない文字

  • 円記号(\)
  • スラッシュ(/)
  • コロン(:)
  • アスタリスク(*)
  • 疑問符(?)
  • ダブルクォーテーション(“)
  • 不等号(<>)
  • 縦棒(|)

ファイル名については、Excelファイルでなくても考慮が必要になりそう。

タイトルとURLをコピーしました