3

Webアプリでサーバー側のC#からExcelのXMLマップ機能を使用したいと思います。XMLマップを使用すると、XMLスキーマをブックに関連付け、スキーマのどの部分にどのセルをマップするかを指定できます。そこから、XMLファイルをインポートしてセル値を更新し、最新の値を含むXMLをエクスポートできます(つまり、手動で変更されている場合)。これは、Excelの[開発者]タブで手動で行うことができます。

Aspose Cellsのライセンスはすでに持っていますが、(この分野での最近の作業にもかかわらず)XMLマップを完全にはサポートしていないようです。誰かがこれで成功しましたか?

Excel Interopを使用してテストを作成しました。これは機能します(つまり、プログラムでXMLマップを設定し、値のインポートとエクスポートの両方に使用できます)。要約すると、次のようになります。

XmlMap map = workbook.XmlMaps.Add(xmlSchema, Missing.Value);

// map cell C3 to the question text
var worksheet = (Worksheet)workbook.Worksheets[1];
Range cell = (Range)worksheet.Cells[3, 3];
cell.XPath.Clear(); // just in case
cell.XPath.SetValue(map, "/Root/Question/Text", Missing.Value, false);

// import the XML to populate the mapped cells
map.ImportXml(xmlData, true);

ただし、Excelプロセスをバックグラウンドで実行することに依存しているため、サーバーでの使用にはあまり適していません。

MicrosoftのOpenXMLSDKを使用して、XMLマップを介してXMLをインポートまたはエクスポートすることは可能ですか?Mapクラスを見つけましたが、これは既存のマップのメタデータを表しているだけだと思います。SDKにはこの種の変換ロジックが含まれていますか、それともワークシートのコンテンツをクラスとして表すだけですか?

4

1 に答える 1

4

XMLMaps機能の詳細をさらに提供するために、現在、Aspose.CellsはXMLマップに関する次のオプションのみをサポートしています。

  1. テンプレートファイルにXmlMapsを保存し、それを使用してファイルを再保存できます。
  2. 外部ソースからのXMLマッピングのインポートをサポートします。
  3. XMLマッピングを削除またはチェックできます。

現在、次の機能はサポートされていません。

  1. XMLマップをExcelファイルに追加することはできません。
  2. 外部ファイルを保存するためにXMLマップをエクスポートしません(2013年の第2四半期にxmlマップのエクスポートをサポートするように努めます)

私の名前はNayyerで、Asposeの開発者エバンジェリストです。

于 2012-12-26T07:16:28.750 に答える