ODS – это открытый формат для электронных таблиц, выполненных в соответствии со стандартом OpenDocument Format (ODF). Формат распространяется на бесплатной основе и использует нормативы Международной организации по стандартизации. Стандарт был разработан индустриальным сообществом OASIS и основан на XML-формате. 1 мая 2006 года принят как международный стандарт ISO/IEC 26300. 21 декабря 2010 года ODF принят как стандарт РФ ГОСТ Р ИСО/МЭК 26300-2010 "Информационная технология. Формат Open Document для офисных приложений (OpenDocument) v1.0". Многие государства приняли ODF в качестве государственного стандарта.
Электронные таблицы ODF (одна из разновидностей ODS) являются простыми файловыми объектами на интерактивной основе, используемыми для анализа, организации и хранения всевозможных разновидностей данных на базе таблиц.
ODS-ресурсы можно открывать любым современным офисным пакетом,OpenOffice и LibreOffice Suite и MS Office (начиная с 2007 года).
C 2014 года в веб-приложениях Google Docs, Sheets и Slides появилась поддержка стандарта ODF. Теперь можно открывать, редактировать и сохранять файлы с расширениями .odt (текстовые документы), .ods (электронные таблицы) и .odp (презентации). На телефонах и планшетах под управлением Android наиболее полная поддержка файлов ods реализована в программе AndrOpen Office.
Каждый документ ODF представляет собой архив zip, поэтому, чтобы проникнуть внутрь этого документа, достаточно переименовать расширение документа на zip и открыть этот архив любым zip-архиватором. После чего мы увидим, как минимум, пять xml-файлов и несколько каталогов.
В этих xml-файлах, кроме непосредственного содержания документа, имеются так называемые метаданные. Это дополнительная информация, которая позволяет задать тексту определённые параметры. Например, тип и размер шрифта, положение на странице, параметры печати или вывода на экран монитора.
Наибольшую популярность сейчас приобретает стандарт описания метаинформации XML (eXtend Markup Language). Основным требованием этого стандарта как раз и является принцип "юзерфрендли": xml-документы должны быть легко читаемы с помощью простейших текстовых процессоров, а также xml-разметка должна быть простой для понимания простым человеком.
ODF является одной из многочисленных реализаций стандарта XML. Поэтому, открыв odf-документ как zip-архив, разобраться со структурой файлов и папок по их названиям будет не слишком большой проблемой. Особенно для тех, кто хоть раз в своей жизни создавал html-странички, ну хотя бы на уровне "я и моя кошка". Главный файл с содержанием - это content.xml, файл стиля - style.xml. В папках могут находиться мультимедийные файлы: картинки, аудио-, видеофайлы. В общем, документ ODF представляет собой что-то вроде веб-сайта времён статических html-страничек.
Раз с самим форматом разобрались, то как же сохранить отчёт с расширением ods? На самом деле всё просто, самые простые документы можно создавать, взяв в качестве “донора” пустой документ и разрахивировав его, как указано выше. Стандарт, напомню, открытый. Ну, или нашим любимым способом.
Ещё до сохранения в .ods у вас уже должен быть собран проект с внедрённым FastReport c компонентом “экспорт в Open Documents Spreadsheet” и реализован отчёт (по созданию отчётов есть отдельная статья). Ещё раз уточню - да, вы можете в качестве источника данных для отчёта использовать внутренние источники приложения и базы данных. Запустили и в предпросмотре вызываем экспорт (в конце статьи есть способ сохранить ODS сразу из кода), должно появиться такое окошко настроек:
Средства FastReport помогают выбрать, какие страницы нашего документа отправить в Excel, диапазон или только определённые страницы.
Настройки экспорта – большее визуальное соответствие начальному варианту (WYSIWYG), page breaks - разрывы страниц, continuous - непрерывный документ с пропуском промежуточных заголовков и подвалов страниц, background - экспорт графических объектов, присвоенных фону страницы отчета.
Традиционно можно указать, куда мы хотим отправить файл. Экспортировать его в память компьютера, на электронную почту, в облако или же в FTP.
Открыть после экспорта – результирующий файл будет открыт сразу же после экспорта программой, которая стоит по умолчанию для открытия ODS -документов.
Сохранение в ODS | |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
procedure TForm1.Button1Click(Sender: TObject); begin {Формируем отчёт. Перед экспортом отчёт необходимо обязательно сформировать} frxReport1.PrepareReport(); {Устанавливаем диапазон экспортируемых страниц. По умолчанию экспортируются все страницы сформированного отчёта} frxODSExport1.PageNumbers := '2-3'; {Устанавливаем, нужно ли формировать непрерывный документ} frxODSExport1.SingleSheet := False; {Устанавливаем, экспортировать ли разрывы страниц в пределах листа книги, чтобы страницы при печати соответствовали страницам сформированного отчёта} frxODSExport1.ExportPageBreaks := True; {Устанавливаем WYSIWYG} frxODSExport1.Wysiwyg := True; {Устанавливаем, нужно ли экспортировать фоновое изображение страницы} frxODSExport1.Background := True; {Устанавливаем, нужно ли открывать результирующий файл после экспорта} frxODSExport1.OpenAfterExport := False; {Устанавливаем, нужно ли отображать прогресс экспорта (показывать, какая страница в данный момент экспортируется)} frxODSExport1.ShowProgress := False; {Устанавливаем, нужно ли отображать окно диалога с настройками фильтра экспорта} frxODSExport1.ShowDialog := False; {Устанавливаем имя результирующего файла.} {Обратите внимание на то, что если не установить имя файла и отключить показ диалогового окна фильтра экспорта,} {то всё равно будет отображён диалог выбора имени файла} frxODSExport1.FileName := 'C:\Output\test.ods'; {Экспортируем отчёт} frxReport1.Export(frxODSExport1); end; |
Вот так быстро и легко можно заставить ваше приложение генерировать документы современного общемирового стандарта.