Косенко Данила Юрьевич (kosenko_danila) wrote,
Косенко Данила Юрьевич
kosenko_danila

Category:

Excel и PHP

Вам вдруг понадобилось сделать на PHP вывод данных из базы в печатную накладную в Excel'е. В качестве примера накладной вам дали xls-файл, взяв его из какой-либо 1:С. Не спешите скачивать всякие библиотеки и классы. Попробуйте переименовать расширение xls в xml. И откройте его обычным редактором. Ничего не напоминает?
Правильно! Это и есть xml-файл. Открываем его как строчку, заменяем ненужные места на нужные. Возможно, даже поставим паттерны подстановки для замены.
Посылаем хедеры (заголовки) браузеру, что грузится Excel'евский файл и выводим эту строчку обычным echo.
Что? Матерится Excel? Оказывается, не совпадает количество строк в файле и в специальном поле. Простой математикой высчитываем нужное количество.

Повторим... Если снова мат, то проблема с кодировкой. Перекодируем исходный файл-шаблон в ANSI (Notepad++ вам в помощь). Укажем кодировку в хедерах.

Я провозился "вслепую", не зная всего этого, целых два часа. Но все-таки сделал!
Теперь моё, весьма скромное, поделие "1:С на PHP" генерирует вполне читабельные отчеты в Excel.
Tags: полезные скрипты, программирование
Subscribe

  • Баллада о мирных людях

    Попалось сегодня. Баллада о мирных людях Мы мирные люди, но наш бронепоезд Стоит на запасном пути.... (слова из песни) Мы мирные люди, но наш…

  • Человеческая фигура

    Просто про пропорции, чтобы не считать головы.

  • Чисто для себя

    Старое видео, как рисовать человеческое тело из воображения. Можно включить русские субтитры, будет понятней. первая и вторая часть Что-то…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 2 comments