2

最近、いくつかのデータグリッドを持つ Windows フォーム アプリケーションを開発しました。クライアントは、データを Excel にエクスポートする必要があります。彼らは異なるバージョンの Excel (つまり、2003、2007、2010、2013) を使用していますが、私は Office 2013 を使用しています。Excel 2013 のリファレンスを使用しました。

(Microsoft Excel 15.0 オブジェクト ライブラリ)

私のプログラムで。最近、クライアントから、エクスポート オプションが機能していないとの報告がありました。私の調査によると、私のアプリケーションは、Office 2013 を使用しているが、以前のバージョンの Office では機能していないユーザーに対しては正常に機能しているようです。

アプリケーションが以前のバージョンの Excel で確実に動作するようにするにはどうすればよいですか?

4

3 に答える 3

1

Excel がまったくインストールされていなくても、アプリケーションが機能する方法があります。ネイティブの Excel ライブラリを使用できます。その目的で使用できる無料の .NET ライブラリがあります。

XLS 形式の場合、XLSX にはNPOIEPPlusを使用できます。この方法の欠点は、この方法を使用する場合、既存のコードを変更する必要があることです。

この SO の質問から、DataTable を Excel にエクスポートする EPPlus の例:

using (ExcelPackage pck = new ExcelPackage(newFile))
{
  ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Accounts");
  ws.Cells["A1"].LoadFromDataTable(dataTable, true);
  pck.Save();
}

NPOI の例については、こちらをご覧ください。

http://dotnetslackers.com/DataSet/re-511450_Export_an_ADO_NET_DataTable_to_Excel_using_NPOI.aspx

于 2013-09-18T13:50:38.867 に答える