2013-03-29 51 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 - 無法理解單元格格式和單元格樣式之間的區別 –