2013-03-29 49 views
3

我正在使用现有的Excel文件,第一行包含纯文本,稍后将用作模板。然后,我将一些列格式更改为货币,会计,日期... e.t.c。现在我在phpExcel中加载这个文件,并将数据从我的数据库填充到这个文件并用一个新名称保存。但在保存的文件中,新创建的行中的所有单元格似乎都标记为general,尽管原始纯文本行似乎仍具有指定的正确格式。与phpexcel如何设置列格式?

我的代码:

$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

请检查下面的链接,例如设置行和单元格样式

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

更新时间: 用来格式化数字,文本,日期和货币,请查看以下链接

PHPExcel Formatting

+0

谢谢,但我并不是在谈论单元格的“样式”,我想改变单元格的格式。 – Bluemagica

+0

我已经更新了PHPExcel支持的可能格式的答案(根据我的知识) – Amit

+1

@Amit - 无法理解单元格格式和单元格样式之间的区别 –