作成日:2020-07-24, 更新日:2020-07-24
基本
・シート名の指定が間違っている(※日本語OKだけど、英数にしておくのが無難かも?)
・書き込み失敗のときは、同一ファイル名を開いている
グラフありで出力したが、空白になる
「setIncludeCharts(true)」が必要。
use PhpOffice\PhpSpreadsheet\Writer\Xlsx as XlsxWriter; $writer = new XlsxWriter(〇〇〇); $writer->setIncludeCharts(true); $writer->save(〇〇〇);
※グラフありのExcelを読み込むときも同様に「setIncludeCharts(true)」を使えば良いらしい
出力したファイルをExcelで開くとエラーメッセージがでてくる
`〇〇〇.xlsx`の一部の内容に問題が見つかりました。可能な限り内容を回復しますか?ブックの発行元が信頼できる場合は、[はい]をクリックしてください。
基本、無視しても良さそうなんだが気持ち悪いので、その対応。
参考にしたサイトが悪い場合
・参考にしたサイトがどこかからコピペしただけ・・・だったりすると、元のサイトの誤植がそのまま記載されている
・単純に情報が古く現時点では使えない・・・だったりする
▼2020-07-24時点
・「new Chart()」で使う「プロパティ:displayBlanksAs」の値に「0」は無い。
→「gap, zero, span」のいずれか。
元ファイルの問題
1.ExcelファイルをPhpSpreadsheetで読み込む。
2.グラフをセットして出力。
3.ExcelファイルをExcelで開く→上記エラー
対応
「1」で読み込むファイルを修正し、下記のような流れに。
0-1.元になるExcelファイルをExcelで開く
0-2.Excelで新規ファイルを作成
0-3.「0-2」で作成したファイルに「0-1」の内容を全選択して、コピペ(※シートの複製や、別名保存ではない)
0-4.「0-3」を保存
1.「0-4」のExcelファイルをPhpSpreadsheetで読み込む。
2.グラフをセットして出力。
3.ExcelファイルをExcelで開く→エラーがでなくなった