[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
RE: [xsl] Excel XML tranformation
Subject: RE: [xsl] Excel XML tranformation From: "bryan" <bry@xxxxxxxxxx> Date: Tue, 5 Nov 2002 13:09:10 +0100 |
>Hmmm, is there an option to do this? >I just use the "Save As" within Excel 2002 I always save as xml as well, using Excel 2002. Here is an example fragment(not all tags are closed as I don't want to clip the whole table out) this is from the Solvsamp sample that ships with Excel <Table ss:ExpandedColumnCount="11" ss:ExpandedRowCount="190" x:FullColumns="1" x:FullRows="1" ss:StyleID="s21" ss:DefaultRowHeight="10.5"> <Column ss:StyleID="s21" ss:AutoFitWidth="0" ss:Width="64.5"/> <Column ss:StyleID="s21" ss:AutoFitWidth="0" ss:Width="45.75" ss:Span="4"/> <Column ss:Index="7" ss:StyleID="s21" ss:AutoFitWidth="0" ss:Width="22.5"/> <Column ss:StyleID="s21" ss:AutoFitWidth="0" ss:Width="18.75"/> <Column ss:StyleID="s21" ss:AutoFitWidth="0" ss:Width="36"/> <Column ss:StyleID="s21" ss:AutoFitWidth="0" ss:Width="41.25"/> <Column ss:StyleID="s21" ss:AutoFitWidth="0" ss:Width="24.75"/> <Row ss:AutoFitHeight="0" ss:Height="14.25"> <Cell ss:StyleID="s30"><Data ss:Type="String">Quick Tour of Microsoft Excel Solver</Data></Cell> </Row> <Row ss:AutoFitHeight="0" ss:Height="13.5"> <Cell ss:StyleID="s31"><Data ss:Type="String">Month</Data></Cell> <Cell ss:StyleID="s32"><Data ss:Type="String">Q1</Data></Cell> <Cell ss:StyleID="s32"><Data ss:Type="String">Q2</Data></Cell> <Cell ss:StyleID="s32"><Data ss:Type="String">Q3</Data></Cell> <Cell ss:StyleID="s32"><Data ss:Type="String">Q4</Data></Cell> <Cell ss:StyleID="s33"><Data ss:Type="String">Total</Data></Cell> <Cell ss:Index="8" ss:StyleID="Default"/> <Cell ss:StyleID="Default"/> <Cell ss:StyleID="Default"/> <Cell ss:StyleID="Default"/> </Row> here's an example where an empty cell comes in between full cells <Row ss:AutoFitHeight="0"> <Cell ss:StyleID="s35"><Data ss:Type="String">Salesforce</Data></Cell> <Cell ss:StyleID="s41"><Data ss:Type="Number">8000</Data></Cell> <Cell ss:StyleID="s41"><Data ss:Type="Number">8000</Data></Cell> <Cell ss:StyleID="s41"><Data ss:Type="Number">9000</Data></Cell> <Cell ss:StyleID="s41"><Data ss:Type="Number">9000</Data></Cell> <Cell ss:StyleID="s42" ss:Formula="=SUM(RC[-4]:RC[-1])"><Data ss:Type="Number">34000</Data></Cell> <Cell ss:Index="8" ss:StyleID="s48"/> <Cell ss:StyleID="s55"/> <Cell ss:StyleID="s53"><Data ss:Type="String"> Changing cells</Data></Cell> <Cell ss:StyleID="s50"/> </Row> ><Row> > <Cell> > <Data ss:Type="Number">37530</Data> > </Cell> > <Cell> > <Data ss:Type="Number">50006</Data> > </Cell> > <Cell> > <Data ss:Type="String">IRWIN I-100, 6 mm</Data> > </Cell> > <Cell> > <Data ss:Type="Number">24721013699</Data> > </Cell> > <Cell ss:Index="6"> > <Data ss:Type="String">IR-i100.jpg</Data> > </Cell> > <Cell ss:Index="8"> > <Data ss:Type="String">IRcover.jpg</Data> > </Cell> > <Cell> > <Data ss:Type="String">Irwin-b.eps</Data> > </Cell> > <Cell> > <Data ss:Type="String">iri-100a.eps</Data> > </Cell> ></Row> >What I am missing is the empty cells in spreadsheet. I can have them >exported, by filling out the "blanks" with an "'", but the are not exported >by default. Not all the cells are filled out, but in the transformation I >refer to the cells individually (that's all I could figure out so far). In my experience with MS office styling stuff there are a lot of little problems like this. Check if you add an empty cell with nothing in it that cell gets removed but if you increase the size of a cell then in the output an extra cell perhaps will be added. >So when I do a match in the row for the image, like ><xsl:value-of select="ss:Cell[6]\Data"/> >This would actually give me "IRcover.jpg" instead of "IR-i100.jpg" which I >was expecting. Ss:Index is used to keep track of table structure. Try ss:Cell[@ss:Index = '6']/Data >From the documentation: "Specifies the column index of this cell within the containing row. If this tag is not specified, the first instance of a Cell element within a row has an assumed Index="1". Each additional Cell element has an assumed Index that is one higher. " This use of ss:Index, while irritating, also means that one could make a generic table handler which either placed cells in, or left them out, dependant on parameters, etc. passed to the application. XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Excel XML tranformation, Joeri Belis | Thread | RE: [xsl] Excel XML tranformation, Thomas V. Nielsen |
[xsl] About <xsl:param> and <xsl:wi, Hélder Sousa | Date | RE: [xsl] About <xsl:param> and <xs, Stuart Brown |
Month |
Keywords