Страница 17 из 62

libxlsxwriter for Clarion

Добавлено: 12 Февраль 2017, 14:06
RaFaeL
Создание файлов Excel (xlsx) без использования Excel на основе проекта libxlsxwriter (https://libxlsxwriter.github.io). Можно создавать файлы, листы в них, писать данные (текст (в т.ч. русский), число, дата, время), ставить форматирование (цвет, рамки, шрифт, выравнивание, размер), объединять ячейки, фиксировать и скрывать строки и колонки, вставлять изображения, рисовать графики (диаграммы), устанавливать настройки печати и свойства документа.
Для конвертирования "картинок" форматов используется библиотека Tpicture от Taboga, у кого этого класса нет замените на что-то свое

libxlsxwriter for Clarion

Добавлено: 15 Январь 2018, 7:39
Игорь Столяров
RaFaeL писал(а): 14 Январь 2018, 23:50Крайний выложенный пример уже с графиками
Понял. LibXLSXWriter обновил. Всё OK, пример собрался и открылся без проблем.
Очень красиво ! :) Версия Microsoft Office у меня самая обычная ... Win10 x32, ну и такой же MSO:

avans.jpg

libxlsxwriter for Clarion

Добавлено: 15 Январь 2018, 10:21
RaFaeL
Excel2016.PNG
Excel2016.PNG (1.08 КБ) 3085 просмотров
Этот открывает, поищу ваш релиз )
Было бы неплохо, если бы вы сами нашли, на каких функциях библиотека генерит неоткрываемый в вашей версии офиса файл. исходники же все есть

libxlsxwriter for Clarion

Добавлено: 15 Январь 2018, 12:46
Игорь Столяров
Кстати не факт, что дело в версии Microsoft Excel.
Визуализация графики при открыти XLSX может задействовать какие-то перекошенные компоненты Excel,
может быть прописан скрипт на открытие файла, может быть проблема с антивирусом, если он контролирует скрипты
в Micosoft Office (меня KIS уже забодал тем, что постоянно лезет в файлы Outlook и их потом нельзя переместить).

libxlsxwriter for Clarion

Добавлено: 15 Январь 2018, 20:09
RaFaeL
Обновил стартовый пост

libxlsxwriter for Clarion

Добавлено: 15 Январь 2018, 20:35
Игорь Столяров
Огласите пжалуйста весть список ! ;) (изменений в версиях)

libxlsxwriter for Clarion

Добавлено: 15 Январь 2018, 20:54
RaFaeL
А я его не веду ))

libxlsxwriter for Clarion

Добавлено: 15 Январь 2018, 21:01
Игорь Столяров
Таки может начать вести ? ;)
Библиотека за последние пару месяцев хорошо подросла, как раньше "открыл и всё понятно" уже не катит.
И юзеров прибавилось, и для контроля развития полезно. :)
Гипотетически: обновил релиз и что-то перекосило, так хоть примерно знать, что менялось и где смотреть ...

libxlsxwriter for Clarion

Добавлено: 15 Январь 2018, 21:05
RaFaeL
Перекосить ничего не должно, в этот раз только добавлял. Что именно добавлено, легко сравнить по файлу inc, я пользуюсь функцией сравнения файлов в Total Commander, очень удобно

libxlsxwriter for Clarion

Добавлено: 15 Январь 2018, 21:14
Игорь Столяров
Ну, нет - так нет .... Всё же предусмотреть не возможно, куча версий Excel разных поколений и т.д.

Я тоже уже несколько раз налетал на не открываемые в Excel файлы, но всегда причину находил.
В библиотеке (именно в DLL) напрочь отсутствует контроль запрещённых операций, это всё перекладывается
на прикладную программу .... Например, если динамически, от данных прорисовывается структура отчёта,
нужно внимательно отслеживать пересечения областей объединения ячеек (MERGE) и т.д.

libxlsxwriter for Clarion

Добавлено: 16 Январь 2018, 9:26
Игорь Столяров
Всё хорошо, за исключеньем пустяка .... ;)
Есть вопрос, который рано или поздно всё равно придётся решать: поддержка приложений MULTI-DLL.
Сейчас LibXLSXWriter тупо прилинкуется к каждой DLL в проекте и всё вроде работает. Но это ведь не правильно ...
В принципе, в той же опциональной компоненте TPICTURE от TABOGA поддержка MULTI-DLL проектов уже реализована.
Так может быть сделать такую же возможность и в самой LibXLSXWriter ? Спасибо за рассмотрение вопроса. :)

libxlsxwriter for Clarion

Добавлено: 16 Январь 2018, 10:10
RaFaeL
Я в этом (пока) не разбираюсь. Переделайте как должно быть, проверим, посмотрим

libxlsxwriter for Clarion

Добавлено: 16 Январь 2018, 10:48
Игорь Столяров
Там нет ничего военного ...

Код: Выделить всё

! Заменяем для класса 
  LINK('xlsxwriter.clw')
! на
  LINK('xlsxwriter.clw',_XLSXLinkMode_),DLL(_XLSXDllMode_)   
Ну и выставляем в проекте значения _XLSXLinkMode_ и _XLSXDllMode_
Таки вроде и всё ... :)

libxlsxwriter for Clarion

Добавлено: 16 Январь 2018, 11:14
RaFaeL
Шаблон тогда придется еще делать )))

После того, как полностью оберну функционал библиотеки, можно будет и такими вещами заняться

libxlsxwriter for Clarion

Добавлено: 16 Январь 2018, 11:18
Игорь Столяров
RaFaeL писал(а): 16 Январь 2018, 11:14Шаблон тогда придется еще делать
Зачем шаблон ? Что бы выставить в проекте 2 флага ? Не надо шаблон !
Мы (поклонники LibXLSXWriter) не тупые и сами умеем это делать и уже делаем для TPictute. ;)
Это просто можно в коментах к примеру указать, для тех кто совсем тёмный ... ;)

libxlsxwriter for Clarion

Добавлено: 17 Январь 2018, 1:24
vic7tar
У меня Microsoft® Excel® 2016 MSO (16.0.4639.1000), 32-разрядная версия.
Report.xlsx не открывался, ругался как сказали выше. Excel Viewer не ругался и просто не открывал.
Закомментировал две строчки:

Код: Выделить всё

 . . .
            chart.SetTitleName('Линейная диаграмма')
            ! chart.SetTitleNameFont('Arial',15.5,FONT:Underline,-45,color:green)
 . . .
            chart2.SetLabelsPosition(series2,XLSX:POSITION_INSIDE_END)
            ! chart2.SetLabelsFont(series2,'Arial',8.5,FONT:Underline,,color:white) 
 . . .
Похоже не нравятся фонты. После этого Excel и Virwer открывают файл нормально, правда чарты немного портятся.