2012-03-20 11 views
1

Microsoft Excelで開くXMLファイルにデータを保存する際に質問があります。私は、Visual C++でMFCを使用してレポートコントロールを構築しました。単純なCSV(カンマ区切り値)ファイルを使用してデータをExcelにエクスポートしています。 CSVメソッドは、Excelのレポートのすべての行と列を表示するのでうまくいきました。XMLにデータをエクスポートしてExcelで開く

しかし、CSVメソッドは、データをエクスポートするときにデータ型を無視するため、Excelで開いた文字列内のすべてのセルを表示するため、各列のデータ型を保存する必要があります。レポート内のセルのデータ型は、クライアントがExcelでエクスポート(または開く)したレポートデータに対してマクロを実行するため、重要です。

この問題を解決するためにXMLを使用したいと考えています。フォーマットとスキーマを提供するので、XMLでデータ型を保存することは可能ですか?カスタムアプリケーションがXMLを使用してデータ型を保持しながらExcelで開くデータを保存するためのリンクやポインタを教えてください。

ありがとうございます。

+0

申し訳ありませんが、あなたのための私の答えの仕事をしたか、私はオフトラックでしたか? – MiMo

答えて

0

ExcelでこのようなXMLファイルを作成し、オープンした場合:

<rows> 
    <row> 
    <name>Name 1</name> 
    <number>123.45</number> 
    <date>2012-03-21</date> 
    </row> 
    <row> 
    <name>Name 2</name> 
    <number>678.01</number> 
    <date>2012-03-22</date> 
    </row> 
</rows> 

をExcelが自動認識データ型のかなり良い仕事をしていません - それはXMLは、関連がないことをにもかかわらず文句を言うでしょうスキーマあなたができるスキーマファイルで

<rows xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="rows.xsd"> 
    <row> 
    <name>Name 1</name> 
    <number>123.45</number> 
    <date>2012-03-21</date> 
    </row> 
    <row> 
    <name>Name 2</name> 
    <number>678.01</number> 
    <date>2012-03-22</date> 
    </row> 
</rows> 

、その後、あなたはXMLで参照:あなたはXMLスキーマファイル(rows.xsd)を作成するXMLにスキーマを関連付けるために

データの種類を指定して構造を記述することができますが、常に重要ではないXSD構文を理解する必要があります。

も参照してくださいこの:http://support.microsoft.com/kb/827294(それはそれではなく、「XSD」を言うべき「XSL」のことを話すことにかかわらず、注意してください)

関連する問題