Страница 43 из 61
libxlsxwriter for Clarion
Добавлено: 11 Февраль 2019, 16:02
Губин Игорь
Напишите свой subclass вызова методов XLSXWriter
Лень. Слишком много переделывать в кодах, ежели по уму делать. А так тупо берёшь и переставляешь...
libxlsxwriter for Clarion
Добавлено: 12 Февраль 2019, 19:23
RaFaeL
Обновил шапку
Сегодня два года, кстати )
libxlsxwriter for Clarion
Добавлено: 12 Февраль 2019, 20:40
Игорь Столяров
RaFaeL писал(а): ↑12 Февраль 2019, 19:23Сегодня два года, кстати )
Спасибо ! Отличный проект !
Но главное: реально востребованный и живой !
libxlsxwriter for Clarion
Добавлено: 12 Февраль 2019, 22:50
Губин Игорь
Игорь Столяров писал(а): ↑12 Февраль 2019, 20:40Спасибо ! Отличный проект !
А глюки в библиотеке есть!
worksheet#=xlsx.AddSheet('...') имеет ограничения на длину строки. Причём, вылетает по памяти
libxlsxwriter for Clarion
Добавлено: 12 Февраль 2019, 23:12
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 а вы это не проверяете и продолжаете дальше вызывать методы
libxlsxwriter for Clarion
Добавлено: 13 Февраль 2019, 0:01
Игорь Столяров
Губин Игорь писал(а): ↑12 Февраль 2019, 22:50worksheet#=xlsx.AddSheet('...') имеет ограничения на длину строки.
Не только. Там ещё есть и ограничения на используемые символы, кстати, как и в самом Microsoft Excel.
Я поэтому всегда сначала проверяю "проблему" через интерфейс Microsoft Excel, а потом уже делаю выводы о глюках и т.д.
libxlsxwriter for Clarion
Добавлено: 13 Февраль 2019, 0:12
RaFaeL
Код: Выделить всё
err#=xlsx.ValidateSheetName('...')
if err#=0
worksheet#=xlsx.AddSheet('...')
! some code
end
или
Код: Выделить всё
worksheet#=xlsx.AddSheet('...')
if worksheet#
! some code
end
libxlsxwriter for Clarion
Добавлено: 13 Февраль 2019, 7:49
Губин Игорь
RaFaeL писал(а): ↑12 Февраль 2019, 23:12Сдается мне, что worksheet# в вашем примере будет =0 а вы это не проверяете и продолжаете дальше вызывать методы
Вылетает у меня, в рабочем приложении,
в момент присвоения. Но на тестовом примере - да, повторил с workcheet=0 и вылетает после. В чём разница - не понятно.
А вот за Validate - спасибо. Попробую использовать, хотя, в моём случае, 99% - пустая проверка, всё равно не будет соответствовать.
libxlsxwriter for Clarion
Добавлено: 18 Февраль 2019, 8:08
Игорь Столяров
RaFaeL писал(а): ↑13 Февраль 2019, 0:12err#=xlsx.ValidateSheetName('...')
Оно как бы да ! Но …
Вот реальный пример из жизни кроликов:
Хочу отправить клиенту его накладные за год, каждая накладная на отдельной закладке
с наименованием почему-то "Накладная № [123] от 18.02.2019 г." и т.д.
В процессе создания отчёта получаю недопустимое наименование закладки и что оно мне с того ?
Здесь бы хорошо поиметь метод, который выполнит не валидацию, а нормализацию наименования закладки.
Т.е. сразу преобразует это наименование в допустимый вид, заменив запрещённые символы, предположим на "_"
(по аналогии с именами файлов, где запрещены символы: \/:*?"<>| )
Т.е. что-то вроде:
Код: Выделить всё
worksheet#=xlsx.AddSheet('...' , <NormalizeSheetName = False>)
libxlsxwriter for Clarion
Добавлено: 18 Февраль 2019, 9:17
finsoftrz
Что наших кроликов останавливает?
Лучше это внутри класса убрать, не надо лишних параметров в вызовах...
libxlsxwriter for Clarion
Добавлено: 18 Февраль 2019, 9:19
RaFaeL
Игорь Столяров писал(а): ↑18 Февраль 2019, 8:08Здесь бы хорошо поиметь метод, который выполнит не валидацию, а нормализацию наименования закладки.
Ну так у вас же есть свой класс-обертка, там наверняка это можно написать )
libxlsxwriter for Clarion
Добавлено: 18 Февраль 2019, 9:32
Игорь Столяров
RaFaeL писал(а): ↑18 Февраль 2019, 9:19Ну так у вас же есть свой класс-обертка, там наверняка это можно написать
Ну да. Просто думал может проскочить на шару (т.е. сделать в базовом методе) ?
libxlsxwriter for Clarion
Добавлено: 18 Февраль 2019, 9:56
RaFaeL
Базовый метод должен повторять функциональность оригинальной библиотеки )
libxlsxwriter for Clarion
Добавлено: 18 Февраль 2019, 10:29
Игорь Столяров
RaFaeL писал(а): ↑18 Февраль 2019, 9:56Базовый метод должен повторять функциональность оригинальной библиотеки
Согласный я с этим …
Если номер не прокатил - тогда сделаю сам.
libxlsxwriter for Clarion
Добавлено: 18 Февраль 2019, 10:53
Губин Игорь
Игорь Столяров писал(а): ↑18 Февраль 2019, 10:29Если номер не прокатил - тогда сделаю сам.
Потом - алгоритм в студию. У меня есть аналогичный алгоритм нормализации для имён файлов в похожей ситуации. Т.ч. икебана будет полной