C#-删除不使用互操作命名空间的Excel行

C#-删除不使用互操作命名空间的Excel行,c#,.net,excel,interop,office-interop,C#,.net,Excel,Interop,Office Interop,我正在搜索一种C#方式来删除工作表中的(空)Excel行,而不使用Microsoft.Office.Interop.Excel命名空间 找到了许多具有互操作命名空间的示例,如。但是,有没有一种方法可以不使用第三方工具(仅使用.NET)就可以做到这一点 谢谢你的帮助 这篇stackoverflow文章可能会有所帮助-它讨论了一些不需要安装Office就可以操作excel的库。 这个问题与VB.NET有关,但我相信讨论的选项也适用于C# 仅依赖标准.NET Framework命名空间处理Excel文

我正在搜索一种C#方式来删除工作表中的(空)Excel行,而不使用Microsoft.Office.Interop.Excel命名空间

找到了许多具有互操作命名空间的示例,如。但是,有没有一种方法可以不使用第三方工具(仅使用.NET)就可以做到这一点


谢谢你的帮助

这篇stackoverflow文章可能会有所帮助-它讨论了一些不需要安装Office就可以操作excel的库。 这个问题与VB.NET有关,但我相信讨论的选项也适用于C#


仅依赖标准.NET Framework命名空间处理Excel文件的选项有限。我想到了两种可能性。第一种方法是“最简单的”,但仅当您的主要兴趣是将内容作为数据库使用时才适用。第二种方法允许您使用Excel工作簿做几乎“任何事情”,但学习曲线会很陡峭

这两种方法都适合在服务器环境中工作(不同于那些需要Excel应用程序的环境),并且不需要任何许可证

  • 可以使用OLE DB连接(ACE OLE DB提供程序)与Excel工作簿的内容进行通信。它允许连接到单个工作表以及命名范围。支持基本的SQL功能
  • Excel2007及更高版本的文件格式为OfficeOpenXML(OOXML)。这些文件是包含构成工作簿的文件(大部分为xml)的“zip包”。因此,任何可以使用Zip包和XML的标准工具都可以用来打开Excel工作簿,编辑内容,然后关闭工作簿备份。在.NET Framework中,这些名称空间将是System.IO.Packaging(在WindowsBase.dll中,通常需要特别引用)和System.XML名称空间

    文件格式的文档是ECMA-376标准()。一个有用的在线资源是openxmldeveloper.org

    请注意,Microsoft还提供了OpenXMLSDK,这是一个免费下载,可以随您的解决方案免费分发。OpenXMLSDK减少了“学习曲线”,因为它减少了您需要的关于OOXML文件格式的知识量。我提到这一点是为了完整性,因为我知道直接使用文件格式有多困难。此外,由于DLL是可自由分发的,并且可以作为解决方案的一部分进行复制,因此它可能满足您的要求


  • 现在还不清楚您的意思是不使用Excel应用程序,还是只想在Excel中操作工作簿而不引用PIAs/COM库。这两种方法都是可能的——不使用第三方工具,但方法非常不同。在我的情况下,最好的解决方案是不使用任何第三方工具和参考。只有网。把它添加到问题中!您仍然没有回答我的问题:您的解决方案是否应该与Excel应用程序(“interop”)一起工作?问另一个问题:这会在服务器环境中吗?你能指望Excel应用程序出现吗?不。。。我不能指望互操作。。。Excel不存在。