Задать вопрос

SpreadSheet_Excel_Writer и вкладки (листы) с русскими именами

Задача была предельно проста. Сформировать Excel-файл на основе данных из таблицы. В принципе ничего сложно. Был взят PEAR-модуль SpreadSheet_Excel_Writer оттестирован и запущен. И под конец работы выяснилось, что никоим образом не получается создать вкладку (новый лист) с именем на русском языке.
<?php
require_once 'Spreadsheet/Excel/Writer.php';
$workbook = new Spreadsheet_Excel_Writer("result.xls");
$workbook->setVersion(8);
$worksheet =& $workbook->addWorksheet("Новый лист1");
$worksheet->setInputEncoding('utf-8');
$worksheet->write(0,0,"Привет, мир!");
$workbook->close();
?>

Таким образом «Новый лист» будет отображен кракозябрами, а «Привет, мир!» вполне уютно будет жить на листе.
Второй день подряд ковыряюсь. А теперь, собственно, вопрос: Сталкивался кто-либо с такой задачей? Удалось реализовать? Если да, то какую библиотечку использовали. А может Вы сумели вылечить SpreadSheet_Excel_Writer?
  • Вопрос задан
  • 4354 просмотра
Подписаться 4 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 3
shurshur
@shurshur
Сисадмин, просто сисадмин...
PHPExcel получше будет.
Ответ написан
Комментировать
@Jazzist
Аналогично, названия вкладок на русском не получаются, хотя в самой таблице — без проблем.
Ответ написан
setInputEncoding вызывается после создания листа и влияет только на его содержимое. Для названия листа нужно принудительно вызывать iconv в 1251
$worksheet =& $workbook->addWorksheet(iconv(«UTF-8», «CP1251», «Привет, лист»));
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