Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.67/89: Рейтинг темы: голосов - 89, средняя оценка - 4.67
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915

Чтение/запись в Эксель "xlsx" в рамках xml/zip

30.12.2018, 22:59. Показов 19999. Ответов 51
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте,

Очередной вопрос по записи и чтению данных из ексель формата xlsx:
1)Файл ексель формата xlsx представляет собой набор файлов формата xml, како спрятанных за формат xlsx, ы этом леггко убедится, если изменить расширение xlsx на zip и открыть его.
2)И собсвенно вопрос, как средствами с++ получить доступ на считывание данных с этого xlm файла ? То есть xlsx файл каким то образом нужно открыть в виде zip архива, прочитать его содержимое, выбрать нужный xml файл и читать оттуда данные.(вопрос парсинга самих ситываемых данных не стоит).
3)И обратный вопрос как записать или изменить строку в нужном xml файле нахрдящегося внутри xlsx-zip формата ?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.12.2018, 22:59
Ответы с готовыми решениями:

Чтение/запись XLS/XLSX с NPOI
Помогите новичку! Я искал варианты в C# записывать данные в ячейки XLS/XLSX и нашел, что самый простой вариант использовать NPOI, но к...

Чтение таблицы из doc и запись в эксель
Есть таблица вида: только в doc формате. Необходимо перенести ее в excel. Пробую код: import pandas as pd import...

Запись/чтение в открытой книге Эксель
Доброго времени суток. Я новичок в Python, пытаюсь автоматизировать небольшой процесс простеньким скриптом. Задача заключается в...

51
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
12.01.2019, 19:16  [ТС]
Студворк — интернет-сервис помощи студентам
1)Повторил шаги, без изменений. Я заметил, что после сборки проекта xlnt_all (сборка -->собрать решение или сборка -->построить build_all) .lib файлы в паке source и debug - не создаются, то есть они как создались Cmake`ом с конкретным временем создания, так их время создания после сборки VS проекта xlnt_all - не изменилось, значит VS не создает в данном случае .lib файлы.
2)А какой проект скинуть ? xlnt_all ?
0
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
12.01.2019, 19:23
Цитата Сообщение от Optimus11 Посмотреть сообщение
А какой проект скинуть ?
Нет, свой, в который все это подключается.

Цитата Сообщение от Optimus11 Посмотреть сообщение
то есть они как создались Cmake`ом
Никакие lib-файлы cmake`ом не создаются... Cmake - это лишь инструмент для генерации файлов сборки, т.е. проектов VS в данном случае. Lib-файлы создает VS.

Добавлено через 2 минуты
Цитата Сообщение от Optimus11 Посмотреть сообщение
.lib файлы в паке source и debug - не создаются
А у вас сборка точно успешно завершилась? Покажите лог сборки из VS.
0
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
12.01.2019, 19:31  [ТС]
Никакие lib-файлы cmake`ом не создаются... Cmake - это лишь инструмент для генерации файлов сборки, т.е. проектов VS в данном случае. Lib-файлы создает VS.
Помогли-подсказали использовать вот этот файл (во вложении)
build32.txt
Только его нужно переименовать в .bat. Запуск этого файла и создает проект xlnt_all и .lib файлы в debug и release.
0
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
12.01.2019, 19:33
Цитата Сообщение от Optimus11 Посмотреть сообщение
Помогли-подсказали использовать вот этот файл (во вложении)
Это же тоже самое, что описывалось выше, только в скрипте.
Если вы сделали все, что выше описано правильно, то результат должен быть одинаковый.
0
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
12.01.2019, 19:45  [ТС]
1)Ну собственно, все что я сделал, я запустил этот bat-файл, в корневой папки скаченной библиотеки, после чего в папке Build32 создался проект xlnt_all и все остальные файлы, включая и lib файлы...
2)После чего я попытался запустить пример из библиотеки xlnt (проект во вложении)
ConsoleApplication10.rar
... но возникла ошибка...
3)После чего я открыл проект xlnt_all в VS и собрал его, сборка завершилась успешно.
4)Я опять попытался запустить пример из библиотеки, но возникла опять та же ошибка.

VS точно должен создать дополнительно к уже созданным скриптом .lib-файлам, свои lib-файлы?
Потому что скриптом они уже были созданы.
0
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
12.01.2019, 19:49
Короче, вывод такой. Вы не делаете шаги описанные в теме, а делаете свои шаги. Но спрашиваете так, как будто делаете описанные в теме? Чего же вы хотите в таком случае?

Цитата Сообщение от Optimus11 Посмотреть сообщение
VS точно должен создать дополнительно к уже созданным скриптом .lib-файлам, свои lib-файлы?
Потому что скриптом они уже были созданы.
В данном случае шаг запуска сборки был сделан скриптом, поэтому ручная сборка ничего не изменит.
Но вы же о том, что не пользуетесь информацией из темы, а пользуетесь другими источниками, сказали в последний момент.
Я не люблю так делать, но с таким отношением я просто перестану здесь отвечать.
0
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
04.02.2020, 14:13  [ТС]
Здравствуйте,

