如何使用OLE连接访问XML Excel格式文件?可以做到吗?我访问过正常的Excel格式2003 xlsx文件,但是当我生成Excel XML格式时,我无法访问OLE。预先感谢您的帮助。使用Ole连接访问MS Excel XML格式
我可以在Excel中手动打开文件,但我无法通过OleDb连接连接到它。我通过共享驱动器上的内存流将自己的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>
您可以更具体吗?您使用的是什么XML格式(有不止一个)?最好发布一个示例代码片段。 – 2009-10-17 14:25:31
您可以在Excel中手动打开XML文件(因为OLE不会自动执行此操作) – Mark 2009-10-17 15:12:29
那么您使用哪种Excel XML格式?这将有助于发布一些XML。 – 2009-10-20 19:10:11