08.10.2009, 10:55 | #1 |
Модератор
|
Ошибка XML в "Таблица" Причина: Ошибочное значение
Кто встречался с такой проблемой?
При нажатии на кнопку "Export to Microsoft Office Excel" (Spread Sheet) вываливается ошибка. PHP код:
|
|
08.10.2009, 11:10 | #2 |
Боец
|
режет глаз отсутствие слэшей...
X++: C:DOCUME~1AXUSER~1LOCALS~1TempOWCSheet5216.XML |
|
08.10.2009, 11:32 | #3 |
Модератор
|
Цитата:
Ошибка XML в "Таблица" Причина: Ошибочное значение Файл: C:\DOCUME~1\AXUSER~1\LOCALS~1\Temp\OWCSheet5216.XML Группа: Cell Тег: Data Значение: 0512-02-01 Ошибка XML в "Таблица" Причина: Ошибочное значение Файл: C:\DOCUME~1\AXUSER~1\LOCALS~1\Temp\OWCSheet5216.XML Группа: Cell Тег: Data Значение: 0608-03-07 |
|
08.10.2009, 11:43 | #4 |
Участник
|
Дата "0512-02-01" действительно похожа на ошибочную Возможно стоит поискать код, который генерит дату 512 года.
|
|
08.10.2009, 11:50 | #5 |
Сам.AX
|
|
|
08.10.2009, 11:53 | #6 |
Участник
|
Спасибо, возможно промахнулся. Ну тут уже автору темы виднее что это за значение. Но очень уж оно похоже на дату.
upd: Фрагмент экселевского XML-a <Cell ss:StyleID="s21"><Data ss:Type="DateTime">2001-10-05T00:00:00.000</Data></Cell> Последний раз редактировалось Lemming; 08.10.2009 в 11:57. |
|
08.10.2009, 12:09 | #7 |
Модератор
|
Решение найдено.
Не смотря на следующий код, Excel сам переобразовал № договора = "0512/02" в дату. Игнорировав команду activeCell.NumberFormat("General"); (Формат пробовал разный) X++: ....
activeCell = xExcelSheetManager.selected(_currentRow, nextCol);
activeCell.NumberFormat("General");
....
activeCell.formula(TurnoverVendEngineObject.dimensionName(iNum, sysDimNum));
xExcelSheetManager.activeCell_fontItalic(_italic);
xExcelSheetManager.activeCell_fontBold(_bold);
.... X++: activeCell.formula('\''+TurnoverVendEngineObject.dimensionName(iNum, sysDimNum)); |
|
08.10.2009, 16:45 | #8 |
Участник
|
General - это формат "Общий". Т.е. фактически, вы предлагаете Excel самому определить какой формат у тех данных, которые он получает. Так что, все правильно. Просили определить, он и определяет в меру своего понимания.
Чтобы указать формат именно текстовый надо дать команду X++: activeCell.NumberFormat("@"); |
|