なお、CSVファイルの形式はソフトによって微妙に仕様が異なるものの、RFC 4180で標準的な仕様がまとめられています。
■ソースについて■
Visual Studio 2008(C#)で開発しています。
zlib/libpng Licenceで配布します。
■ソースの説明■
Excelを操作するために、COMオブジェクトへの参照設定を追加する必要があります。
Excelのバージョンによって表記が異なりますが、ここでは『Microsoft Excel 11.0 Object Library』を追加しています。
using System.Runtime.InteropServices;Excelを操作するにはApplicationクラスのインスタンスを作成します。
using Microsoft.Office.Interop.Excel;
エラー時にもメッセージを表示しないように、DisplayAlertsにはfalseを指定しておきます。
ExcelObj = new Application();この後、ワークブック、シート、セル、レンジの順にオブジェクトを取得します。
ExcelObj.DisplayAlerts = false;
取得したオブジェクトは不要になったらReleaseComObjectで開放します。
開放を忘れるとExcelのプロセスが終了しません。
Workbooks workbooksObj = ExcelObj.Workbooks;レンジオブジェクトのValue2プロパティを使用しセルに任意の値を設定します。
Marshal.ReleaseComObject(workbooksObj);
cellObj = (Range)rangeObj[row + 1, col + 1];最後に、SaveAsでファイルに保存します。
cellObj.Value2 = value;
このとき、Excelのバージョンによってフォーマットの定数が異なるので注意が必要です。
BookObj.SaveAs(filePath, fileFormat, null, null, null, null, XlSaveAsAccessMode.xlExclusive, null, null, null, null, null);
■ダウンロード■
プログラム:
http://tecproglab.googlecode.com/files/csv2xls.zip
実行ファイル:
http://tecproglab.googlecode.com/files/csv2xls.exe.zip
SVN:
http://tecproglab.googlecode.com/svn/trunk/vcs/csv2xls
0 件のコメント:
コメントを投稿