WordPressやSymfonyのTipsを中心にアニメや日常の出来事について語ります。
メニュー

【PHPExcel】背景色「塗りつぶしなし」を指定したセルで再計算すると文字が重なる現象が発生する(Excel2007)

この記事は約1分33秒で読めます

PHPExcel PHP Excel
ゆっきー
ども、カフェブロガーの悠木です。 お気に入りのカフェはドトールコーヒーです。 14時からの限定スイーツ「シューシャポー」が大好きです。

PHPExcelはPHPでExcelファイルを生成できるライブラリです。

便利なライブラリなのですが、セルの再計算後に文字が重なってしまう問題が発生しました。

塗りつぶしなしのセルの文字が重なる現象が発生

PHPExcel 背景色「塗りつぶしなし」を指定したセル

PHPExcelで背景色を「塗りつぶしなし」指定したセルに価格×個数のような単純な計算式が入った状態です。
価格、もしくは個数のセルを変更すると訂正前と訂正後の計算結果が重なって表示されてしまう現象が起きました。

PHPExcelで計算結果前の値と文字が重なる現象

Excel2007のみ発生する不具合のようです。
Excel2013では再現しないことを確認しました。

その他、確認した項目

  • 塗りつぶしなしのセルで文字が重なる。
  • 背景色の付いたセルは問題なく再計算できる。
  • 塗りつぶしなし→背景色付け→塗りつぶしなしすると文字は重ならない。
  • 画面の拡大縮小をすると元に戻る。
  • 名前を付けて保存すると元に戻る。
  • 上書き保存しても文字が重なったまま。
  • 計算方法の指定は”自動”に設定。
  • 再計算実行しても文字が重なったまま。
  • シート再計算しても文字が重なったまま。
  • Excel2007で発生する。
  • Excel2013は問題なく再計算できる。

問題発生の環境について

PHP: 5.5.9
Excel: 2007
PHPExcel: 1.7.6

文字が重なる現象の対処法

調べてみたのですが、これといった対策は見つかりませんでした。
しかし、このままでは非常に困るため、苦肉の策ですが次の通りに対処しました。

塗りつぶしなしと指定していたセルを白色で塗りつぶすという・・・。
色付きセルでは問題が起こっていなかったので、試しに白色で塗りつぶしたところうまくいきました。

塗りつぶしなしの箇所を白で塗りつぶすのは手間がかかる上にかっこ悪いですが、他に良い対処方法が分かりませんでした。

PHPExcelの最新バージョンが1.8.0なので、PHPExcelをバージョンアップすれば解決できるのかもしれませんが・・・。
ちょっと機会があれば試してみたいところです。

2015.04.30 追記 teratailで質問してみました

良い回答をもらえるといいのですが・・・。

関連記事

  1. PHP
  2. Symfony2 MonologからSlackにメッセージを送る
  3. さくらのVPS CentOS7
  4. 記事タイトルで指定した文字を超えた場合「・・・」と表示する(改行タグ制限)
  5. 記事タイトルで指定した文字を超えた場合「・・・」と表示する

コメントをお待ちしております

PR

カテゴリー