2011-06-10 22 views
1

ExcelアドインでOfficeExcel2003XMLToolsAddin ExcelワークシートのXMLマッピングを定義できました(このアドインは範囲をXMLリストに変換します)。を手動で [名前を付けて保存]を使用してExcelファイルをXMLファイルとして保存します。xmlMapsを使用してExcelファイルをXMLにプログラムでエクスポートする

は、Excelが正しく私は(うまくいけば使ってC#、.NET 4.0)プログラムでが同じことをやりたい、今すぐ

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<Root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <Row> 
     <brand>Brand1</brand> 
     <Italian>Description1</Italian> 
     <English>Description2</English> 
    </Row> 
    <Row> 
     <brand>Brand2</brand> 
     <Italian>Description3</Italian> 
     <English>Description4</English> 
    </Row> 
</Root> 

のようなものを生成します。

ノー成功を収めて、このコードXlFileFormat reference pageに記載されているすべての列挙にしようとして

Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application(); 
xlApp.Workbooks.OpenXML(@"excelFile.xls"); 
xlApp.Workbooks[1].SaveAs(xmlFile, XlFileFormat.SOME_FORMAT); 

を使用して、npoiとMicrosoft Officeの相互運用Excelを使用してみました。

提案がありますか? Excelのプロバイダのおかげ

答えて

1

これは

Application app = new Application(); 
app.Workbooks.Open(@"C:\Sample.xlsx", 
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
        Type.Missing, Type.Missing, Type.Missing, Type.Missing, 
        Type.Missing, Type.Missing); 
string data = string.Empty; 
app.ActiveWorkbook.XmlMaps[1].ExportXml(out data); 
app.Workbooks.Close(); 

データはXML

+0

うん!それは完璧に動作します。まさに私が探していたもの。 Great –

+0

app.Workbooks.Close()を試してみてください。 – craigtadlock

関連する問題