在使用C#XmlWriter创建的XML excel文档的单元格中显示多行文本值

情况:我正在创建一个C#.Net 4.0 Winform,以使用用户选择的过滤器从Oracle数据库中收集数据表,并将其放入Gridview预览中以进行检出.一旦他们按照自己的喜好过滤了数据,就单击“导出”按钮,该按钮会将数据表转换为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>

它以excel格式显示记录,就像文件是CVS时一样,这是完全格式化的工作表,所有文本都在一行中.很明显,在XML文件中保留了换行符,但是excel工作表是供用户编辑数据的,因此我需要以如何接收的方式显示文本(例如,在多行的情况下).

问题:如果格式化XML文件中的数据,如何格式化导出的XML文件以在多行上显示其单元格内容(并可能增加单元格的高度以匹配)?

解决方法:

如果您创建带有一些多行内容的简单Excel文件并将其另存为XML,则可以在输出中看到以下内容:

在标签中

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

单元格XML:

< Cell ss:StyleID =“ s62”>
    < Data ss:Type =“ String”>第一行&#10;第二行 最后一行< / Data>
  < / Cell>

上一篇:php-HTML中的MultiLine表单?


下一篇:在Eclipse中粘贴多行Java字符串