Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Style for wrapped text with spreadsheetml

I generate my spreadsheet with xslt and want a cell with wrapped text (or better: a text with a line break in it).

So my xslt generates the following XML for the sheetdata:

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

After I'm finished building my Workbook, I open it in Excel; and there's no line break, just a simple one-line string in A1.

has anyone a solution to this? Doesn't have to be in xml or xslt (but would be nice). I could also do some things in c#

like image 778
domueni Avatar asked Apr 13 '12 13:04

domueni


1 Answers

In excel, all style related information is stored in style.xml file. So, the wrapping information should be stored in style.xml and the style Id should be referred in <c r="A1" t="inlineStr"> as one more attribute 's' (which means style). Let me show what do I mean by this..

I do have an excel with some text and the cell is wrapped indeed.

If I see its sheet.xml data it would have s="1" attribute-value item in <c> tag.

So, if I open style.xml and see the cell style info I'll get <cellXfs> tag and a <xf> child tag where I get a <alignment> tag with wrapText attribute with value as "1" ("true" indeed).

I'm unable to post images since I'm new to SO. Hope this helps :)

like image 149
Pramod Avatar answered Oct 01 '22 22:10

Pramod