如何使用OLE连接访问XML Excel格式文件?可以吗?我已经访问了正常的Excel格式2003 xlsx文件,但是当我生成Excel XML格式时,我无法使用OLE访问。提前感谢您的帮助。
我可以在Excel中手动打开文件,但我无法通过OleDb Connection连接到它。我通过共享驱动器上的内存流将我自己的XML转储到Excel文件中。如果我手动将文件从Excel保存为Excel 97-2003格式。但是当我将其保存为XML文件时,我无法通过dataconnection访问它。
我的连接看起来像这样......
String connString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=" + file_path + ";Extended Properties=Excel 8.0;";
感谢先进的帮助。
这是我保存到xls文件并在Excel中打开它可以正常工作的代码。我从我的应用程序生成XML。我正在尝试使用Ole访问同一个文件?
<html 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>
<style>
<!--table
@page
{margin:0.0in .0in 0.34in .0in;
mso-header-margin:.5in;
mso-footer-margin:.18in;
mso-footer-data:"Page &P of &N";
mso-page-orientation:landscape;}
-->
</style>
<!--[if gte mso 9]><xml>
<x:ExcelWorkbook>
<x:ExcelWorksheets>
<x:ExcelWorksheet>
<x:Name>Summary</x:Name>
<x:WorksheetOptions>
<x:FitToPage/>
<x:FitToPage/>
<x:Print>
<x:FitHeight>32767</x:FitHeight><x:ValidPrinterInfo/>
<x:HorizontalResolution>600</x:HorizontalResolution>
<x:VerticalResolution>600</x:VerticalResolution>
<x:DoNotDisplayGridlines/>
<x:ProtectContents>False</x:ProtectContents>
<x:ProtectObjects>False</x:ProtectObjects>
<x:ProtectScenarios>False</x:ProtectScenarios>
</x:WorksheetOptions>
</x:ExcelWorksheet>
<Worksheet ss:Name="DATE1">
<Table ss:ExpandedColumnCount="13" ss:ExpandedRowCount="2" x:FullColumns="1"
x:FullRows="1" ss:DefaultColumnWidth="54" ss:DefaultRowHeight="14.25">
<Row ss:Height="63.75">
<Cell ss:StyleID="s63"><Data ss:Type="String">DATE</Data></Cell>
<Cell ss:StyleID="s63"><Data ss:Type="String">something1</Data></Cell>
<Cell ss:StyleID="s63"><Data ss:Type="String">something2</Data></Cell>
<Cell ss:StyleID="s63"><Data ss:Type="String">something3</Data></Cell>
<Cell ss:StyleID="s63"><Data ss:Type="String">something4</Data></Cell>
<Cell ss:StyleID="s63"><Data ss:Type="String">something5</Data></Cell>
<Cell ss:StyleID="s63"><Data ss:Type="String">something6</Data></Cell>
<Cell ss:StyleID="s63"><Data ss:Type="String">something7</Data></Cell>
<Cell ss:StyleID="s63"><Data ss:Type="String">something8</Data></Cell>
<Cell ss:StyleID="s63"><Data ss:Type="String">something9</Data></Cell>
<Cell ss:StyleID="s63"><Data ss:Type="String">something10</Data></Cell>
<Cell ss:StyleID="s63"><Data ss:Type="String">something11</Data></Cell>
<Cell ss:StyleID="s63"><Data ss:Type="String">something12</Data></Cell>
</Row>
<Row>
<Cell ss:StyleID="s65"><Data ss:Type="String">something</Data></Cell>
<Cell ss:StyleID="s65"><Data ss:Type="Number">268763</Data></Cell>
<Cell ss:StyleID="s65"><Data ss:Type="Number">1331476</Data></Cell>
<Cell ss:StyleID="s65"><Data ss:Type="Number">48267</Data></Cell>
<Cell ss:StyleID="s65"><Data ss:Type="Number">1283209</Data></Cell>
<Cell ss:StyleID="s65"><Data ss:Type="Number">34589</Data></Cell>
<Cell ss:StyleID="s65"><Data ss:Type="Number">0.97304492097546003</Data></Cell>
<Cell ss:StyleID="s65"><Data ss:Type="Number">23921</Data></Cell>
<Cell ss:StyleID="s65"><Data ss:Type="Number">10668</Data></Cell>
<Cell ss:StyleID="s65"><Data ss:Type="Number">0.99168646728631105</Data></Cell>
<Cell ss:StyleID="s65"><Data ss:Type="Number">1730</Data></Cell>
<Cell ss:StyleID="s65"><Data ss:Type="Number">8938</Data></Cell>
<Cell ss:StyleID="s65"><Data ss:Type="Number">99.303464985049203</Data></Cell>
</Row>
</Table>
<WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
<FitToPage/>
<Print>
<FitHeight>32767</FitHeight>
<ValidPrinterInfo/>
<HorizontalResolution>600</HorizontalResolution>
<VerticalResolution>600</VerticalResolution>
</Print>
<Selected/>
<Panes>
<Pane>
<Number>3</Number>
<RangeSelection>R1C1:R2C13</RangeSelection>
</Pane>
</Panes>
<ProtectObjects>False</ProtectObjects>
<ProtectScenarios>False</ProtectScenarios>
</WorksheetOptions>
</Worksheet>
</Workbook>
</xml><![endif]-->
</head>
</html>
答案 0 :(得分:1)
从您更新的问题看起来好像您正在使用Excel的HTML导出(它将某种XML嵌入到可能由Internet Explorer呈现的导出页面的HTML头中。我认为这种格式可以追溯到Excel 2000和不支持数据绑定。
您是否因遗留原因需要使用此类格式?到目前为止,有更好的选择,例如使用Office 2003新的基于XML的 Office OpenXML 格式或Excel 2003引入的 XML Spreadsheet 2003 格式。
答案 1 :(得分:0)
扩展属性= Excel 12.0?