2012-08-22 122 views
1

我正在Excel导出通过xmlxslt文件导出Excel和得到这个error..when试图打开这个文件......这是日志文件错误:通过XSLT

XML ERROR in Table 
REASON: Bad Value 
FILE: C:\Documents and Settings\mayankp\Desktop\PrintCheckList.xls 
GROUP: Row 
TAG: Cell 
ATTRIB: Index 
VALUE: 0 

XML ERROR in Table 
REASON: Bad Value 
FILE: C:\Documents and Settings\mayankp\Desktop\PrintCheckList.xls 
GROUP: Row 
TAG: Cell 
ATTRIB: Index 
VALUE: 1 

XML ERROR in Table 
REASON: Bad Value 
FILE: C:\Documents and Settings\mayankp\Desktop\PrintCheckList.xls 
GROUP: Row 
TAG: Cell 
ATTRIB: Index 
VALUE: 2 

XML ERROR in Table 
REASON: Bad Value 
FILE: C:\Documents and Settings\mayankp\Desktop\PrintCheckList.xls 
GROUP: Row 
TAG: Cell 
ATTRIB: Index 
VALUE: 0 

XML ERROR in Table 
REASON: Bad Value 
FILE: C:\Documents and Settings\mayankp\Desktop\PrintCheckList.xls 
GROUP: Row 
TAG: Cell 
ATTRIB: Index 
VALUE: 1 

XML ERROR in Table 
REASON: Bad Value 
FILE: C:\Documents and Settings\mayankp\Desktop\PrintCheckList.xls 
GROUP: Row 
TAG: Cell 
ATTRIB: Index 
VALUE: 2 

任何帮助表示赞赏。

编辑:看到完整的XML here

+0

我们确实需要看到你的xls文件的内容(我假设它是一个Excel XML文件)才能够提供帮助。 –

+0

请参阅编辑的文章以查看xml .. –

回答

5

的XML样本是不完整的,但看着它,问题可能在于你的第二排

 <Row ss:Height="15.75" ss:StyleID="s62"> 
     <Cell ss:MergeDown="2" ss:StyleID="m57097196"> 
      <Data ss:Type="String">S/N</Data> 
     </Cell> 
     <Cell ss:MergeDown="2" ss:StyleID="m57097216"> 
      <Data ss:Type="String">PRIORITY</Data> 
     </Cell> 
     <Cell ss:MergeDown="2" ss:StyleID="m57097076"> 
      <Data ss:Type="String">ITEM </Data> 
     </Cell> 
     <Cell ss:MergeAcross="2" ss:StyleID="m57097176"> 
      <Data ss:Type="String">AUDIT TYPE </Data> 
     </Cell> 
     <Cell ss:MergeDown="2" ss:StyleID="m57097236"> 
      <Data ss:Type="String">STATUS </Data> 
     </Cell> 
     <Cell ss:MergeDown="2" ss:StyleID="m57097280"> 
      <Data ss:Type="String">REFERENCE </Data> 
     </Cell> 
     <Cell ss:MergeDown="2" ss:StyleID="m57097056"> 
      <Data ss:Type="String">AUDIT REMARKS</Data> 
     </Cell> 
    </Row> 

特别是SS: MergeDownss:MergeAcross属性。如果你看一下Microsoft Xml Spreadsheet Reference你会为SS看到:MergeAcross它说以下内容:

跨越指定相邻细胞的数量(右除非 从右到左模式)从目前的细胞合并。如上面提到的 ,索引不能重叠。如果存在重复项,则行为是未指定的 ,并且XML电子表格文档被认为是无效的。

因此,您可能会收到错误消息,因为下面的单元格位于第5列,并且这与第4列中的单元格重叠,该单元格分布在以下两个单元格中。您需要明确地将第五个单元格的索引设置为第7列(注意在第五个单元格中使用ss:Index =“7”)。

 <Row ss:Height="15.75" ss:StyleID="s62"> 
     <Cell ss:MergeDown="2" ss:StyleID="m57097196"> 
      <Data ss:Type="String">S/N</Data> 
     </Cell> 
     <Cell ss:MergeDown="2" ss:StyleID="m57097216"> 
      <Data ss:Type="String">PRIORITY</Data> 
     </Cell> 
     <Cell ss:MergeDown="2" ss:StyleID="m57097076"> 
      <Data ss:Type="String">ITEM </Data> 
     </Cell> 
     <Cell ss:MergeAcross="2" ss:StyleID="m57097176"> 
      <Data ss:Type="String">AUDIT TYPE </Data> 
     </Cell> 
     <Cell ss:Index="7" ss:MergeDown="2" ss:StyleID="m57097236"> 
      <Data ss:Type="String">STATUS </Data> 
     </Cell> 
     <Cell ss:MergeDown="2" ss:StyleID="m57097280"> 
      <Data ss:Type="String">REFERENCE </Data> 
     </Cell> 
     <Cell ss:MergeDown="2" ss:StyleID="m57097056"> 
      <Data ss:Type="String">AUDIT REMARKS</Data> 
     </Cell> 
    </Row> 

Additionallly,因为使用SS的:Mergedown,设定为2对于细胞来说,这意味着下一个两行吸收。因此,应该更改xml中的下一个Row元素,以明确地将索引设置为5以避免重叠。

 <Row ss:Index="5" ss:Height="30"> 
     <Cell ss:StyleID="s76"> 
      <Data ss:Type="String">1</Data> 
     </Cell> 

这应该有希望解决您的问题。