データセットを Excel シートにエクスポートしていますが、時間がかかるため、Excel の COM を使用したくありません。
MS Office Interop を使用せずに Excel にエクスポートするメソッドが必要であり、新しい Excel シートが同じ形式になるように、空の Excel テンプレートを使用してメソッドを読み込む必要があります。
ADO.NET と Jet OleDbProvider を使用して、Excel ファイルにアクセスし、その内容を更新できます。
string con = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=your_path\test.xls;Extended Properties='Excel 8.0;HDR=No;'";
using(OleDbConnection c = new OleDbConnection(con))
{
c.Open();
string commandString = "Insert into [Sheet1$] (F1, F2, F3) values('F1Text', 'F2Text', 'F3Text')" ;
using(OleDbCommand cmd = new OleDbCommand(commandString))
{
cmd.Connection = c;
cmd.ExecuteNonQuery();
}
}
EPPlusを使用しています。Nuget および LGPL ライセンスで利用できます。OOXML を使用して xlsx スプレッドシートを作成および管理しましょう。
Open XML SDK 2.0を使用することをお勧めします。
要求したことはすべて実行でき、その上、非常に高速です。
私はこのxlslinqのようなものを調べます
ただし、このライブラリを使用してデータセットにエクスポートすることもできます