2017-09-14 77 views
0

我使用的.NET 4.6框架,我必须阅读多张预定义的模板excel工作簿在asp.net/c#代码,我知道两种方法来解决问题使用DocumentFormat.OpenXml.dllMicrosoft.Office .Interop.Excel.dll程序集。哪个更好的选择OpenXml或Microsft.Office.Interop.Excel读取c#中的excel文件?

但是我在混淆使用哪一个作为我没有专业知识来决定。 我的问题是; 在解决方案中使用它们有哪些优缺点? 有没有比另一个更好的? 你能解释一下,我可以选择一个吗?

回答

3

答案相对简单:如果将“excel文件”和“asp.net”结合在同一句中,绝不要使用Interop。 Interop打开一个真正的excel实例并操纵它来设置/检索数据。 速度很慢,可能无法预料地挂起,可能会有阻止程序的弹出窗口(您确定要覆盖此文件?),这是一个资源浪费。 DocumentFormat.OpenXml.dll可以工作,但使用起来很复杂,特别是如果您有用户提供的数据表,您想操作它。 像EPPLUS这样的第三方库是更高层次和用户友好的,所以我会推荐这样的库。

+0

我有两张预定义的模板列。可以使用DocumentFormat.OpenXml.dll吗?我不想在我的情况下使用任何第三方库。 – Simant

+0

可能是的,但它确实取决于表单的复杂性。 –

+0

使用OpenXML SDK和Interop更有效,但代码更复杂一些。 OpenXML SDK和Excel Interop都是第三方库。如果你不想使用任何第三方库,那么你将需要使用System.IO.Packaging + System.Xml,没有其他的本地.NET方式来读取Excel文件,其他的一切都是从第三方提供的。 。 – NixonUposseen