25 / 19 / 8
Регистрация: 05.04.2019
Сообщений: 338
|
|||||||||||
1 | |||||||||||
LibXL - на определённой ячейке таблицы ломается чтение из таблицы программа10.12.2020, 17:34. Показов 1596. Ответов 12
Метки нет (Все метки)
Суть функции в чтении ячеек excel и помещении в JSON. Но на определённой ячейке таблицы ( на скрине выделил красным ) - программа ломается - выдаёт пустой текст в функцию конвертации Unicode to UTF - 8 (нужно для работы с JSON).
ОС: Win 10 Pro Microsoft Visual Studio 2019 Библиотека Excel: https://www.libxl.com/home.html Библиотека JSON: https://github.com/nlohmann/json Функция чтения таблицы:
0
|
10.12.2020, 17:34 | |
Ответы с готовыми решениями:
12
Автоматически изменить значение в определенной ячейке таблицы Как из Таблицы содержащейся в датасет получить информацию находящуюся в определённой ячейке Как привязать конкретный combobox компонента к определённой ячейке таблицы Excel? Включите в программу меню, состоящее из семи пунктов: чтение таблицы (из файла), запись таблицы (в файл), ввод таблицы |
25 / 19 / 8
Регистрация: 05.04.2019
Сообщений: 338
|
|
10.12.2020, 17:39 [ТС] | 2 |
.xls
0
|
6579 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
10.12.2020, 17:51 | 3 |
Наверное в том, что когда sheet->readStr(row, col) возвращает nullptr, ты не проверяешь и вызываешь convert, в котором срабатывает assert
0
|
25 / 19 / 8
Регистрация: 05.04.2019
Сообщений: 338
|
|||||||||||
10.12.2020, 18:02 [ТС] | 4 | ||||||||||
oleg-m1973, я писал проверки, даже внутри convert:
0
|
6579 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
||||||
10.12.2020, 18:05 | 5 | |||||
Не везде, значит писал
1
|
25 / 19 / 8
Регистрация: 05.04.2019
Сообщений: 338
|
||||||
10.12.2020, 18:07 [ТС] | 6 | |||||
Благодарю, получилось.
Могу поинтересоваться почему проверки которые я писал в сообщении выше не сработали на пару с:
0
|
6579 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
10.12.2020, 18:12 | 7 |
Добавлено через 37 секунд Где у тебя здесь проверка на nullptr?
0
|
25 / 19 / 8
Регистрация: 05.04.2019
Сообщений: 338
|
||||||
10.12.2020, 20:26 [ТС] | 8 | |||||
Вот
0
|
6579 / 4564 / 1843
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
10.12.2020, 20:28 | 9 |
В том коде, который ты показал вначале, этого нет. И у тебя там несколько вызовов sheet->readStr
0
|
25 / 19 / 8
Регистрация: 05.04.2019
Сообщений: 338
|
||||||
10.12.2020, 20:49 [ТС] | 10 | |||||
Да, нету. Но я пробовал именно с таким фрагментом кода :
0
|
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
10.12.2020, 21:43 | 11 |
с таким фрагментом кода всё в порядке.
если с таким фрагментом кода у тебя всё равно срабатывает ассерт, значит дело не в этом фрагменте кода. значит ассерт срабатывает где-то в другом месте. значит ты где-то ещё накосячил с указателем.
1
|
18844 / 9843 / 2408
Регистрация: 30.01.2014
Сообщений: 17,285
|
||||||
10.12.2020, 22:00 | 12 | |||||
Значит convert где-то еще вызывается с nullptr помимо этой вашей проверки.
Добавлено через 15 минут SkYMaaN, вообще говоря ассерт в такой ситуации показывает где вы накосячили в логике программы. Тем, что вы заглушили его явной if-проверкой
Разберитесь сначала где именно точно должны быть nullptr, ассерт вам в этом поможет. И только потом при необходимости глушите их проверкой.
1
|
8739 / 4317 / 960
Регистрация: 15.11.2014
Сообщений: 9,760
|
|
10.12.2020, 22:09 | 13 |
конкретно в функции convert такая проверка не нужна, и только вредит.
0
|
10.12.2020, 22:09 | |
10.12.2020, 22:09 | |
Помогаю со студенческими работами здесь
13
Как указать в запросе имя таблицы, записанное в ячейке этой таблицы Написать обработчик событий, чтобы при клике на ячейке таблицы в ячейке появилась картинка. Таблица в ячейке таблицы Запрос в ячейке таблицы Доступ к ячейке таблицы Картинка в ячейке таблицы Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |