2011-07-31 19 views
2

いくつかのデータをxlsxスプレッドシートに書きたい(最終的には複数のシェットを持つ既存のものにしたいが、今は空白の単一シートファイルを作ることに満足している)。ExcelスプレッドシートをC++で書く

スプレッドシートにデータを書き込むためにExcel ODBCドライバ(Microsoft Excelドライバ(* .xls、* .xlsx、* .xlsm、* .xlsb))を使用する必要があります。

しかしこれはで失敗します "ドライバーインストールされていません:Microsoft Excelのドライバー(* .XLS、*の.xlsx、.xlsm *、* .xlsb)"

私は、Office 2010のプロプラスの64bit版を持っています(私はバージョンの学生がそれを得ると思う?)は、Windows 7のホーム64ビットでインストールされます。そして、32ビットアプリケーションを作成しようとしています。

ここでは、オフィス版やWindows版のODBCやアプリケーションのビット数などの基本的な問題はありますか?いくつかのデータをファイルに書き込むのにODBCが最適ですか?

私はファイルを書くことができ、オープンにする必要はありません(ただし、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); 

答えて

0

http://www.libxl.com/を試す - 所属していない、いなくても、顧客(私はほとんどのC#を使用しているため)...

EDIT - コメントごとに:上記のLIBはあなたにできるようになる

作成するだけでなく、既存のExcelファイルを読んだり修正したりすることができます。

Excelファイルを作成するには、いくつかの無料オプションがあります。
Yあなたが理解できるタグを気にするならば、ExcelはHTMLを開き、これをうまく使うことができます - http://www.c-sharpcorner.com/UploadFile/kaushikborah28/79Nick08302007171404PM/79Nick.aspx

+0

私はこれにお金を費やす必要はないと希望していました。それは少なくとも私のデータセットが数百列の行になってから少なくとも199ドルのように見える – SyncViews

+1

あなたはあなたが既存のExcelファイルを編集したいと言ったので私の推薦が来た...私の編集を参照... blank/new ExcelファイルCSVは1オプション...しかし、より良い(はるかに柔軟な書式設定、グループ化など)は、HTML – Yahia

5

CSVファイル(カンマ区切り値)を使用することをお勧めします。これは非常に簡単に作成でき、Excel(OpenOfficeやiWorkの製品と同様)でも読むことができます。

0

別のオプションがあります。

ExcelFormat:xlsファイルの書き込み、読み取り、フォーマットが可能なC++ライブラリのみ。私はあなたがxlsxを求めていることは知っていますが、Excel 2007でもこれらのファイルを開くことができるので、試してみる価値があります。

ExcelFormatは無料(CPOL)で使いやすく、インストールされたExcelはまったく必要ありません。 あなたが同意している場合は、わずかに更新されたバージョンをhereからダウンロードできます。

関連する問題