![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
eg13 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 4.8.2013 Репутация: нет Всего: нет |
Не знаю, в ту ли тему я пишу свой вопрос
![]() А состоит он вот в чем. Написал я довольно большое приложение на WinApi. Писал в Visual C++ 11. Но тут вдруг возникла надобность прикрутить к моей программе импорт/экспорт в .xls/.xlsx файл. А мне не очень-то хочется возиться с OLE, и к тому же есть вариант, что на компьютере, на который ставится моя программа нету MS Excel, да и вообще офиса нет. И тут я нашел библиотеку для Борланда, которая могла бы запросто решить мою проблему. Но переписывать приложение под борланд тоже не вариант. Есть ли такая возможность часть кода скомпилить на Борланде, а потом прикрутить к проекту в Вижуал Студио? Кто что по этому поводу скажет? |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
Если сделаешь в виде библиотеки с Сишными функциями, то проблем не будет. Главное, выделяй память и освобождай только в одной среде.
|
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
||||
|
||||
tulebaev |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 17.2.2012 Репутация: нет Всего: нет |
.xlsx-файл представляет собой ZIP архив.
Так что аналогичную проблему я решал простой распаковкой в память нужных данных. |
|||
|
||||
akizelokro |
|
|||
![]() Крокодил ![]() ![]() Профиль Группа: Участник Сообщений: 761 Регистрация: 30.7.2007 Репутация: 1 Всего: 5 |
Я вот бухаю второй день, но ничерта xslx файл не рпедставляет из себя zip-архив. Добавлено через 3 минуты и 26 секунд Находишь библиотеку, котораяработает без установленного Офиса. Это я тебе по чесноку говорю. Как программер, продававший VBA приложения китайцам из Сан-Франциско, потом же юзавший и php-юиюлиотеки для Экселя. А всё отсальное это ..как бы тебе сказать. Когда Эксель или Офись ставится, он дофикха чего много меняет. Добавлено через 13 минут и 29 секунд xlsx файл это по сути xml файл (если есть вопросы, то я на елансе в клубе Excel Guru) притом, Учсуд открывает и некие xml-файлы в определенном формате, так же успешно как и xls[-файлы. Задача у тебя найти просто определённый парсер и забить на закон Мэрфи "Эксперт - любой человек не из нашего города" -------------------- a = a + b; b = a - b; a = a - b; |
|||
|
||||
xvr |
|
||||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
Попробуйте на трезвую голову ![]()
Это набор xml файлов, весьма запутанного содержимого (См. Office Open XML format он же ECMA-376 он же ISO 29500:2008) Генерация xmlx со всеми его возможностями весьма объемная вещь (хотя и довольно простая). Если нужно ограниченное подмножество, то генератор делается довольно тривиально |
||||
|
|||||
akizelokro |
|
|||
![]() Крокодил ![]() ![]() Профиль Группа: Участник Сообщений: 761 Регистрация: 30.7.2007 Репутация: 1 Всего: 5 |
Вообще-то попробую и на трезвую голову. Ага, тут походу zip-архив. Пить, значит,надо меньше. ![]() Пусть попробует тогда усеченную версию в виде xml-файла в "Экселевской" версии. Там как раз то, что в VBA делает импорт/экспорт файла. А, вообще, это всё глупости. Пусть ищёт опенсорсную либу под С++, навроде ExcelPHP и прилаживает её к проге. В своё время комитет явно пропарил мозги с тем, что не задал в С++ работу с регулярными выражениями. Это моё чуть более трезвое мнение. С++ очень много теряет именно на этом. Это сообщение отредактировал(а) akizelokro - 10.9.2013, 04:44 -------------------- a = a + b; b = a - b; a = a - b; |
|||
|
||||
akizelokro |
|
|||
![]() Крокодил ![]() ![]() Профиль Группа: Участник Сообщений: 761 Регистрация: 30.7.2007 Репутация: 1 Всего: 5 |
Проблема в том, что работа с регулярными выражениями должна была быть в языке реализована лет10 так назад. Для нормальной обработки текстов, что уже для языков де-факто стандарт.
Это по факту бы добавило разработчиков, а следовательно, и новых библиотек. -------------------- a = a + b; b = a - b; a = a - b; |
|||
|
||||
xvr |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 60 Всего: 223 |
||||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |