当前位置:编程学习 > XML/UML >>

EXCEL-XML代码相对行列转换绝对

这段时间因为工作的要求,需要在程序中处理xml 格式的excel 文档。但是在期间遇到了一个问题就是Row 和 Cell 的index 属性相对绝对的问题。

之前在bing 找了一下没找到介绍相对转换成绝对的资料。在经过多次的尝试和对比在空白的文档中不同的cell 中输入值后的XML文件的代码。

终于找到了,在什么情况下 Row 和Cell  的index属性的时显时隐的问题。

总结:

1.在空白的文档中第一次在一个单元格中输入值。如果是A行,那么Row 就没有index 属性,如果是1 列,那么Cell 就没有Index 属性。(如果不是第一次输入的话,有可能其他单元格就保存了之前的相对或者是绝对的index,就不一定了)

2.如果在第一次在文档中输入值,连续的输入有值的单元格总是以相对属性表示(即没有显示index属性),Row则是依赖最左边带有绝对Index属性的单元格,或者是第一行(A)。Cell 的也类似(方向向上)。

3.如果在文档中一个单元格设值并且与其相邻的单元格没有值,那这个单元格的Row Cell 的index都是绝对属性的(即显示有index="x")

 \


 

如图,A1,A2,A3 Row Cell都是没有index 属性,因为A1 是第一行第一列,默认两个属性都是1,A2,A3 则是Row属性依赖A1,而他们是第一列默认也是没有Cell 的index 属性。 D5 相对来说独立它的Row Cell 的index属性都是绝对的。 其他的就不说了,直接给xml 代码更好理解。
  xml 源码
 
  1 <?xml version="1.0"?>
  2 <?mso-application progid="Excel.Sheet"?>
  3 <Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
  4  xmlns:o="urn:schemas-microsoft-com:office:office"
  5  xmlns:x="urn:schemas-microsoft-com:office:excel"
  6  xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
  7  xmlns:c="urn:schemas-microsoft-com:office:component:spreadsheet"
  8  xmlns:html="http://www.w3.org/TR/REC-html40">
  9  <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
 10   <Author>user</Author>
 11   <LastAuthor>user</LastAuthor>
 12   <Created>2008-10-27T07:49:59Z</Created>
 13   <LastSaved>2008-10-27T08:20:37Z</LastSaved>
 14   <Version>14.00</Version>
 15  </DocumentProperties>
 16  <OfficeDocumentSettings xmlns="urn:schemas-microsoft-com:office:office">
 17   <AllowPNG/>
 18  </OfficeDocumentSettings>
 19  <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
 20   <WindowHeight>10005</WindowHeight>
 21   <WindowWidth>10005</WindowWidth>
 22   <WindowTopX>120</WindowTopX>
 23   <WindowTopY>135</WindowTopY>
 24   <ProtectStructure>False</ProtectStructure>
 25   <ProtectWindows>False</ProtectWindows>
 26  </ExcelWorkbook>
 27  <Styles>
 28   <Style ss:ID="Default" ss:Name="Normal">
 29    <Alignment ss:Vertical="Center"/>
 30    <Borders/>
 31    <Font ss:FontName="宋体" x:CharSet="134" ss:Size="11" ss:Color="#000000"/>
 32    <Interior/>
 33    <NumberFormat/>
 34    <Protection/>
 35   </Style>
 36   <Style ss:ID="s62">
 37    <Alignment ss:Vertical="Bottom"/>
 38    <Borders/>
 39    <Font ss:FontName="Arial" x:Family="Swiss"/>
 40    <Interior/>
 41    <NumberFormat/>
 42    <Protection/>
 43   </Style>
 44  </Styles>
 45  <Worksheet ss:Name="Sheet1">
 46   <Table ss:ExpandedColumnCount="11" ss:ExpandedRowCount="5" x:FullColumns="1"
 47    x:FullRows="1" ss:StyleID="s62" ss:DefaultColumnWidth="54">
 48    <Column ss:Index="2" ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="42.75"/>
 49    <Column ss:Index="9" ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="65.25"/>
 50    <Column ss:Index="11" ss:StyleID="s62" ss:AutoFitWidth="0" ss:Width="51.75"/>
 51    <Row ss:AutoFitHeight="0" ss:Height="13.5">
 52     <Cell><Data ss:Type="String">A1</Data></Cell>
 53    </Row>
 54    <Row ss:AutoFitHeight="0" ss:Height="13.5">
 55     <Cell><Data ss:Type="String">A2</Data></Cell>
 56     <Cell><Data ss:Type="String">B2</Data></Cell>
 57     <Cell><Data ss:Type="String">C2</Data></Cell>
 58     <Cell ss:Index="5"><Data ss:Type="String">E2</Data></Cell>
 59    </Row>
 60    <Row ss:AutoFitHeight="0" ss:Height="13.5">
 61     <Cell><Data ss:Type="String">A3</Data></Cell>
 62    </Row>
 63    <Row ss:Index="5">
 64     <Cell ss:Index="4"><Data ss:Type="String">D5</Data></Cell>
 65    </Row>
 66   </Table>
 67   <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
 68    <Selected/>
 69    <Panes>
 70     <Pane>
 71      <Number>3</Number>
 72      <ActiveRow>4</ActiveRow>
 73      <ActiveCol>3</ActiveCol>
 74     </Pane>
 75    </Panes>
 76    <ProtectObjects>False</ProtectObjects>
 77    <ProtectScenarios>False</ProtectScenarios>
 78    <x:ViewableRange>R1:R262144</x:ViewableRange>
 79    <x:Selection>R10C6</x:Selection>
 80   </WorksheetOptions>
 81   <c:WorksheetOptions/>
 82  </Worksheet>
 83  <Worksheet ss:Name="Sheet2">
 84   <Table ss:ExpandedColumnCount="1" ss:ExpandedRowCount="1" x:FullColumns="1"
&

补充:Web开发 , 其他 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,