libxlsxwriter for Clarion

Программы на Clarion, шаблоны, библиотеки и пр.

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2301
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 17 раз

libxlsxwriter for Clarion

Сообщение Губин Игорь »

Напишите свой subclass вызова методов XLSXWriter
Лень. Слишком много переделывать в кодах, ежели по уму делать. А так тупо берёшь и переставляешь... :idied:
Это я только кажусь дураком! На самом деле я полный идиот!
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL »

Обновил шапку

Сегодня два года, кстати )
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7330
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

libxlsxwriter for Clarion

Сообщение Игорь Столяров »

RaFaeL писал(а): 12 Февраль 2019, 19:23Сегодня два года, кстати )
Спасибо ! Отличный проект ! :)
Но главное: реально востребованный и живой ! :)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2301
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 17 раз

libxlsxwriter for Clarion

Сообщение Губин Игорь »

Игорь Столяров писал(а): 12 Февраль 2019, 20:40Спасибо ! Отличный проект !
А глюки в библиотеке есть! :D

worksheet#=xlsx.AddSheet('...') имеет ограничения на длину строки. Причём, вылетает по памяти
Последний раз редактировалось Губин Игорь 13 Февраль 2019, 7:48, всего редактировалось 1 раз.
Это я только кажусь дураком! На самом деле я полный идиот!
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL »

Губин Игорь писал(а): 12 Февраль 2019, 22:50worksheet#=xlsx.AddSheet('...') имеет ограничения на длину строки. Причём вылетает по памяти
http://libxlsxwriter.github.io/workbook ... 030ecc3c2e
The worksheet name must be a valid Excel worksheet name, i.e. it must be less than 32 character
http://libxlsxwriter.github.io/workbook ... 140c434031

Это?
Сдается мне, что worksheet# в вашем примере будет =0 а вы это не проверяете и продолжаете дальше вызывать методы
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7330
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

libxlsxwriter for Clarion

Сообщение Игорь Столяров »

Губин Игорь писал(а): 12 Февраль 2019, 22:50worksheet#=xlsx.AddSheet('...') имеет ограничения на длину строки.
Не только. Там ещё есть и ограничения на используемые символы, кстати, как и в самом Microsoft Excel.
Я поэтому всегда сначала проверяю "проблему" через интерфейс Microsoft Excel, а потом уже делаю выводы о глюках и т.д. ;)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL »

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

err#=xlsx.ValidateSheetName('...')
if err#=0
  worksheet#=xlsx.AddSheet('...')
! some code 
end
или

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

worksheet#=xlsx.AddSheet('...')
if worksheet#
! some code 
end
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2301
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 17 раз

libxlsxwriter for Clarion

Сообщение Губин Игорь »

RaFaeL писал(а): 12 Февраль 2019, 23:12Сдается мне, что worksheet# в вашем примере будет =0 а вы это не проверяете и продолжаете дальше вызывать методы
Вылетает у меня, в рабочем приложении, в момент присвоения. Но на тестовом примере - да, повторил с workcheet=0 и вылетает после. В чём разница - не понятно.

А вот за Validate - спасибо. Попробую использовать, хотя, в моём случае, 99% - пустая проверка, всё равно не будет соответствовать.
Это я только кажусь дураком! На самом деле я полный идиот!
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7330
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

libxlsxwriter for Clarion

Сообщение Игорь Столяров »

RaFaeL писал(а): 13 Февраль 2019, 0:12err#=xlsx.ValidateSheetName('...')
Оно как бы да ! Но …
Вот реальный пример из жизни кроликов:
Хочу отправить клиенту его накладные за год, каждая накладная на отдельной закладке
с наименованием почему-то "Накладная № [123] от 18.02.2019 г." и т.д.

В процессе создания отчёта получаю недопустимое наименование закладки и что оно мне с того ?
Здесь бы хорошо поиметь метод, который выполнит не валидацию, а нормализацию наименования закладки.
Т.е. сразу преобразует это наименование в допустимый вид, заменив запрещённые символы, предположим на "_"
(по аналогии с именами файлов, где запрещены символы: \/:*?"<>| )

Т.е. что-то вроде:

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

   worksheet#=xlsx.AddSheet('...' , <NormalizeSheetName = False>)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4562
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

libxlsxwriter for Clarion

Сообщение finsoftrz »

Что наших кроликов останавливает? :-)
Лучше это внутри класса убрать, не надо лишних параметров в вызовах...
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL »

Игорь Столяров писал(а): 18 Февраль 2019, 8:08Здесь бы хорошо поиметь метод, который выполнит не валидацию, а нормализацию наименования закладки.
Ну так у вас же есть свой класс-обертка, там наверняка это можно написать )
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7330
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

libxlsxwriter for Clarion

Сообщение Игорь Столяров »

RaFaeL писал(а): 18 Февраль 2019, 9:19Ну так у вас же есть свой класс-обертка, там наверняка это можно написать
Ну да. Просто думал может проскочить на шару (т.е. сделать в базовом методе) ? ;)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

libxlsxwriter for Clarion

Сообщение RaFaeL »

Базовый метод должен повторять функциональность оригинальной библиотеки )
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7330
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

libxlsxwriter for Clarion

Сообщение Игорь Столяров »

RaFaeL писал(а): 18 Февраль 2019, 9:56Базовый метод должен повторять функциональность оригинальной библиотеки
Согласный я с этим … :) Если номер не прокатил - тогда сделаю сам. :)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2301
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 17 раз

libxlsxwriter for Clarion

Сообщение Губин Игорь »

Игорь Столяров писал(а): 18 Февраль 2019, 10:29Если номер не прокатил - тогда сделаю сам.
Потом - алгоритм в студию. У меня есть аналогичный алгоритм нормализации для имён файлов в похожей ситуации. Т.ч. икебана будет полной
Это я только кажусь дураком! На самом деле я полный идиот!
Ответить