C#通过OLEDB从Excel中提取格式化的文本
我正在读取已格式化文本的大型excel
文件中的数据。 我通过oleDBConnection
& GetOleDbSchemaTable
将数据提取到DataTable
对象。 但提取的数据不包含任何格式化的信息。
我的要求是,我只需要提取非删除线文本。
我在阅读时没有任何问题,一切都很好。 但我的提取应该基于excel
中的文本格式,我无法find解决scheme。
任何要在connectionString
中添加的内容如下:
connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileName + "; Extended Properties=\"Excel 12.0 Xml;HDR=YES;Mode=Read;ReadOnly=True;\"";
约束:
-
使用OleDBConnection – 没有互操作性
-
读取到DataTable对象
据我所知,你不能只用ACE驱动程序来做这件事。 这就是说,如果约束被解除,这是使用的工具: http : //closedxml.codeplex.com/
你应该改变你的方法来使用开放的XML。 这是.NET,而不是COM
信息: http : //support.microsoft.com/kb/840817
下载SDK: http : //www.microsoft.com/en-us/download/details.aspx? displaylang = en& id=5124
如果您不想使用Interop,则必须使用“Open Xml”获取格式信息。 没有别的select。 有比夫,我只提到正确性,但是你的连接string清楚地表示XML,所以比夫已经出来了。
一旦你打开“Open Xml”,你就可以像“ DataTable
一样“模拟”读取范围/表格/单元格。
有了你的限制,只有#1会给你格式化信息。