投稿者 メッセージ
<  PHPプログラミング  ~  pearのSpreadsheet_Excel_Writeについて
ryo1111
投稿1時間: 水 6月 27, 2007 8:12 pm  引用



登録日: 2007年6月 27日
投稿記事: 1

はじめまして、ryoと申します。
今PHPでExcelファイルの作成プログラムを作成しているのですが、はまってしまっています。どなたか下記の件お分かりになる方、ご教授ください。

現在mysqlからデータを抽出してきてExcelファイルを作成するプログラムを作成中ですが、レコードの件数が20件を超える抽出条件で、レコードを抽出しExcelファイルを作成すると、ダウンロードしてきたExcelファイルを開いたときにエラーが表示されて、体裁が崩れてしまいます。

20件未満だと起こりません。

また、1つのセルに入る文字数が多いのですが、最初普通に作成した際は文字が一部切れてしまっていました。
なので、下記のプログラムを見ていただければわかりますが、
Code:
setVersion(8)
を設定すると、途切れなくなるという記述を見たので入れてあります。(使い方が正しいのかがよくわかりませんが)
これを行った後から、レコードが20件以上だと壊れたファイルが作成されてきてしまうようになりました。
レコード件数を解決するには、1セルの文字が途切れてしまい、1セルの文字数を解決すると、レコード件数が問題になってしまいます。

どなたかこの件を両方とも解決できる方法をご存知の方がいましたらご教授ください。

Code:
        public function excel($form) {
           $workbook = new Spreadsheet_Excel_Writer();
           $workbook->setVersion(8);

           
            $worksheet->write(1, 0, $chapter_class, $format_left); // セルに書き込み
           
            $worksheet->write(2, 0, mb_convert_encoding("", "shift-jis", "auto"), $format_left); // セルに書き込み
           
            $worksheet->write(4, 1, "", $format_title); // セルに書き込み
            $worksheet->write(4, 0, mb_convert_encoding("チェック", "shift-jis", "auto"), $format_title); // セルに書き込み
           
            $worksheet->write(4, 2, mb_convert_encoding("項目", "shift-jis", "auto"), $format_title); // セルに書き込み

            $record_items = $form->getRecord_array();

            for($i=0;$i<count($record_items);$i++) {
                if(is_array($record_items[$i])) {

                    $worksheet->write(5 + $i, 0, "", $format_bold); // セルに書き込み

                    $worksheet->write(5 + $i, 1, mb_convert_encoding($record_items[$i]['CHECK'], "shift-jis", "auto"), $format_bold); // セルに書き込み

                    $worksheet->write(5 + $i, 2, mb_convert_encoding($record_items[$i]['CAPTION'], "shift-jis", "auto"), $format_left_border); // セルに書き込み
                }
            }

         $workbook->send(mb_convert_encoding("test.xls", "shift-jis", "auto")); // test.xlsに書き込み。
         $workbook->close();

        }
トップに移動
ユーザー情報を表示 メッセージを送信
takiyuanha
投稿1時間: 月 3月 11, 2013 9:03 pm  引用



登録日: 2013年3月 11日
投稿記事: 16
所在地: Dominica

i'm looking to buy crysis 3 compact disk tips less than EA shop?
トップに移動
ユーザー情報を表示 メッセージを送信 メールを送信
takiyuanha
投稿1時間: 月 3月 11, 2013 9:04 pm  引用



登録日: 2013年3月 11日
投稿記事: 16
所在地: Dominica

i'm looking to acquire crysis 3 disc recommendations less expensive EA shop?
トップに移動
ユーザー情報を表示 メッセージを送信 メールを送信
takiyuanha
投稿1時間: 月 3月 11, 2013 9:07 pm  引用



登録日: 2013年3月 11日
投稿記事: 16
所在地: Dominica

where can i buy crysis 3 compact disk keys less expensive EA store?
トップに移動
ユーザー情報を表示 メッセージを送信 メールを送信
takiyuanha
投稿1時間: 月 3月 11, 2013 9:09 pm  引用



登録日: 2013年3月 11日
投稿記事: 16
所在地: Dominica

can anyone help me acquire crysis 3 compact disc secrets less expensive EA store?
トップに移動
ユーザー情報を表示 メッセージを送信 メールを送信
特定期間内の記事を表示:   
All times are GMT +9:00

次のトピックを表示
前のトピックを表示
Page 1 of 1
フォーラム一覧  ~  PHPプログラミング

トピックの新規投稿   返信


 
移動先:  

新規投稿: 不可
返信: 不可t
自分の記事の編集: 不可
自分の記事の削除: 不可
投票への参加: 不可




Powered by phpBB
customized by phpspot.