2012-08-22 2 views
1

Я экспорт файла Excel через xml и xslt и получать эту error..when при попытке открыть этот файл ... это файл журналаОшибка: Экспорт в Excel через 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 

любая помощь приветствуется ,

Edit: см полный XML here

+0

Нам действительно нужно увидеть содержимое вашего xls-файла (я предполагаю, что это файл XML Excel), чтобы помочь. –

+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> 

В частности сс: MergeDown и ss: MergeAcross атрибуты. Если вы посмотрите на Microsoft Xml Spreadsheet Reference вы увидите на сс: 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 для клеток, это означает, что следующие две строки будут взяты. Поэтому следующий элемент Row в вашем xml следует изменить, чтобы явно установить индекс в 5, чтобы не перекрываться.

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

Это должно надеяться исправить ваши проблемы.

Смежные вопросы