3

状況:ユーザーが選択したフィルターを使用してOracle DBからデータテーブルを収集するC#.Net 4.0 Winformを作成し、それらをGridviewプレビューに入れてチェックアウトしています。データを好みに合わせてフィルタリングしたら、エクスポートボタンをクリックして、データテーブルをXMLドキュメントに変換します。このXMLドキュメントは、ダブルクリックするとExcelで開きます。XML Excelファイル内では、各レコードは次のようになります。

  <ss:Row>
    <ss:Cell ss:StyleID="General">
      <ss:Data ss:Type="String">110002</ss:Data>
    </ss:Cell>
    <ss:Cell ss:StyleID="General">
      <ss:Data ss:Type="String">GALV.047M X 3 G90 A653 PASSDRY SQ GR33</ss:Data>
    </ss:Cell>
    <ss:Cell ss:StyleID="General">
      <ss:Data ss:Type="String">.047 MIN X 3 X COIL
!GALV G90 ASTM A 653 SQ GR33 PASS DRY*

20" ID
5 TON MAX LIFT
SKID EYE TO THE SKY
3" X 3" SPACER IN BETWEEN EACH BUNDLE
SUPPLY TEST REPORTS CHEMICAL</ss:Data>
    </ss:Cell>
  </ss:Row>

これは、ファイルがCVSである場合と同じように、Excelでレコードを表示します。これは、すべてのテキストが1行にある完全にフォーマットされていないワークシートです。明らかにXMLファイル内では改行が保持されますが、Excelシートはユーザーがデータを編集するためのものであるため、受信した方法でテキストを表示する必要があります(つまり、その場合は複数行に表示する必要があります)。

質問:XMLファイルのデータがフォーマットされる方法である場合、エクスポートされたXMLファイルをフォーマットしてセルの内容を複数行に表示する(そしておそらくセルの高さを一致させる)にはどうすればよいですか?

4

1 に答える 1

4

複数行の定数を含む単純なExcelファイルを作成し、XMLとして保存すると、次の出力で確認できます。

タグで

<Style ss:ID="s62">
   <Alignment ss:Vertical="Bottom" ss:WrapText="1"/>
</Style>

セルXML:

<Cell ss:StyleID="s62"> <Data ss:Type="String">First Line&#10;Second Line&#10;Last Line</Data> </Cell>

于 2012-05-11T16:14:09.000 に答える