包含电子表格的文本样式

时间:2012-04-13 13:49:56

标签: xml excel xslt spreadsheetml

我使用xslt生成我的电子表格,并且想要一个带有包装文本的单元格(或者更好:带有换行符的文本)。

所以我的xslt为sheetdata生成以下XML:

<sheetData>
  <row r="1">
    <c r="A1" t="inlineStr">
      <is>
        <t>
          a simple string
          line break jeeeehaaa
        </t>
      </is>
    </c>
  </row>
</sheetData>

完成工作簿的构建后,我在Excel中打开它;并且没有换行符,只是A1中的一个简单的单行字符串。

有人有解决方案吗?不必是在xml或xslt(但会很好)。我也可以在c#

中做一些事情

1 个答案:

答案 0 :(得分:5)

在excel中,所有与样式相关的信息都存储在style.xml文件中。 因此,包装信息应存储在style.xml中,样式Id应在<c r="A1" t="inlineStr">中作为另一个属性''(表示样式)引用。让我说明这是什么意思..

我确实有一些excel有一些文本,而且单元格确实被包裹了。

如果我看到它的sheet.xml数据,那么s="1"标记中会有<c>属性值项。

因此,如果我打开style.xml并查看单元格样式信息,我将获得<cellXfs>标记和<xf>子标记,其中我获得带有wrapText属性的<alignment>标记值为“1”(确实为“真”)。

我不能发布图片,因为我是SO的新手。希望这会有所帮助:)