2

我想有一个简单的例子来使用 C# 中的 Microsoft.Office.Interop.Excel.Application 对象写入 Excel 电子表格

请哪位帮忙谢谢

4

3 回答 3

8

根据 MS 的说法,服务器场景(如 ASP.NET)不支持互操作

有许多选项可以读取/编辑/创建 Excel 文件,而无需在服务器上进行互操作/安装 Excel:

MS 提供免费的 OpenXML SDK V 2.0 - 请参阅http://msdn.microsoft.com/en-us/library/bb448854%28office.14%29.aspx(仅限 XLSX)

这可以读写 MS Office 文件(包括 Excel)。

另一个免费选项参见http://www.codeproject.com/KB/office/OpenXML.aspx(仅限 XLSX)

如果您需要更多处理旧 Excel 版本(如 XLS,不仅是 XLSX)、渲染、创建 PDF、公式等,那么有不同的免费和商业库,如ClosedXML(免费,仅限 XLSX)、EPPlus(免费,仅限 XLSX) , Aspose.Cells , SpreadsheetGear , LibXLFlexcel等。

于 2013-04-17T19:55:51.433 回答
3

这是一个创建新工作簿并将值写入单元格的简单示例。

using Excel = Microsoft.Office.Interop.Excel;
var xlApplication = new Excel.Application();
var workbooks = xlApplication.Workbooks;
Excel.Workbook sampleWorkbook = workbooks.Add();
Excel.Worksheet sampleWorksheet = sampleWorkbook[1];
Excel.Range sampleCell = sampleWorksheet.get_Range("A1");
sampleCell.Value = "New Value";
sampleWorkbook.SaveAs("Output.xlsx");
sampleWorkbook.Close();
xlApplication.Quit();
于 2013-04-17T19:34:19.643 回答
2

根据我之前使用 Microsoft.Office.Interop.Excel 的经验,我可以告诉你,这将成为地狱。相反,我建议使用像 EPPlus 这样的托管 Excel 引擎

http://epplus.codeplex.com/

我使用 EPPlus 实现了几个 Excel 导出功能,效果很好。

于 2013-04-17T20:07:46.617 回答