PHPExcel - setTitle с переменной не работает - PullRequest
1 голос
/ 06 сентября 2011

При попытке использовать переменную для задания имени листа с помощью PHPExcel выдается ошибка. Кто-нибудь может помочь?

Вот код, который я использую:

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 ]

3 голосов
/ 13 декабря 2012

Есть некоторые символы, которые PHPExcel не разрешит вам использовать для заголовков вкладок, даже если это разрешено в самом Excel. У меня возникли проблемы со следующими символами, и убедитесь, что заголовки моих вкладок не содержат этих символов: []:?!/\*

Я обнаружил это через опыт и процесс устранения. Там может быть больше символов, которые будут выдавать эту ошибку. Я просто еще не нашел их.

1 голос
/ 19 декабря 2012

Вы не можете использовать любой из этих символов *:/\?[] в заголовке.

Кроме того, максимальная длина заголовка составляет 31 символ, поэтому вам также следует проверить это.

0 голосов
/ 16 декабря 2013
  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)

Вы не можете использовать это в своем параметре

...