情况说明:我正在创建一个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>
这个问题涉及IT技术,需要将excel表格中的记录显示为逗号分隔值(CSV)格式,即完全未格式化的工作表,其中所有文本都显示在单行上。显然在XML文件中,换行符得到保留,但是excel表格旨在供用户编辑数据,因此我需要按照接收到的方式显示文本(即如果这是多行文本,则需要显示在多行中)。
问题是:如果XML文件中的数据格式是多行的,如何格式化导出的XML文件以在多行中显示其单元格内容(并可能增加单元格高度以匹配)?