-1

以前にも似たような質問をしたことがありますが、私の質問は私が怠け者だと言われたので、言い換えさせてください。

PHP クラス スクリプトを使用して SQL データを .xls ファイルにエクスポートできるようにしましたが、結果の Excel ファイルには値が表示されず、Web ページ自体にエラーも表示されません。

私が使用しているクラスファイルは、以下のリンクに記載されています。

http://web.burza.hr/blog/php-class-for-exporting-data-in-multiple-worksheets-excel-xml/

そして、次のようにサイトに組み込みました

$dbase->loadextraClass('excel.xml');

$excel = new excel_xml();

$header_style = array(
                        'bold'       => 1,
                        'size'       => '14',
                        'color'      => '#000000',
                        'bgcolor'    => '#ffffff'
                    );

$excel->add_style('header',$header_style);


if(isset($_POST['fec_save']))
{
    if($_POST['reporttype']=='films')
    {

        $films = $dbase->runquery("SELECT datetime,title,country_of_origin,language,runningtime,(SELECT name FROM fec_client WHERE filmid = fec_film.filmid) AS client, (SELECT rating_decision FROM fec_rating_report WHERE filmid = fec_film.filmid) AS rating FROM fec_film WHERE datetime >= '".strtotime($_POST['fromdate'])."' AND datetime <= '".strtotime($_POST['todate'])."'",'multiple');

        $filmcount = $dbase->getcount($films);

        //continue with excel buildup
        $columns = array('Date','Title','Origin','Language','Minutes','Client','Rating');
        $excel->add_row($columns,'header');

        for($i=1; $i<=$filmcount; $i++)
        {
            $film = $dbase->fetcharray($films);

            $excel->add_row($film['datetime'],$film['title'],$film['country_of_origin'],$film['language'],$film['runningtime'],$film['client'],$film['rating']);
        }

        $excel->create_worksheet('From_'.str_replace(' ','',$_POST['fromdate']).'_to'.str_replace(' ','',$_POST['todate']));

        $xml = $excel->generate();
        $excel->download('FilmsClassified_from_'.str_replace(' ','',$_POST['fromdate']).'_to'.str_replace(' ','',$_POST['todate']));
    }

}

私が間違っている可能性があることについて、いくつかの支援が必要です。

ありがとう

4

1 に答える 1

0

コメントとして投稿するには長すぎます:

$xml = $excel->generate();

すべての xml ファイルの内容を文字列として作成し、$xml に保存します。

$excel->create_worksheet('From_'.str_replace(' ','',$_POST['fromdate']).'_to'.str_replace(' ','',$_POST['todate']));

xml を作成し、ダウンロード用の適切なヘッダーを付けて出力に送信します。

したがって、クラスを正しく使用していません。これは、不要な作業の重複です。

于 2012-05-23T22:00:30.323 に答える