Сохранение в xls - Native Excel
Модератор: Модераторы
Сохранение в xls - Native Excel
Связался с разработчиками Native Excel (выгрузка-загрузка в xls без ОЛЕ). Они согласились попробовать перевести их компонент на FreePascal и справшивают следующее:
"Я хотел узнать как в Free Pascal с поддержкой unicode, и поддерживает ли он следующие типы: interface, variant?
И есть ли какoе то Defined значение времени компиляции чтобы определить что это FreePascal
{$IFDEF xxxx}
//это Free Pascal
делаем что то только для Free Pascal
{$ENDIF}"
Хотел бы, чтобы мне помогли составить правильный ответ. По пунктам, что знаю:
1 unicode - есть тип WideString. Еще была какая-то директива компилятору - я не использовал - напомните плиз.
2. interface - я не знаю, не работал.
3. variant - есть, но есть подводные камни. В отличие от Делфи будет выдавать ошибки при операциях int+float, int+unassigned
4. {$ifdef FPC}
"Я хотел узнать как в Free Pascal с поддержкой unicode, и поддерживает ли он следующие типы: interface, variant?
И есть ли какoе то Defined значение времени компиляции чтобы определить что это FreePascal
{$IFDEF xxxx}
//это Free Pascal
делаем что то только для Free Pascal
{$ENDIF}"
Хотел бы, чтобы мне помогли составить правильный ответ. По пунктам, что знаю:
1 unicode - есть тип WideString. Еще была какая-то директива компилятору - я не использовал - напомните плиз.
2. interface - я не знаю, не работал.
3. variant - есть, но есть подводные камни. В отличие от Делфи будет выдавать ошибки при операциях int+float, int+unassigned
4. {$ifdef FPC}
-
webveter
- незнакомец
- Сообщения: 2
- Зарегистрирован: 19.02.2008 15:03:38
- Откуда: Киев
- Контактная информация:
Последнее время практически отказался от любых компонент для формирования документов MS Office. OLE тоже не использую.
Просто как миссионер пропагандирую свой способ
Это формирование документов MS Office в виде простых текстовых файлов. Поднимал тему на разных форумах. В результате вот такая последовательность постов:
Формирование отчетов в форматах MS Office без использования MS Office
Формирование документов Word и Excel на сервере Django
MS Word и web-фреймворк. Продолжение
Просто как миссионер пропагандирую свой способ
Это формирование документов MS Office в виде простых текстовых файлов. Поднимал тему на разных форумах. В результате вот такая последовательность постов:
Формирование отчетов в форматах MS Office без использования MS Office
Формирование документов Word и Excel на сервере Django
MS Word и web-фреймворк. Продолжение
-
Bohdan
- новенький
- Сообщения: 87
- Зарегистрирован: 11.05.2005 11:31:46
- Откуда: Ukraine, Kyiv
- Контактная информация:
А никто не сталкивался с какими-то компонентами, облегчающими сей процесс?
Я в не в ексел, а в ворд данные експорчу...
Проблем не возникает. Использую XML документ (расширение .DOC ставлю, что бы пользователя не смущало).
Ты возми сохрани XLS документ как XML документ, загляни в текстовом редакторе во внутрь и со всем разберешся....
ЗЫ: Если потребуется, то могу с графикой помочь (я типа XMLCanvas сделал)
-
webveter
- незнакомец
- Сообщения: 2
- Зарегистрирован: 19.02.2008 15:03:38
- Откуда: Киев
- Контактная информация:
tria
Рекомендую именно в MHT. Можно включать графику, формулы, разбивку на страницы, диаграммы... В блоге описал. Объединение ячеек и все остальное - сделай что надо в Word/Excel - сохрани в MHT - открой блокнотом и посмотри как надо делать программно.
Для использования примитивных шаблонов хитрости не надо. Файл разбивается на 3 части. Header и Footer постоянны. А средняя часть (body) и есть та часть, которую надо сформировать. Как склеить 3 куска текста надеюсь пояснять не надо
А вообще подумываю для построения отчетов прикрутить питоновские шаблоны. Уж больно удобно. Видел для дельфы компоненту для подключения питона.
У меня большое приложение на дельфах и все, что последнее время меняется - это отчеты. По этому удобнее подключить под отчеты интерплетируемый язык. Чтобы из-за каждого чиха не компилить приложение.
Рекомендую именно в MHT. Можно включать графику, формулы, разбивку на страницы, диаграммы... В блоге описал. Объединение ячеек и все остальное - сделай что надо в Word/Excel - сохрани в MHT - открой блокнотом и посмотри как надо делать программно.
Для использования примитивных шаблонов хитрости не надо. Файл разбивается на 3 части. Header и Footer постоянны. А средняя часть (body) и есть та часть, которую надо сформировать. Как склеить 3 куска текста надеюсь пояснять не надо
А вообще подумываю для построения отчетов прикрутить питоновские шаблоны. Уж больно удобно. Видел для дельфы компоненту для подключения питона.
У меня большое приложение на дельфах и все, что последнее время меняется - это отчеты. По этому удобнее подключить под отчеты интерплетируемый язык. Чтобы из-за каждого чиха не компилить приложение.
-
Bohdan
- новенький
- Сообщения: 87
- Зарегистрирован: 11.05.2005 11:31:46
- Откуда: Ukraine, Kyiv
- Контактная информация:
webveter
Я не согласен на счет MHT, все таки XML предпочтительней:
1) Новый формат майкософт офиса это ексемель
2) У оупенофиса также основной формат XML
3) Если с офиса 2007 сохранить файл в режиме совместимости с офисом 2003, он сохраняется как XML, т.е. XML позволяет практически все...
Есть бесплатный RemObject Script (как по мне очень качественная штука), зачем другой язык?под отчеты интерплетируемый язык
Я не согласен на счет MHT, все таки XML предпочтительней:
1) Новый формат майкософт офиса это ексемель
2) У оупенофиса также основной формат XML
3) Если с офиса 2007 сохранить файл в режиме совместимости с офисом 2003, он сохраняется как XML, т.е. XML позволяет практически все...
Зато если сохранять документ в чистом HTML, то его можно посмотреть под любой ОС, там где есть браузер.
В подавляющем большинстве случаев нужны только самые общеупотребительные свойства форматирования - название\величина шрифта, выравнивание, таблицы (с заголовками или без - неважно), выделение цветом участка кода.
Впрочем, не настаиваю, если нужно XML, пусть будет XML.
Просто я уже несколько лет делаю все отчёты исключительно в HTML и ни разу не пришлось напрягаться для какого-нибудь прибамбаса - чистый текст и ничего более...
В подавляющем большинстве случаев нужны только самые общеупотребительные свойства форматирования - название\величина шрифта, выравнивание, таблицы (с заголовками или без - неважно), выделение цветом участка кода.
Впрочем, не настаиваю, если нужно XML, пусть будет XML.
Никогда небыл веб-программистом и никогда не изучал формат html.
Поверьте, по сравнению с Excel это совершеннейший пустяк.
Для начала можно почитать вот этот справочник http://html.manual.ru/. Там практически по всем элементам HTML даны понятные описания.
-
Bohdan
- новенький
- Сообщения: 87
- Зарегистрирован: 11.05.2005 11:31:46
- Откуда: Ukraine, Kyiv
- Контактная информация:
Вот приведу пример в XML (кусочек файла):
Задаются параметры шрифта:
Собственно сама табличка, элемент №5 использует заданный ранее шрифт :
Задаются параметры шрифта:
Код: Выделить всё
<Style ss:ID="s65">
<Font ss:FontName="Calibri" x:CharSet="204" x:Family="Swiss" ss:Size="16"
ss:Color="#000000" ss:Bold="1"/>
</Style>
</Styles>
Собственно сама табличка, элемент №5 использует заданный ранее шрифт :
Код: Выделить всё
<Worksheet ss:Name="п╥п╦я│я┌1">
<Table ss:ExpandedColumnCount="1" ss:ExpandedRowCount="7" x:FullColumns="1"
x:FullRows="1" ss:DefaultRowHeight="15">
<Row ss:AutoFitHeight="0">
<Cell><Data ss:Type="Number">1</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0">
<Cell><Data ss:Type="Number">2</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0">
<Cell><Data ss:Type="Number">3</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0">
<Cell><Data ss:Type="Number">4</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0">
<Cell ss:StyleID="s65"><Data ss:Type="Number">5</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0">
<Cell><Data ss:Type="Number">6</Data></Cell>
</Row>
<Row ss:AutoFitHeight="0">
<Cell><Data ss:Type="Number">7</Data></Cell>
</Row>
</Table>
