Сейчас на форуме: hgdagon, asfa, bartolomeo (+6 невидимых)

 eXeL@B —› Программирование —› Нужна помощь в спецов С & C++
Посл.ответ Сообщение

Ранг: 24.4 (новичок)
Активность: 0.020
Статус: Участник

Создано: 06 ноября 2006 07:05
· Личное сообщение · #1

Доброе время суток !

Возможно ли средствами С или С++
создать и редактировать XLS файл ?

если да , то каким образом ?

Заранее благодарен за ответы !



Ранг: 123.7 (ветеран)
Активность: 0.10
Статус: Участник
1nn0$/100

Создано: 06 ноября 2006 07:22
· Личное сообщение · #2

Возможно.
Метод 1(долгий): Вкуривай формат файла (в hex editor'е), пиши парсер. Гемороя будет очень много...
Метод 2(не тру): Погугли по этому вопросу.

-----
Blame the victim!





Ранг: 109.2 (ветеран)
Активность: 0.090
Статус: Участник
Cardinal

Создано: 06 ноября 2006 07:31
· Личное сообщение · #3

ZeroCold пишет:
Возможно ли средствами С или С++
создать и редактировать XLS файл ?

Разбирайся с функциями для работы с COM-объектами.

-----
– Почему ты работаешь по ночам ? – Так удобнее... В одну смену с чертями...





Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 06 ноября 2006 09:41
· Личное сообщение · #4

В OpenOffice.org есть код который разбирает XLS файл. Но, вопрос в том, что тебе надо сделать. Если поправить заголовок или какой-нить copyright, то это просто. Ну а если написать Viewer - то абзац - потащишь за собой все потроха openoffice-a....



Ранг: 24.4 (новичок)
Активность: 0.020
Статус: Участник

Создано: 06 ноября 2006 11:09
· Личное сообщение · #5

s0larian
мне надо чтобы было можно заново создать и потом редактировать
этот созданный мной файл



Ранг: 352.4 (мудрец), 4thx
Активность: 0.150
Статус: Участник
retired

Создано: 06 ноября 2006 11:18
· Личное сообщение · #6

s0larian
пожалуй это слишком - таскать за собой половину openoffice
ZeroCold
посмотри wasm.ru. там были примеры + недавно на форуме была тема про что-то похожее, но для word. с excel дела обстоят примерно так же




Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 06 ноября 2006 11:31
· Личное сообщение · #7

ZeroCold
так а что именно тебе надо изменять? Я просто клоню к тому, что в простыз случаях ты обойдёшься шаблоном (xls созданный руками в excel) и мелкими модификациями прямо в файле. Но если тебе надо что-то слодное, то, imho, используй VBA - так ты сможешь упавлять самим excel-ом - типа, добавим сюда rows, поменяем цвет, зафигачим формулу.... AFAIK там есть интерфейс почти ко всему.



Ранг: 24.4 (новичок)
Активность: 0.020
Статус: Участник

Создано: 06 ноября 2006 14:11
· Личное сообщение · #8

s0larian
Мне надо генерировать новые файлы XLS, содержимое которых текст на разных языках , с возможностью
их редактирования в самом EXCEl и потом снова чтобы тулзой забирать из файла уже отредактированные данные.




Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 06 ноября 2006 14:47 · Поправил: s0larian
· Личное сообщение · #9

s0larian
ох тяжко тебе будет... Вся твоя идея с excel, конечно, не фонтан.

Как вариант, может сделаешь export в CSV и его прочитаешь? На порядок проще вторая задача.



Ранг: 24.4 (новичок)
Активность: 0.020
Статус: Участник

Создано: 06 ноября 2006 23:56
· Личное сообщение · #10

Я уже нашел , в Visual Studio 2003 .Net там есть класс для работы с EXCEL.
Вот попробую DLLку написать на нем , инересно будет ли она потом работать у меня c Visual Studio 6?



Ранг: 1.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 07 ноября 2006 00:15
· Личное сообщение · #11

MSDN рулез http://windowssdk.msdn.microsoft.com/en-us/library/ms724626.aspx




Ранг: 124.7 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 07 ноября 2006 01:37
· Личное сообщение · #12

ZeroCold
тебе s0larian дело говорит - CSV и не парь мозги



Ранг: 19.0 (новичок)
Активность: 0.010
Статус: Участник

Создано: 07 ноября 2006 01:40
· Личное сообщение · #13

ZeroCold

читать
Кэш для Excel
www.rsdn.ru/article/com/excelcache.xml




Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 07 ноября 2006 10:09
· Личное сообщение · #14

ZeroCold пишет:
Я уже нашел , в Visual Studio 2003 .Net там есть класс для работы с EXCEL.
Вот попробую DLLку написать на нем , инересно будет ли она потом работать у меня c Visual Studio 6?

эээ.... тут ты попадаешь если run-time линкуется динамически. То есть, в разных версиях VC++ разные библиотеки, и след. разные версии malloc().



Ранг: 160.1 (ветеран)
Активность: 0.070
Статус: Участник

Создано: 07 ноября 2006 10:54 · Поправил: infern0
· Личное сообщение · #15

ZeroCold пишет:
Возможно ли средствами С или С++
создать и редактировать XLS файл ?

точно можно из перла - там есть модуль




Ранг: 122.3 (ветеран)
Активность: 0.050
Статус: Участник

Создано: 07 ноября 2006 11:07
· Личное сообщение · #16

COM, вернее OLE - его более высокоуровневая надстройка. которая для таких целей и была задумана.
десяток строк кода будет.
и не ипи моск.



Ранг: 24.2 (новичок)
Активность: 0.010
Статус: Участник

Создано: 07 ноября 2006 12:42
· Личное сообщение · #17

тухлыми помидорами не кидать)
но помоему для каких то старых версий оффиса и соответсвенно экселя (95-97) формат таблиц простой до безобразия (к сожалению щас инфу найти не могу) а ексель последних версий эти файлы прекрасно открывает.... ну эт конечно на крайний случай..



Ранг: 310.8 (мудрец), 29thx
Активность: 0.430
Статус: Участник

Создано: 08 ноября 2006 02:28
· Личное сообщение · #18

mrJ пишет:
формат таблиц простой до безобразия

Формат простой и сейчас. Только в конце файла есть описание/индекс этих таблиц, без которого они превращаются в простой текст. Проверено при попытке вытаскивания таблиц с испорченного диска.
Для Экселя есть куча готовых наработок - в свое время искал и проверял на Дельфи. В конце концов оказалось проще написать все в VBA. А еще можно и в VB - но это сложнее. Кстати полная-то задача какая. Может проще встроить механизм извлечения данных в Эксель, чем махину городить. У меня например Экселевский документ читает с прибора данные по COM-порту и никаких проблем с Дельфи и С++ - все делает VBA + функции API.



Ранг: 30.6 (посетитель)
Активность: 0.010
Статус: Участник

Создано: 08 ноября 2006 06:38
· Личное сообщение · #19

Можно посмотреть на codeproject'е. Например, www.codeproject.com/wtl/WTLExcel.asp


 eXeL@B —› Программирование —› Нужна помощь в спецов С & C++
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати