как устроен формат *.xls?

onyxis

Хочется туда записывать средствами си, но пока не получается. Насколько это реально?

Andbar

Лучше всего либо через COM (используя Excel либо писать в csv (Excel его открывает).

onyxis

Мне хотелось бы еще уметь создавать несколько вкладок, вставлять картинки в файлы и даже строить графики - в идеале.

Maurog

вам именно из C надо? или из C++ ? или вы сформулируете задачу подробнее?
один из самых простых методов - через ADO:
http://www.xtremevbtalk.com/showthread.php?t=217783

Andbar

Всё это делается через COM.

onyxis

а как? гугл по запросу COM Excel ерунду выдает.
Да, хотелось бы средствами именно C.

Andbar

Яндекс по запросу "работа с excel через COM" выдаёт достаточно информации. По поводу конкретно C, по идее, должен быть способ работы с COM-объектами из C, но гуглить по "C" - достаточно нетривиальное занятие.

viktor954

Для маниаков:
http://www.gemboxsoftware.com/GBSpreadsheet.htm

okis

NET — это не C

onyxis

так оно платное! А бесплатное есть?

artimon

Если ограничится только свежим офисом, то можно генерить xlsx-файлы (xml)
Бинарный формат Excel-я это полный ужас.

onyxis

а как?

artimon

Я бы сделал в Excel-е документ похожий на то, что требуется. Сохранил в xlsx и посмотрел что внутри

onyxis

а чем его смотреть? не блокнотом же...

Andbar

а чем его смотреть? не блокнотом же...
это обычный zip-архив

mbolik1

Excel понимает правильно сформированный html например:

Papazyan

так оно платное! А бесплатное есть?
Кто тебе будет бесплатно такую херню писать.

durka82

Так там вроде в xml будет вставлен напрямую бинарник xls-а :(
По крайней мере в начале МС и ругали за такие "открытые" форматы.
Может они конечно и исправились, но сомневаюсь.

serega1604

>Так там вроде в xml будет вставлен напрямую бинарник xls-а :(
это по-моему ко всяким OLE относится, т.е. простой документ должен получится без бинарных вставок.
Оставить комментарий
Имя или ник:
Комментарий: