5

データベースからデータをロードし、次のサイトで見つけた方法で Excel ファイルにエクスポートしています: http://www.appservnetwork.com/modules.php?name=News&file=article&sid=8

それは機能しますが、今やりたいことは、エクスポートする前にテキストをフォーマットすることです-フォントとテキストサイズを変更します。これを行う方法について誰かアイデアがありますか?

4

6 に答える 6

6

ソリューションを展開する速度に応じて、HTML テーブル タグを使用し、スタイル マークアップを使用してすべてのデータをテーブルに格納し、PHP ヘッダーのオプションを使用してブラウザーに強制的に . xls ファイル。

概念実証のために、このコードをメモ帳にコピーし、.xls として保存してから、Excel で開きます。

<table>
<tr><th>Column 1</th><th>Column 2</th></tr>
<tr><td style="font-size:200%">Answer 1</td><td style="color:#f00">Answer 2</td></tr>
<tr><td colspan="2" style="font-weight:bold">Answer 3 with 2 columns</td></tr>
</table>

これは最も洗練されたソリューションではありませんが、ニーズに完全に適合します。

于 2008-11-11T19:28:47.973 に答える
6

PEAR :: Package :: Spreadsheet_Excel_Writerクラスを使用して PHP 5 から Excel スプレッドシートを作成しました。このパッケージで多くのことができます。

于 2008-11-11T03:26:29.853 に答える
3

PHPExcelは、これとそれ以上の機能を提供します。

編集: このプロジェクトは非推奨になりました。

于 2008-11-11T19:42:29.553 に答える
1

私はphp_writeexcelを数回使用しましたが、とても気に入りました! :)

于 2008-11-12T13:44:38.620 に答える
0

TinyButStrong テンプレート システム (www.tinybutstrong.com) には、Excel テンプレートに書き込めるオプションのプラグインがあります。

私はこれを大いに利用しました。フラグに応じて HTML または Excel に書き込むようにページを設定できるという点で特に優れています。そのため、通常、私のレポートには「ページに表示」オプションと「Excel に書き込む」オプションが用意されています。

于 2008-11-11T19:32:55.843 に答える
0
<?php
    include '../include/config.php';
    $sql                        =   "SELECT SQL_CALC_FOUND_ROWS
                                    ".DB_TBL_TUTORS_RECAPS.".id,
                                    ".DB_TBL_TUTORS_RECAPS.".date_of_tutoring_session,
                                    ".DB_TBL_TUTORS_RECAPS.".created,
                                    ".DB_TBL_TUTORS_RECAPS.".hours_tutored,
                                    ".DB_TBL_TUTORS_RECAPS.".billable_travel,
                                    ".DB_TBL_TUTORS_RECAPS.".billable_additional,
                                    ".DB_TBL_TUTORS_RECAPS.".type_of_tutoring,
                                    ".DB_TBL_TUTORS_RECAPS.".additional_comments,
                                    ".DB_TBL_TUTORS_RECAPS.".total_billable,
                                    ".DB_TBL_TUTORS_RECAPS.".materials_covered_during_session,
                                    ".DB_TBL_TUTORS_RECAPS.".next_scheduled_session_location,
                                    ".DB_TBL_TUTORS_RECAPS.".rate,
                                    ".DB_TBL_TUTORS_RECAPS.".tutor_pay_rate,
                                    ".DB_TBL_APPLICANTS.".first_name as tutor_first_name,
                                    ".DB_TBL_APPLICANTS.".last_name as tutor_last_name,
                                    ".DB_TBL_PIPELINE.".tutor_match_notes,
                                    ".DB_TBL_PIPELINE.".date_of_submission,
                                    ".DB_TBL_PIPELINE.".tutor_name,
                                    ".DB_TBL_PIPELINE.".tutor_id,
                                    ".DB_TBL_CLIENTS.".id as client_id,
                                    ".DB_TBL_CLIENTS.".first_name,
                                    ".DB_TBL_CLIENTS.".last_name,
                                    ".DB_TBL_CLIENTS.".location_name,
                                    ".DB_TBL_CLIENTS.".last_name,
                                    ".DB_TBL_CHILDREN.".id as child_id,
                                    ".DB_TBL_CHILDREN.".last_name as last,
                                    ".DB_TBL_CHILDREN.".first_name as first
                                FROM 
                                    ".DB_TBL_TUTORS_RECAPS."
                                LEFT JOIN ".DB_TBL_PIPELINE." ON ".DB_TBL_PIPELINE.".id= ".DB_TBL_TUTORS_RECAPS.".pipeline_id
                                LEFT JOIN ".DB_TBL_CHILDREN." ON ".DB_TBL_CHILDREN.".id= ".DB_TBL_TUTORS_RECAPS.".child_id  
                                LEFT JOIN ".DB_TBL_CLIENTS." ON ".DB_TBL_CLIENTS.".id= ".DB_TBL_TUTORS_RECAPS.".client_id   
                                LEFT JOIN ".DB_TBL_TUTORS." ON ".DB_TBL_TUTORS_RECAPS.".tutor_id= ".DB_TBL_TUTORS.".id  
                                LEFT JOIN ".DB_TBL_APPLICANTS." ON ".DB_TBL_APPLICANTS.".id= ".DB_TBL_TUTORS.".applicant_id 
                            WHERE 


                            " . DB_TBL_CLIENTS . ".status = 'Existing' AND

                            " . DB_TBL_APPLICANTS . ".status = 'Existing' AND

                            " . DB_TBL_PIPELINE . ".status = 'Existing' AND                             
                            " . DB_TBL_TUTORS_RECAPS . ".is_deleted = '0'                               
                                GROUP BY " . DB_TBL_TUTORS_RECAPS . ".id
                                ORDER BY " . DB_TBL_TUTORS_RECAPS . ".created DESC ";

    $totallogs      =   $db->query($sql);
    $filename       =   "Tutoring_Log.xls";
    $contents       =   "Recap# \t Tutor Name \t Client Name \t Child Name \t Type of tutoring \t Date of Tutoring session \t Hours tutored \t Billable Travel \t Billable Additional \t Total Billable \t Client Rate \t Tutor Pay Rate \t  \n";
    $contents       .=  "  \n";

    while($tutorRecords = $db->fetchNextObject($totallogs)){

        $contents .= "".$tutorRecords->id." \t ".$tutorRecords->tutor_first_name.' '.$tutorRecords->tutor_last_name." \t ".$tutorRecords->first_name.' '.$tutorRecords->last_name." \t ".$tutorRecords->first.' '.$tutorRecords->last." \t ".$globalsConstant['type_of_tutoring'][$tutorRecords->type_of_tutoring]." \t ".date(MDY,$tutorRecords->date_of_tutoring_session)." \t ".str_replace('.',':',$tutorRecords->hours_tutored)." \t ".str_replace('.',':',$tutorRecords->billable_travel)." \t ".str_replace('.',':',$tutorRecords->billable_additional)." \t ".str_replace('.',':',$tutorRecords->total_billable)." \t ".CURRENCY.$tutorRecords->rate." \t  ".CURRENCY.$tutorRecords->tutor_pay_rate."  \t \n";

    }

    header('Content-type: application/ms-excel');
    header('Content-Disposition: attachment; filename='.$filename);
    echo $contents;
      ?>
于 2011-03-23T12:38:06.470 に答える