[wlx] odbc-wlx - просмотр Access, Excel, CSV файлов
Goto page Previous 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 Next
|
View previous topic :: View next topic |
Author |
Message |
little-brother
Joined: 29 Sep 2021 Posts: 205
|
(Separately) Posted: Fri Feb 25, 2022 12:41 Post subject: |
|
|
Quote: | Таких файлов много |
Покопал немного. При построении списка таблиц, выкидываются те, которые имеют тип не SYSTEM TABLE, чтобы не попадали различные вложенные таблицы. Однако, если в имени листа есть пробелы, то его тип внезапно меняется на TABLE, и потому предположение оказалось неверным. В результате список таблиц был пустым.
Видимо надо по наличию хвоста после $ выкидывать.
Видимо надо действовать более хитро...
P.S. Изменил логику добавления листа в список таблиц: помимо проверки на SYSTEM_TABLE в список попадут и те, которые заканчиваются строго на $'.
Просьба потестировать, в том числе и на таблицах имеющих именнованные диапазоны и фильтры разные. Все ли данные в наличии или может есть что-то лишнее? В Excel не силен, многих его особенностей не знаю.
https://disk.yandex.ru/d/iWOiXPcfwuIDUg |
|
Back to top |
|
|
Destiny
Joined: 15 Dec 2015 Posts: 218
|
(Separately) Posted: Fri Feb 25, 2022 14:06 Post subject: |
|
|
little-brother wrote: | Просьба потестировать |
кажется проблем больше нет.
разве что шероховатости. В названии листов остался знак $ в конце. Если уж по ему идет обрезание, то и его самого логично обрезать))
но если это упрощает использование листов во внутренних процедурах вызовов Select From - то конечно можно не убирать его.
И порядок листов странный. Не тот, что в открытой книге экселя.
У меня: "Export Worksheet", "Лист1", "Sheet2", "Лист 3"
в плагине: 'Sheet2$', 'Лист1$', 'Export Worksheet$', 'Лист 3$' |
|
Back to top |
|
|
little-brother
Joined: 29 Sep 2021 Posts: 205
|
(Separately) Posted: Fri Feb 25, 2022 15:46 Post subject: |
|
|
Quote: | В названии листов остался знак $ в конце |
Кавычки то же, если в имени есть пробелы Да, при запросе данных Excel требует этот знак вопроса и кавычки. По хорошему их надо убрать конечно, т.е. отображать одно имя, а запрашивать по другому. Подумаю, можно ли это сделать как то малой кровью.
Quote: | порядок листов странный |
Это уже издержки ODBC. Он рассматривает книгу как СУБД, где таблицы не имеют порядка - в список они добавляются в том порядке, в каком ODBC их возвращает. Можно конечно его отсортировать по имени, но вот исходный порядок книги не думаю, что можно восстановить. |
|
Back to top |
|
|
Destiny
Joined: 15 Dec 2015 Posts: 218
|
(Separately) Posted: Sat Feb 26, 2022 14:18 Post subject: |
|
|
little-brother wrote: | Кавычки то же, если в имени есть пробелы Да, при запросе данных Excel требует этот знак вопроса и кавычки. По хорошему их надо убрать конечно, т.е. отображать одно имя, а запрашивать по другому. Подумаю, можно ли это сделать как то малой кровью. |
Если они имеют реальный вес при формировании запросов, то фиг с ними. Пусть малая кровь будет значить, что мы будем видеть эти символы в именах листов. Главное, теперь нет проблем с просмотром ранее непросматриваемых файлов)))
Оформляться в релиз будет сборка скоро? |
|
Back to top |
|
|
little-brother
Joined: 29 Sep 2021 Posts: 205
|
(Separately) Posted: Sat Feb 26, 2022 15:22 Post subject: |
|
|
Готово! |
|
Back to top |
|
|
Destiny
Joined: 15 Dec 2015 Posts: 218
|
(Separately) Posted: Mon Mar 07, 2022 23:07 Post subject: |
|
|
w w w . upload.ee/files/13944193/static.xls.html
там странная ошибка опять с именем листа... |
|
Back to top |
|
|
little-brother
Joined: 29 Sep 2021 Posts: 205
|
(Separately) Posted: Tue Mar 08, 2022 00:47 Post subject: |
|
|
Проблема в именах с подчеркиванием: символ _ не требует, чтобы имя таблицы было в кавычках, а я этот аспект забыл учесть и в результате получалось двойное окавычевание.
Фикс - https://disk.yandex.ru/d/xAqXaXgAOuqbuA |
|
Back to top |
|
|
Destiny
Joined: 15 Dec 2015 Posts: 218
|
(Separately) Posted: Tue Mar 08, 2022 11:54 Post subject: |
|
|
Ок, работает! |
|
Back to top |
|
|
Destiny
Joined: 15 Dec 2015 Posts: 218
|
(Separately) Posted: Mon Mar 21, 2022 23:35 Post subject: |
|
|
В тексте ячейки экселя порой есть вставленный принудительно перенос на новую строку. Т.е. текст в обычном виде будучи вписанным - занимал бы всю длину ячейки - если бы мы ее визуально взяли и растянули на много нужных см. для прочтения ее текста. А после нажатия ALT+ENTER в тексте вставляется перенос строки и в ячейке появляется многострочный текст. И так можно уменьшать требуемый размер длины ячейки для прочтения ее содержимого. Так вот плаг такие тексты отображает просто слитно
Нет, я понимаю, что многострочность он не обязан и не умеет поддерживать в рамках одной ячейки виндового table-контрола. НО! может такой символ просто стоит заменить чистым пробелом?
А то в экселе это так:
Пример
много-много
строк
А в плагине это так:
Примермного-многострок
Не фига не читается(((( |
|
Back to top |
|
|
little-brother
Joined: 29 Sep 2021 Posts: 205
|
(Separately) Posted: Tue Mar 22, 2022 00:39 Post subject: |
|
|
Отсутствие многострочности - это ограничение WIndows-контрола.
С заменой переноса строк на пробелы может быть проблема с производительностью. Сейчас когда ячейке отрисовывается, она запрашивает данные из кеша и выдает как есть. Сделать замену в кеше - неправильно, т.к. при копировании строк нужно отдавать оригинальный текст. Поэтому надо либо добавлять еще один кеш, где выполнена замена, либо отдавать текст с заменой на лету. Первый вариант делает код странным. Со вторым - надо либо с памятью колдовать (текст с заменой надо удалять) или будет ограничение в 255 символов, что не очень. Тупик.
По аналогичной причине я остановил разработку ссылок.
Есть вариант добавить всплывающую подсказку, если курсор стоит над ячейкой с переносами. Он мне также не кажется особо удачным.
Самое правильно видимо самому полностью отрисовывать ячейку, но мне с этим разбираться лень (там легко можно накосячить). |
|
Back to top |
|
|
Destiny
Joined: 15 Dec 2015 Posts: 218
|
(Separately) Posted: Thu Mar 24, 2022 12:09 Post subject: |
|
|
Всё понятно))) вопросов больше не имеем!
ЗюЫю
хотя...
little-brother wrote: | Есть вариант добавить всплывающую подсказку, если курсор стоит над ячейкой с переносами. |
Это хоть как-то бы спасло положение дел, имхо.
Но все на усмотрение автора оставим, конечно же. |
|
Back to top |
|
|
Destiny
Joined: 15 Dec 2015 Posts: 218
|
(Separately) Posted: Tue Mar 29, 2022 22:32 Post subject: |
|
|
Хелп! СОС!
Очень занятная ситуация.
Есть два компа. Разных. Капитально. НО тотал со своими плагинами - один и тот же. Своя сборка.
И вот на последнем 0.9.7 сабже один и тот же экселевский файл - ПУСТОЙ!!! Созданный с нуля - пустой файл - на одном компе открывается в плагине, а вот на другом - ооочень молчаливо и наглухо грохает весь тотал. Дамп сохраняет лишь инфу, что в odbc-wlx.wlx!cbNewMain() + 0x4c5c bytes падение зафиксировано. Был бы дебаг вариант плагина - наверное с точностью до строки кода сказал бы что и где... НО чего нет - того нет. Ну и понятно дело - что пересылать вам: тоже не понятно что(((. Сборка же реально одинаковая везде и в полтора гига в архиве.... А на одной копии падает - на другой нет. Падение же воспроизводится даже на пустом файле - т.е. тут ничего особенного.
Как будем лечиться?
Есть визуал студия 2010 на всяк случай. Хоть и сборку делаете под MinGW..
Добавлено спустя 22 минуты:
Проверка 0.9.6 и 0.9.5 показало, что в 6 версии так же есть падение, а вот в 5 никаких проблем. Это все на то самом компе, где и увидел вообще падание. На другом - никакая версия не падает...
ОС на обоих компах - одна и та же: Win10 LTSC build 17763... |
|
Back to top |
|
|
little-brother
Joined: 29 Sep 2021 Posts: 205
|
(Separately) Posted: Wed Mar 30, 2022 03:48 Post subject: |
|
|
Попробуйте - https://disk.yandex.ru/d/P3nsAdJOAf-f7g
Добавил вывод сообщений после каждого этапа и отладочную информацию (убрал флаги -Os и -s и добавил -g). Интересует, что выводит последним.
Студия у меня то же есть, просто как то к Code::Blocks привык, который mingw по умолчанию использует и не такой жирный как Студия.
Quote: | и в полтора гига в архиве |
Хотя кому это я про занимаемое место рассказываю |
|
Back to top |
|
|
Destiny
Joined: 15 Dec 2015 Posts: 218
|
(Separately) Posted: Wed Mar 30, 2022 11:43 Post subject: |
|
|
Инициализация ОК
Соединение установлено
Параметры прочитаны
Компоненты созданы
Список таблиц получен
Найдена таблица
Найдена таблица
Список таблиц построен
Тема и шрифт заданы
Выбран первая строка в списке (шо за акцент? выбран мух? )
WMU_UPDATE_GRID - заголовок окна
Инициализация-ОК
Удалены предыдущие фильтры
Удалены предыдущие колонки
Добавлены кавычки для имени таблицы
ODBC запрос сформирован
ODBC запрос выполнен
ODBC обработка завершена
Обновление кеша выполнено
ДАМП........
И вот еще момент. Хоть сборка и одинаковая, но там, где падает, оказывается, я запускал с ярлыка 32битный тотал.
А вот в 64 битном тотале - плаг уже не падает! Т.е. собака порылась где-то в этой области!
Там идет уже после "Ширина колонок изменена", "Данные обновлены" и показывается окно плагина с требуемой таблицей. |
|
Back to top |
|
|
little-brother
Joined: 29 Sep 2021 Posts: 205
|
(Separately) Posted: Wed Mar 30, 2022 13:31 Post subject: |
|
|
https://disk.yandex.ru/d/a_F0wf_kT8u8tw
Удалил вывод всех сообщений до этого и добавил подробное описание для операций по изменению ширины колонок. Достаточно последнее сообщение, т.к. они все равно по порядку идут.
Я думал, что где то ранее падает, а это похоже все-таки какая особенность Windows (в духе упасть, если окна нет и для него выставляется какой то стиль). |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|