Написание таблицы Excel в C ++ - PullRequest
2 голосов
/ 01 августа 2011

Я хочу записать некоторые данные в таблицу xlsx (в конечном итоге в существующий с несколькими таблицами, но сейчас был бы рад создать пустой файл с одним листом).

Похоже, мне нужноиспользовать драйвер ODBC для Excel (драйвер Microsoft Excel (* .xls, * .xlsx, * .xlsm, * .xlsb)) для записи данных в электронную таблицу.

Однако это не с: «Драйвер не установлен: Microsoft Excel Driver (* .xls, * .xlsx, * .xlsm, * .xlsb)» *

У меня 64-битная версия Office2010 Pro Plus (я думаю, это версия, которую получают студенты) на Windows 7 Home 64bit.И я пытаюсь создать 32-битное приложение.

Есть ли какая-то фундаментальная проблема с использованием ODBC здесь с выпусками Office и Windows, или разрядность приложения?Является ли ODBC лучшим выбором для простой записи некоторых данных в файл?

Требуется также, чтобы я мог записывать любой файл, и Excel не нужно открывать (но Excel 2007 или более поздняя версия будет установлена ​​насистема).

CString sDriver = L"Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)";
CString sExcelFile = L"c:\\test.xlsx";
CString connect;
connect.Format(L"DRIVER={%s};DSN='';FIRSTROWHASNAMES=1;READONLY=FALSE;CREATE_DB=\"%s\";DBQ=%s",
    sDriver, sExcelFile, sExcelFile);

Ответы [ 3 ]

5 голосов
/ 01 августа 2011

Я бы порекомендовал вам использовать файл CSV (значения, разделенные запятыми). Это очень легко создать и прочитать в Excel (а также в продуктах OpenOffice и iWork).

0 голосов
/ 07 мая 2012

Существует еще одна опция.

ExcelFormat : только библиотека заголовочных файлов C ++, которая может записывать, читать и форматировать файлы xls.Я знаю, что вы просили xlsx, но, поскольку Excel 2007 по-прежнему может открывать эти файлы, стоит попробовать.

Кроме того, ExcelFormat является бесплатным (CPOL), простым в использовании и вообще не требует установленного Excel.Если вы заинтересованы, вы можете загрузить слегка обновленную версию здесь .

0 голосов
/ 01 августа 2011

try http://www.libxl.com/ - не связан, даже не клиент (так как я использую в основном C #) ...

РЕДАКТИРОВАТЬ - согласно комментарию:

вышеупомянутая библиотека позволит вам не только создавать, но и читать + изменять существующие файлы Excel, поскольку вы намекаете на будущую цель в своем первом предложении ...

Для создания файлов Excel есть некоторыебесплатные варианты:Вы можете создать CSV или (если необходимо некоторое форматирование и / или группирование, и / или формулы и т. Д.) HTML - Excel может открывать HTML и использовать это прекрасно, если вы позаботитесь об использовании понятных ему тегов - см. http://www.c-sharpcorner.com/UploadFile/kaushikborah28/79Nick08302007171404PM/79Nick.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...