PowerTools SPREAD for Windows Forms 8.0J > 開発者ガイド > ファイル入出力 > 保存 > シートデータをXML形式で保存 |
構造化された形式でデータを処理する必要がある場合、シートのデータを、XML形式でファイルまたはストリームに保存できます。保存の対象となるのはシートで、コントロールのすべてのシートではありません。書式情報または表現に関わる設定は保存されず、データ領域のセルが保存されます。ヘッダのセルは保存されません。
データをXML形式で保存するには、SheetViewクラスのSaveXmlメソッドを使用します。
SaveXMLメソッドの引数で、データを出力するXMLファイルと、XMLスキーマを出力XMLファイルを指定できます。後述のサンプルコードの実行結果が示すように、最上位(ルート)要素はシート(SheetName)であり、このシート要素内に行要素(Row1、Row2など)が含まれ、各行内には列要素(Column1、Column2など)が含まれ、各列要素内にデータが含まれます。シート要素にはシート名が使用されます。行には一意の名前は付けられていません。各列には一意の名前が付けられ、データを含まない列は無視されます。
|
次のサンプルコードは、シートのデータをXMLファイルに保存します。XMLスキーマもファイルに出力します。
C# |
コードのコピー
|
---|---|
fpSpread1.ActiveSheet.RowCount = 3; fpSpread1.ActiveSheet.ColumnCount = 4; fpSpread1.ActiveSheet.SetValue(2, 0, "テスト"); fpSpread1.ActiveSheet.SetValue(2, 1, 1000); fpSpread1.ActiveSheet.SetValue(2, 2, DateTime.Today); fpSpread1.ActiveSheet.SetValue(2, 3, true); fpSpread1.ActiveSheet.SaveXml("FPSpread-SheetToXML2.xml", "FPSpread-SchemaForXML2.xml"); |
Visual Basic |
コードのコピー
|
---|---|
FpSpread1.ActiveSheet.RowCount = 3 FpSpread1.ActiveSheet.ColumnCount = 4 FpSpread1.ActiveSheet.SetValue(2, 0, "テスト") FpSpread1.ActiveSheet.SetValue(2, 1, 1000) FpSpread1.ActiveSheet.SetValue(2, 2, DateTime.Today) FpSpread1.ActiveSheet.SetValue(2, 3, True) FpSpread1.ActiveSheet.SaveXml("FPSpread-SheetToXML2.xml", "FPSpread-SchemaForXML2.xml") |
出力結果は次のようになります。
XML |
コードのコピー
|
---|---|
<Sheet1> <Row> <Column1>テスト</Column1> <Column2>1000</Column2> <Column3>2016/10/26 0:00:00</Column3> <Column4>True</Column4> </Row> </Sheet1> |
XMLスキーマは、次のようになります。
XML |
コードのコピー
|
---|---|
<?xml version="1.0" encoding="utf-16"?> <xs:schema id="Sheet1" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xs:element name="Sheet1" msdata:IsDataSet="true" msdata:UseCurrentLocale="true"> <xs:complexType> <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="Row"> <xs:complexType> <xs:sequence> <xs:element name="Column1" type="xs:string" minOccurs="0" /> <xs:element name="Column2" type="xs:string" minOccurs="0" /> <xs:element name="Column3" type="xs:string" minOccurs="0" /> <xs:element name="Column4" type="xs:string" minOccurs="0" /> </xs:sequence> </xs:complexType> </xs:element> </xs:choice> </xs:complexType> </xs:element> </xs:schema> |