情况:我正在创建一个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”>第一行 第二行
最后一行< / Data>
< / Cell>