В общем то частично проблема решена.
Во первых надо подключить библиотеку php_iconv.dll в разделе Extensions файла php.ini.
В принципе мне этого хватило, но на всякий случай нашел еще один способ:
1. $workbook->setVersion(8);
2. $worksheet->setInputEncoding('CP1251');
3. в Spreadsheet/Excel/Writer.php после строчки 67 (метод send())
дописываем
header("Content-Encoding: windows-1251");
4. Spreadsheet/Excel/Writer/Workbook.php:200 поправить
$this->_codepage = 1200 // FIXME: should change for BIFF8
5. Spreadsheet/Excel/Writer/Workbook.php:1445 поправить
$encoding = 1; // assume there are no Unicode strings
Но! Размер файла теперь может быть не больше < ~8224кб
Может есть у кого средство получше?
Пример работы:
PHP:
include_once('d:/PHP/includes/Spreadsheet/Excel/Writer.php');
$workbook = new Spreadsheet_Excel_Writer();
$workbook->setVersion(8);
$workbook->send('zvit2.xls');
$worksheet =& $workbook->addWorksheet('Звіт 2');
$worksheet->setInputEncoding('CP1251');
$worksheet->write(1, 0, 'русский');
$workbook->close();
-~{}~ 15.03.07 14:17:
Вот окончательное решение всех проблем
http://pear.php.net/bugs/bug.php?id=1572