我正在从一个已经格式化文本的大excel
文件中读取数据。我通过DataTable
&提取数据到oleDBConnection
对象。 GetOleDbSchemaTable
。但提取的数据不包括任何格式化的信息。
我的要求是,我只需要提取非Strikethrough文本。
我在阅读时没有任何问题,一切都很好。但我的提取应该基于excel
中的文本格式,我无法找到解决方案。
connectionString
中要添加的内容如下:
connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileName + "; Extended Properties=\"Excel 12.0 Xml;HDR=YES;Mode=Read;ReadOnly=True;\"";
约束:
使用OleDBConnection - No Interop
读取DataTable对象
答案 0 :(得分:1)
据我所知,只有ACE驱动程序才能做到这一点。话虽如此,如果限制被解除,这是使用的工具: http://closedxml.codeplex.com/
答案 1 :(得分:0)
您应该切换使用开放XML的方法。它是.NET,而不是COM
信息:http://support.microsoft.com/kb/840817
下载SDK:http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=5124
答案 2 :(得分:0)
如果您不想使用Interop,则必须使用“Open Xml”来格式化信息。没有其他选择。我提到的Biff只是为了正确,但你的连接字符串清楚地表明了XML,所以Biff已经出局了。
打开“打开Xml”后,您可以“模拟”读取范围/表格/单元格,如DataTable
。
根据您的约束,只有#1会为您提供格式信息。