【发布时间】:2013-02-20 06:20:25
【问题描述】:
我正在使用 Microsoft.ACE.OleDb 将数据写入 Excel。我只想使用 Microsoft.ACE.OleDb 来格式化工作表?我的要求是我不想使用 Microsoft.InterOp 和 EPPlus 等第三方库。我该怎么做?
【问题讨论】:
我正在使用 Microsoft.ACE.OleDb 将数据写入 Excel。我只想使用 Microsoft.ACE.OleDb 来格式化工作表?我的要求是我不想使用 Microsoft.InterOp 和 EPPlus 等第三方库。我该怎么做?
【问题讨论】:
不,你不能。 Microsoft.ACE.OleDb 允许你操作数据,而不是格式化单元格和文本
如果你不想使用Interop.Excel,你应该看看Late binding
【讨论】:
创建带格式的真实 Excel 工作表的唯一可靠方法是使用 Aspose.Cells for .NET。
CodePlex 上还有 ExcelPackagePlus,它是开源的,但是当您的文本包含无效的 www/mail-Link 时,它有一个错误会阻止读取或写入工作集,例如包含 @ 符号的密码,Excel 错误地将其解释为链接。
还有carlosag.excelwriter,但它并没有真正创建一个excel文件,它创建一个可以被excel读取和显示的XML文件。 然而,Excel 2010 会发出警告“不是有效的 excel 文件”,这可能会吓跑用户。
我不建议使用 ACE.OleDb,您会遇到 32/64 位问题,因为 ACE 驱动程序已经在生命支持中并且已被弃用,因此在 64 位窗口上不可用(如果您有 64 位 excel 则很重要以及)。
出于同样的原因,我不会使用 Interop.Excel。
【讨论】: