|
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
|
|
Чтение/запись в Excel с COM OLE C++24.01.2019, 21:21. Показов 60444. Ответов 71
Метки нет (Все метки)
Здравствуйте,
Подскажите пожалуйста, есть ли у кого пример кода чтения и записи данных из/в откртый ексель файл с помощью COM/OLE на чистом С++. Есть микрософтовский пример: https://support.microsoft.com/... -or-import Он создает ексель файл и записывает в него данные, но как записать данные в уже открытый ексель, как этот ексель файл отловить, такого примера нет, а доработать/изменить микрософтовский примера под свою задачу, для меня на данный момент, к сожалению совершенно не возможно, настолько там все сложно. Может кто нибудь делал нечто подобное.
0
|
|
| 24.01.2019, 21:21 | |
|
Ответы с готовыми решениями:
71
Cpp builder-Ole-Excel. WideString пишет в ячейку Excel минус перед нулем Общение с Excel через OLE
|
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
|
| 30.01.2020, 20:54 | |
|
1
|
|
|
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
|
|
| 05.02.2020, 16:09 [ТС] | |
|
Подскажите пожалуйста, я правильно понимаю, что COM не дает возможность работать с файлом екселя, который не открыт ?
0
|
|
|
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
|
||
| 05.02.2020, 16:50 | ||
|
0
|
||
|
|
|||||||||||
| 24.11.2020, 18:04 | |||||||||||
|
Возможно ли забирать и передавать массив Variant-ов по ссылке или указателю (а не по значению)? Ибо операции получения данных и выгрузка на лист Excel дольше чем сам расчет.
Сейчас делаю так: Automation helper function... Кликните здесь для просмотра всего текста
0
|
|||||||||||
|
2 / 2 / 0
Регистрация: 27.04.2015
Сообщений: 60
|
||||||
| 21.01.2021, 14:22 | ||||||
|
Приветствую всех читающих
![]() Пытаюсь работать с Экселем через OLE, а в частности использую функцию AutoWrap со страницы примера автоматизации от MS. При попытках выбрать нужный лист, оно не работает, выдает ошибку гласящую, как я понял, о том что объект не подключен к COM (0x800401FD). Ниже описал последовательность действий ("лишнее" убрал, потому это не полный код). И вот при выборе диапазона ячеек (Range) вылетает ошибка. Если же использовать "ActiveSheet" то работает нормально... Я полагаю ошибка именно в последовательности, но в руководстве к этим командам не нашел никаких оговорок. Пробовал применять к книге и листу "Activate" - без толку (зачем вообще это нужно?). Кликните здесь для просмотра всего текста
0
|
||||||
|
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
|
|||||||
| 21.01.2021, 15:13 [ТС] | |||||||
0
|
|||||||
|
2 / 2 / 0
Регистрация: 27.04.2015
Сообщений: 60
|
|
| 21.01.2021, 15:36 | |
|
Optimus11
Спасибо! Но это как то не соответствует документации Оо ActiveSheet - не должен принимать параметров: https://docs.microsoft.com/en-... ctivesheet Да и выбирать лист по имени не очень удобно, по крайней мере мне хотелось бы по индексу. Должен же быть более "правильный" способ работать с любым листом или я что-то не так понял? А если несколько одноименных листов и в разных книга, то что выберется?
0
|
|
|
|
||||||
| 21.01.2021, 16:22 | ||||||
|
Foton6, вы что-то намудрили.
Вот, все работает нормально, массив забираю с листа нужного индекса
0
|
||||||
|
2 / 2 / 0
Регистрация: 27.04.2015
Сообщений: 60
|
|
| 21.01.2021, 16:54 | |
|
bedvit
Мдаааа, опять видимо моя невнимательность сыграла, сейчас все работает хотя ничего не трогал можно сказать Оо Ну и ладненько, а то я уж было подумал надо каждый объект активировать перед тем как с ним работать О.О
0
|
|
|
2 / 2 / 0
Регистрация: 27.04.2015
Сообщений: 60
|
|
| 22.01.2021, 00:39 | |
|
Опять возник затык...
Пытаюсь очистить выбранный "Range" при помощи "Clear" или "ClearContents", но вылетает ошибка: 0x800a03ec Методом тыка выяснил что это происходит при попытке чистить объединенные ячейки. Попробовал вместо них использовать "Delete", но тогда прилетает диалог предупреждающий о потере данных и необходимости принять волевое решение и нажать да или нет. Как с этим быть подскажите? >_< А пока гуглил приведенный номер ошибки выяснил что она может вылетать если новым экселем (2010+) открыть xls и пытаться манипулировать ячейками в которых первым символом идет " = ". И единственный совет: убедитесь что у вас ни одна ячейка не начинается с "="...
0
|
|
|
2 / 2 / 0
Регистрация: 27.04.2015
Сообщений: 60
|
|
| 22.01.2021, 22:14 | |
|
Хм, если записываемое значение это строка и она начинается с символа "=" то прилетает ошибка 0x80020009.
-6 часов, прелесть.
0
|
|
|
7 / 1 / 1
Регистрация: 06.10.2019
Сообщений: 57
|
|
| 10.04.2021, 21:36 | |
|
Мне кажется, значение (value с англ.) нужно поменять в pXlRange и добавить в Console.WriteLine($@"_CRT_SECURE_NO_WARN INGS"). А вообще, когда ошибка появляется, можно так: "код_ошибки.metanit"
0
|
|
| 10.04.2021, 21:36 | |
|
Чтение из Excel в StringGrid Работа с БД SQLite 3: чтение, запись
Запись и чтение Excel Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки.
Добавлено:
- Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
|
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы.
Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
|
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|
|
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы.
Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|