0

私はこのコードを持っています:

$book = new Spreadsheet_Excel_Writer();
$book->send('book.xls');
$report =& $book->addWorksheet('sheet');

$i = 0; 
while ($i<145){
    $report->write($i, 0, 'dsbajk_'.$i);
    $i++;
}

$book->close();

これにより6KBのファイルが生成されますが、Excelで開こうとすると、ファイルに次のようなエラーが発生します。Excelが読み取りできないコンテンツを検出し、一部のデータが失われた可能性があります。(スペイン語なので正確なメッセージを書くことはできません)。

ループ内で145から144(またはそれ以下)に変更すると、メッセージが表示されないため、テキストのバッファーまたはサイズに問題があると思います。whileループをより多くのデータを含むdbクエリに置き換える必要があるため、これがうまく機能することが重要です。

私は他のサーバーでこれを試しましたが、この問題は発生しなかったので、おそらく構成に問題があります。

私はどんな助けにも感謝します。

4

1 に答える 1

0

Marc Bが言ったように、新しいプロジェクトを開始する場合は、PHPExcelに切り替えることをお勧めします。従来のxlsだけでなく、xlsxやその他の最新の形式もサポートしています。また、より多くのオプションがあり、インストールと使用が簡単です。

私は自分のプロジェクトでPHPExcelを使用しましたが、とても満足しています。:)

于 2012-09-11T18:24:52.213 に答える