Создание *.xls файлов на сях

Volkulak

Сабж. Хотелось бы без ActiveX и OLE. В MSDN пошарил, ничего такого не нашёл. Но может, есть всё же набор функций для работы с офисом?

evgen5555

>Хотелось бы без ActiveX и OLE
А зачем выеживаться?

irina-sokolov

а ты попробуй табами и ентерами разделить значения. А потом файлу расширение xls сделать

yolki

С офисом работают только через активХ и ОЛЕ.
Чем он тебе не понравился?

Dasar

Для последнего офиса можно генерить xls файлы в xml-виде. Соответственно - эту генерацию можно делать с помощью любимого xml-генератора без всякого офис-api.

NET_Stranger

неужели нельзя нарыть в инете? Я как-то накопал для Perl'a и PHP...

stm5981037

А можно ссылочку для Perl и PHP а то я недавно лазил и ничего особенного не нашел... -(

Volkulak

Сравнил! Перл и ПХП - скрипты, там многие вещи на порядок проще делаются.
Я ActiveX и OLE не хочу, потому что в это влезать нада, а у меня времени нет уже разбираться.

maggi14

> Я ActiveX и OLE не хочу
Тады ой. Впрочем, попробуй MS Jet - пишут, что это быстро и просто.
А ваще, лучше просто забить таблицу в обычном текстовом формате, а открывать ее через Ехель.

uncle17

Замучаесся... Хотя если лень творить, то можно и так.

shlyumper

MS Jet - пишут, что это быстро и просто.

Не совсем правда. И это не совсем без OLE.
Вообще, в инете есть описания формата, и мне попадались простые библиотеки для работы с Excel файлами версии 5.0, но названий уже не помню. Более высокие версии - увы, только через COM/OLE.

psm-home

Тебе точно-точно на C надо? А то для Java есть приятная такая штучка, POI , называется. И ещё, тебе насколько сложные файлы нужно генерировать? То есть там всякие шрифты/границы ячеек/цвета ячеек, всё это надо? Можно попробовать в Excel создать шаблон, где уже будет, скажем, шапка. Потом через ADO или ODBC в уже готовом листе строки создавать. Только никаких изысков форматирования само собой не будет.

maggi14

Я знаю, что это "не совсем без ОЛЕ". Без ОЛЕ с Ехелем можно работать только в том случае, если заботать формат представления .xls-файлов. Я имел в виду только то, что, по слухам, Джет - это очень просто.

psm-home

По поводу "Джет - это очень просто". Не знаю, как на запись, а на чтение у Jet'а есть одна гадская особенность. Он считывает первые несколько строк файла и по ним пытается угадать типы полей. И если, скажем, у тебя в первых 8 строках таблицы в этом поле только числа, то он присвоит полю тип SQL_DOUBLE. Если окажется, что дальше с какой-то строке встретится текст, вместо него движок Jet вернёт null. Очень подло с его стороны!

Corrector

Если не нравится геморой, то лучше OLE.
Если принципиально не хочешь OLE, то
поищи тут

Volkulak

Хорошо, а можно где-то в инете найти действующий или почти действующий кусок кода, делающий хотябы что-то похожее?

maggi14

В МСДН огромная инфа по, например, ADO. У меня есть книга, где обсасывается Джет под пятый вижуал си - правда, этого раздела я не читал. Короче, источников море.

Volkulak

MSDN 2003 смотрел, там много всего, но мало понятного. Я в ОЛЕ почти ноль.

maggi14

Там масса примеров. Я ОЛЕ тоже не знаю, но, когда понадобилось, за пару часов написал АДОшный интерфейс к Ораклу.
Если хочешь, я тебе книжку дам. Книжка для лохов, простенькая, с примерами. Сам на досуге собираюсь почитать

Volkulak

Кстати, о "заботать формат эксэля" - это реально? Или лучше не связываться?

Corrector

А какие си имеются в виду - билдер или вижуал?
могу дать пример кода на билдере

maggi14

Не пробовал, но думаю, нереально. А главное, это будут абсолютно бестолковые сведения: никто не гарантирует, что в Офис2004бис будет тот же формат. А вот ОДБС, АДО, Джет - это технологии, на поддержко которых в последующих версиях можно рассчитывать.
Оставить комментарий
Имя или ник:
Комментарий: