我正在使用现有的 Excel 文件,第一行包含纯文本,稍后用作模板。然后我将一些列格式更改为货币、会计、日期...等 但是在保存的文件中,新创建的行中的所有单元格似乎都被标记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不太好,所以我可能以错误的方式设置了列格式。基本上我点击了选择列的列字母,然后在上面的下拉列表中更改了格式。如果这是错误的,请告诉我。