如何使用ACE.OLEDB.12.0读取HTML文件

时间:2018-06-05 13:57:47

标签: c# excel aceoledb

我试图用Microsoft.ACE.OLEDB.12.0读取.xls文件。我能够读取一些文件,但其中一些文件被证明是扩展名为.xls的html文件并抛出此错误:"External table is not in the expected format."这些HTML文件的方案如下:

<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40">
 <head>
  <meta http-equiv="Content-Type" content="text/html;" charset="utf-8"> 
  <meta name="ProgId" content="Excel.Sheet">
  <meta name="Generator" content="Microsoft Excel 11">
  <title>Document and Custom Property </title>
  <!--[if gte mso 9]><xml><o:CustomDocumentProperties><o:BUSINESSGROUP dt:dt="string">CHANNELA</o:BUSINESSGROUP><o:BUSINESSGROUPID dt:dt="string">2</o:BUSINESSGROUPID></o:CustomDocumentProperties></xml><![endif]-->
 </head>
 <body>
 ...
 </body>
</html>

我将连接字符串更改为 Provider=Microsoft.ACE.OLEDB.12.0; Data Source=file.xls;Extended Properties="HTML Import"以便阅读HTML文件。但是,它的工作速度很慢。此外,它会跳过<div>或其他标记,只能从正式<td>标记中读取。但Excel 2013可以非常快速地打开这样的HTML文件,并且不会跳过任何HTML标记内容。

如何读取Excel读取的此类HTML文件?

0 个答案:

没有答案