1

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

Excelは次のようなものを正しく生成します

<?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>

今、私はプログラムで同じことをしたいと思います(できればc#、.NET 4.0を使用して)。

このコードを使用して、npoiとMicrosoft Office Interop Excelを使用してみました

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);

XlFileFormat リファレンス ページにリストされているすべての列挙を試してみましたが、成功しませんでした。

助言がありますか?ありがとう

4

2 に答える 2

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 が含まれている必要があります

于 2011-06-30T15:16:45.227 に答える
1

Linq から Excel へのプロバイダー:

http://solidcoding.blogspot.com/2008/01/linq-to-excel-provider-25.html

そして、linq to xmlを使用します....

于 2011-06-10T16:25:25.237 に答える