【发布时间】:2011-07-06 23:56:37
【问题描述】:
我想知道如何通过在 ASP.NET 中使用 c# 编辑一些单元格来编辑现有的 excel 文件模板?
我已经尝试通过为 excel 库添加 COM 组件来使用 excel 库。但这需要在服务器上安装 excel。当多个用户同时工作时,它会产生一些问题。
有没有办法使用驱动程序而不是使用 excel 库来编辑现有的 excel 文件?
提前致谢!!!
【问题讨论】:
我想知道如何通过在 ASP.NET 中使用 c# 编辑一些单元格来编辑现有的 excel 文件模板?
我已经尝试通过为 excel 库添加 COM 组件来使用 excel 库。但这需要在服务器上安装 excel。当多个用户同时工作时,它会产生一些问题。
有没有办法使用驱动程序而不是使用 excel 库来编辑现有的 excel 文件?
提前致谢!!!
【问题讨论】:
是的。有可用的 C# 库可用于读取/写入 excel 文件。
看看这个几乎相似的问题(大多数答案都是针对 Office 2007): Please suggest ways to manipulate Excel spreadsheet without using Excel object as web server does not have MS office installed
请参阅以下答案以及您正在使用 2003 和更早版本的 excel 的其余线程。 Create Excel (.XLS and .XLSX) file from C#
【讨论】:
您可以使用 OleDb 在 Excel 工作表上执行 SELECT、INSERT 和 UPDATE 语句。例如,以下语句在Sheet1 中插入一个额外的行,用值Hello World! 填充标记为MyText 的列。
using (OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\my\\excel\\file.xls;Extended Properties='Excel 8.0;HDR=Yes'")) {
conn.Open();
OleDbCommand cmd = new OleDbCommand("INSERT INTO Sheet1 (MyText) VALUES (?)", conn);
cmd.Parameters.AddWithValue("@mytext", "Hello World!");
cmd.ExecuteNonQuery();
}
PS:您没有在 Web 应用程序中使用 Office 自动化是正确的。这不是官方支持的方案。
【讨论】:
你可以试试Aspose.Cells for .NET。该组件允许您创建和操作 Excel 文件,而无需安装 Microsoft Excel。此外,该组件是一个标准的 .NET 程序集,可以在所有 Windows 操作系统的 32 位和 64 位系统上使用。您可能还会看到Aspose.Cells for .NET Documentation。 API 非常简单。
披露:我在 Aspose 担任开发布道师。
【讨论】: