2010-02-04 3 views
0

Мое приложение генерирует некоторые .xls-файлы, и до сих пор я использовал PHPExcel lib. Один из SO рекомендует мне использовать подход this. Проблема в том, что я должен использовать некоторые .xls-шаблоны и добавлять к ним некоторые данные.написание файла XLS с использованием PHP

Кто может помочь мне с некоторыми указателями. Я не понимаю, как работают xlsBOF() и xlsEOF() или должны работать в моем случае.

большое спасибо

ответ

3

Если подход вы используете прямо сейчас работает для вас, не беспокойтесь ни с чем другим.

PHPExcel пишет XML-файлы (или, более точно, zip-файлы, содержащие файлы XML), в новом формате Excel 2007. По этой причине он несовместим со старыми версиями Office (если вы не установите плагин совместимости в более старом офисе).

Что этот код делает, это написать двоичный файл XLS в формате Excel 97 (BIFF8). Хотя это немного взломать. Это не будет корректно работать с проблемами Unicode и так далее. xlsBOF записывает двоичный заголовок файла XLS и xlsEOF нижний колонтитул.

Если вы хотите написать двоичные файлы XLS, вам лучше использовать PEAR Excel Writer. У меня смешанный опыт. Он выполняет эту работу, но чтобы использовать ее в юникоде, вам нужно просмотреть список ошибок для нескольких исправлений, которые исправляют ошибки формата BIFF8 (пакет плохо поддерживается). Это все еще лучше, чем код, с которым вы связаны.

Обновление: PHPExcel поддерживает экспорт также как Excel 97. Я помню, что он был ограничен форматом Office 2007, но, видимо, в настоящее время это не так. Поэтому я бы рекомендовал использовать PHPExcel.

+0

Возможно, я ошибаюсь, но API предлагает PHPExcel создавать сценарии для Excel2007, Excel5, CSV, HTML и PDF. – Gordon

+0

@ Gordon: спасибо за головы. –

+0

@Gordon: он работает, но для создания файла требуется 3-4 секунды. И файл не большой, это всего около 1000 записей (30rows * 30col * 30 листов + некоторые заголовки). –

Смежные вопросы