3

後でテンプレートとして使用するために、最初の行にプレーン テキストを含む既存の Excel ファイルを使用しています。次に、いくつかの列形式を通貨、会計、日付などに変更しました。現在、このファイルを phpExcel にロードし、データベースからこのファイルにデータを入力して、新しい名前で保存しています。ただし、保存されたファイルでは、新しく作成された行のすべてのセルがマークされているように見えますgeneralが、元のプレーン テキスト行にはまだ正しい形式が割り当てられているようです。

私のコード:

$xl_tmplt = ((isset($_REQUEST['excel_template']) && $_REQUEST['excel_template'] != "") 
    ? $_REQUEST['excel_template'] 
    : "report_tab1.xlsx");

require_once 'includes/classes/PHPExcel/PHPExcel.php';

$cacheMethod   = PHPExcel_CachedObjectStorageFactory:: cache_to_phpTemp;
$cacheSettings = array('memoryCacheSize' => '8MB');
PHPExcel_Settings::setCacheStorageMethod($cacheMethod, $cacheSettings);

$tmp_workbook = PHPExcel_IOFactory::load($tmp_folder_path . '/templates/' . $xl_tmplt);
$tmp_workbook->setActiveSheetIndex(0);

$sheet = $tmp_workbook->getActiveSheet();
$sheet->fromArray($arr, '', 'A2');

$objWriter = PHPExcel_IOFactory::createWriter($tmp_workbook, 'Excel2007');
$objWriter->save($tmp_folder_path . "output/$filename");

$result['type'] = "success";
$result['msg']  = "The file was successfully created.";

事前定義された列形式の Excel ファイルを読み込んで、それを使用して新しい Excel を生成する方法はありますか? または、生成中に列またはセル範囲のフォーマットを変更/設定しますか?

PS: 私は Excel があまり得意ではないので、列の書式を間違った方法で設定した可能性があります。基本的に、列を選択する列の文字をクリックして、上のドロップダウンでフォーマットを変更しました。これが間違っている場合は、お知らせください。

4

1 に答える 1

-2

行とセルのスタイルを設定する例については、以下のリンクを確認してください

http://phpexcel.codeplex.com/workitem/7333

更新: 数値、テキスト、日付、通貨の書式設定については、以下のリンクを確認してください。

PHPExcel の書式設定

于 2013-03-29T10:43:42.413 に答える