Создание *.xls файлов на сях
А зачем выеживаться?
а ты попробуй табами и ентерами разделить значения. А потом файлу расширение xls сделать
Чем он тебе не понравился?
Для последнего офиса можно генерить xls файлы в xml-виде. Соответственно - эту генерацию можно делать с помощью любимого xml-генератора без всякого офис-api.
неужели нельзя нарыть в инете? Я как-то накопал для Perl'a и PHP...
А можно ссылочку для Perl и PHP а то я недавно лазил и ничего особенного не нашел... -(
Я ActiveX и OLE не хочу, потому что в это влезать нада, а у меня времени нет уже разбираться.
Тады ой. Впрочем, попробуй MS Jet - пишут, что это быстро и просто.
А ваще, лучше просто забить таблицу в обычном текстовом формате, а открывать ее через Ехель.
Замучаесся... Хотя если лень творить, то можно и так.
MS Jet - пишут, что это быстро и просто.
Не совсем правда. И это не совсем без OLE.
Вообще, в инете есть описания формата, и мне попадались простые библиотеки для работы с Excel файлами версии 5.0, но названий уже не помню. Более высокие версии - увы, только через COM/OLE.
POI , называется. И ещё, тебе насколько сложные файлы нужно генерировать? То есть там всякие шрифты/границы ячеек/цвета ячеек, всё это надо? Можно попробовать в Excel создать шаблон, где уже будет, скажем, шапка. Потом через ADO или ODBC в уже готовом листе строки создавать. Только никаких изысков форматирования само собой не будет.
Тебе точно-точно на C надо? А то для Java есть приятная такая штучка,
Я знаю, что это "не совсем без ОЛЕ". Без ОЛЕ с Ехелем можно работать только в том случае, если заботать формат представления .xls-файлов. Я имел в виду только то, что, по слухам, Джет - это очень просто.
По поводу "Джет - это очень просто". Не знаю, как на запись, а на чтение у Jet'а есть одна гадская особенность. Он считывает первые несколько строк файла и по ним пытается угадать типы полей. И если, скажем, у тебя в первых 8 строках таблицы в этом поле только числа, то он присвоит полю тип SQL_DOUBLE. Если окажется, что дальше с какой-то строке встретится текст, вместо него движок Jet вернёт null. Очень подло с его стороны!
Если не нравится геморой, то лучше OLE.
Хорошо, а можно где-то в инете найти действующий или почти действующий кусок кода, делающий хотябы что-то похожее?
В МСДН огромная инфа по, например, ADO. У меня есть книга, где обсасывается Джет под пятый вижуал си - правда, этого раздела я не читал. Короче, источников море.
MSDN 2003 смотрел, там много всего, но мало понятного. Я в ОЛЕ почти ноль.
Если хочешь, я тебе книжку дам. Книжка для лохов, простенькая, с примерами. Сам на досуге собираюсь почитать
Кстати, о "заботать формат эксэля" - это реально? Или лучше не связываться?
могу дать пример кода на билдере
Не пробовал, но думаю, нереально. А главное, это будут абсолютно бестолковые сведения: никто не гарантирует, что в Офис2004бис будет тот же формат. А вот ОДБС, АДО, Джет - это технологии, на поддержко которых в последующих версиях можно рассчитывать.
Оставить комментарий
Volkulak
Сабж. Хотелось бы без ActiveX и OLE. В MSDN пошарил, ничего такого не нашёл. Но может, есть всё же набор функций для работы с офисом?