我正在使用现有的Excel文件,第一行包含纯文本,稍后将用作模板。然后我将一些列格式更改为货币,会计,日期... e.t.c。现在我在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不太好,所以我可能会以错误的方式设置列格式。基本上我点击了选择列的列字母,然后在上面的下拉列表中更改了格式。如果这是错的,请告诉我。
答案 0 :(得分:-2)