![](/img/trans.png)
[英]How to copy excel worksheets Into another excel workbook without opening the excel file in c# winforms?
[英]Get Worksheets in Excel Workbook without opening file
我正在构建一个ASP.NET MVC 2 Intranet应用程序,用户将在其中上载数据文件。 如果文件是excel电子表格,则应为用户提供选择要导入的工作表的选项。 其中一些文件可能非常大,因此将被异步导入。 但是,最好在不保存/打开文件的情况下获取工作表列表。
这可能吗? 还是有人可以提出一个体面的解决方法(不求助于在文本框中接受工作表名称)?
我可以想到的唯一解决方法是,尽管我犹豫称其为体面,但却涉及到使用Silverlight并依赖于2007格式(Open XML或其他名称)的Excel文件。 然后,您可以使用Silverlight在本地打开文件,并(恶意地)获取工作表的列表。 您也可以使用Silverlight进行实际的上传。 或者,您可以提取相关工作表,然后仅上传这些工作表。
您可以使用System.IO.Packaging
库来访问该信息,该库将允许您访问组成Excel文档的XML,从而可以查看组成Excel文档的工作表。
另一个选择是使用Open XML SDK 2.0并通过强类型对象(即WorkSheetPart
访问工作表。 无论是快还是干净,因为这将需要大量工作,但是除了Alex的建议之外,还有两个选择。
如果只是将数据导入数据库,则可以使用OLE JET 4.0驱动程序,并使用System.Data.SqlConnection.GetSchema(我认为这是函数名称)访问架构。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.