Подскажите пожалуйста, уже третий час не могу включить хедер файлы, как раньше их включил совсем уже не помню.

C++
1
#pragma comment(lib, "C:\\XLNT\\Build binary\\source\\Debug\\xlntd.lib") // подключаю бинарник либы
//теперь нужно подключить заголовочные файлы:

C++
1
2
3
4
//в настройках VS2017 указываю папку в "дополнительные каталоги включюаемых файлов": C:\XLNT\xlnt-master\xlnt-master\include\
 
#include <xlnt/xlnt.hpp>    // находит
#include <xlnt\\xlnt.hpp> //  находит
Но при компиляции выдает просто туеву хучу ошибок по типу:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
divides не является шаблоном
идентификатор "true_type" не определен
идентификатор "false_type" не определен
идентификатор "_Small_object_num_ptrs" не определен
идентификатор "_Is_specialization_v" не определен
идентификатор "remove_cv_t" не определен
использование имени типа не допускается
требуется запятая "," или угловая скобка ">"
идентификатор "reference_wrapper" не определен
пакет параметров шаблона находится не в конце списка параметров
идентификатор "_Unforced" не определен
использование списка аргументов шаблона в объявлении основного шаблона не допускается
namespace "std" не содержит члена "bad_function_call"
... и еще тысяча ошибок
0
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
04.02.2020, 21:23  [ТС]
Цитата Сообщение от Optimus11 Посмотреть сообщение
1)То на строках: "cmake -D STATIC=ON -G" и "cmake --build " выводится, .
C++
1
2
D:\xlnt-master\Build-static>cmake -D STATIC=ON -G
CMake Error: No generator specified for -G
0
-41 / 49 / 5
Регистрация: 10.01.2017
Сообщений: 1,915
06.11.2020, 12:14  [ТС]
Цитата Сообщение от 0x10 Посмотреть сообщение
Вам правда хочется вручную реализовывать разбор формата? В библиотеке по ссылке выше 30к строк. В чем сложность использования готового инструмента?
Готовый инструмент, в данном случае это XLNT очень коряво сделан - при 12мб ексель файле - его загрузка переваливает отметку в 2Гб оперативной памяти и просто вылетает исключение bad alloc, и собственно все - библиотека не рабочая на таких казалось бы не значительных размерах ексель файла.

Может быть можете подсекать простенькую библиотеку для разбора/редактирования rar/zip архива ? Мне на данный момент всего то нужно прочитать данные их ексель и только текстовые и числовое форматы ячеек. Думаю под такую узкую задачу разбор xml формата не займет много времени сил.
0
06.11.2020, 16:39

Не по теме:

Цитата Сообщение от Optimus11 Посмотреть сообщение
build32.txt
узнаю этот неповторимый, утончонно изящный, безупречный стиль.
не знал, что скрипты этого чувака гуляют по интернетам)

0
0 / 0 / 0
Регистрация: 08.11.2020
Сообщений: 144
09.10.2023, 19:16
DrOffset, все бы хорощо, но Cmake не билдит не фига в винде, а в других ОСях она зачем. Excel не линукс приложение
0
19506 / 10109 / 2464
Регистрация: 30.01.2014
Сообщений: 17,834
09.10.2023, 19:35
Цитата Сообщение от madman64 Посмотреть сообщение
Cmake не билдит не фига в винде
CMake - это генератор файлов сборки. Билдить будет уже тот инструмент, под который файл сгенерирован.
В винде билдится прекрасно, если выбран правильный генератор и есть чем билдить.

Цитата Сообщение от madman64 Посмотреть сообщение
Excel не линукс приложение
В Linux есть openoffice\libreoffice которые с этим форматом работают. Хотя не понятно при чем тут вообще Linux.

Вы сказать-то что хотели? Что CMake нафиг не нужен? Если да, то это вообще не по адресу. Не я решаю, быть ему или не быть.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.10.2023, 19:35

Запись и чтение из rar,zip архива
Подскажите библиотеку для работы с rar,zip архивами желательно с хорошей документацией или подскажите как прочитать файл в библиотеке...

Чтение Xml и запись объекта в Xml, исправить код
Нужно записать точно такой же XML, который считывается. Написал код, но есть недочеты, не знаю как их исправить. Проблема с количеством...

Чтение и запись XML
Здравствуйте! Допустим есть сущностный бин, который с помощью JPA обращается к БД с запросом. Результат запроса сохраняется в массиве:...

Запись и чтение XML
Нужно сохранить в XML файл объект класса CPolygon, через saveFileDialog. Как это можно сделать? private void...

Чтение и запись xml
Здравствуйте. Есть .xml файлик, в котором есть один параметр. &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt; &lt;head&gt; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
52
Ответ Создать тему
Новые блоги и статьи
Особенности gif сгенерированных в Си
russiannick 21.10.2026
Рассмотрим генерацию gif файлов, которые в Си имеют свои особенности. Gif представляет собой графический формат популярный в интернете. Посмотрим на палитру. Gif файл сгенерированный в си отличается. . .
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru