2011-09-06 109 views
1

當試圖使用PHPExcel使用變量來設置工作表名稱時,會引發錯誤。誰能幫忙?PHPExcel - setTitle變量不起作用

這裏是我使用的代碼段:

for($i = 0;$i <= 9; $i++){ 
    $objPHPExcel->getActiveSheet()->setCellValue('A1', $i); 

    $objWorksheet = $objPHPExcel->createSheet(); 
    $objWorksheet->setTitle($i); 

    $objPHPExcel->setActiveSheetIndex($i); 
} 

以下是錯誤:

Fatal error: Uncaught exception 'Exception' with message 
    'Invalid character found in sheet title' in ...Worksheet.php:401 
Stack trace: 
    #0 ...Worksheet.php(657): PHPExcel_Worksheet::_checkSheetTitle(1) 
    #1 ...JH-auto-sheets.php(37): PHPExcel_Worksheet->setTitle(1) 
    #2 {main} thrown in ...Worksheet.php on line 401` 

回答

3

有一些字符PHPExcel不會允許你使用的選項卡標題,即使Excel本身允許它。我遇到以下字符的問題,並確保我的標籤標題中不包含這些字符:[]:?!/\*

我通過消除的經驗和過程發現了這一點。那裏可能會有更多的字符會引發這個錯誤。我還沒有找到他們。

1

您不能在標題中使用這些字符中的任何一個*:/\?[]

此外,標題的最大長度爲31個字符,所以你應該檢查一下。

0
array (size=7) 

    0 => string '*' (length=1) 

    1 => string ':' (length=1) 

    2 => string '/' (length=1) 

    3 => string '\' (length=1) 

    4 => string '?' (length=1) 

    5 => string '[' (length=1) 

    6 => string ']' (length=1) 

你不能在你的參數使用