10.06.2009, 11:04 | #1 |
Участник
|
Проблема некорректного вывода данных в EXCEL
Добрый день.
Есть форма с ActiveX, в которую встроен Excel. Но проблема не в этом (скорее всего). Проблема возникает, когда я вывожу в ячейку текстовое значение, вроде "01.001". В Excel'е она превращается в строку "1.001" (если ячейка имеет текстовый формат). Делаю я это через X++: comRange.value2("01.001"); Единстенный вариант решения пока - это выводить текстовые данные с " \' " в начале, что сильно не хочется. Последний раз редактировалось Dark Light; 10.06.2009 в 11:26. |
|
10.06.2009, 12:23 | #2 |
Moderator
|
Эта штука называется OWC.Spreadsheet. Она ПОХОЖА на Excel, но всё же отличается от него: как в худшую (по большей части), так и в лучшую (бывает и такое!) стороны.
Цитата:
Немного успокою Вас и уберегу от дальнейшего безуспешного копания на эту тему: в Spreadsheet, как и в Excel, есть метод CopyFromRecordset(), который выводит на лист заранее приготовленный ADODB.Recordset. Так вот для строковых значений типа "01.001" этот метод в Spreadsheet'е автоматически добавляет начальный апостроф (в "большом" Excel'е такого не происходит). |
|
|
За это сообщение автора поблагодарили: Logger (4). |
30.06.2009, 09:10 | #3 |
Участник
|
К сожалению, проблема экспорта в XL сохраняется, например, если у нас выгружается столбец сумм, где некоторые значения, например 30.05, могут превратиться в дату (30 мая). Для файлов .XLS проблема решается возведением выражения в кавычки:
X++: strfmt("'%1'", SomeTable.SomeValue) |
|
30.06.2009, 09:22 | #4 |
Участник
|
Цитата:
Сообщение от dech
К сожалению, проблема экспорта в XL сохраняется, например, если у нас выгружается столбец сумм, где некоторые значения, например 30.05, могут превратиться в дату (30 мая). Для файлов .XLS проблема решается возведением выражения в кавычки:
X++: strfmt("'%1'", SomeTable.SomeValue) |
|
30.06.2009, 14:43 | #5 |
Участник
|
Необходимо сначала установить нужный формат ячейки Excel (range.NumberFormat()), а потом вставлять данные в эту ячейку.
Если же вы не форматируете ячейки Excel, т.е. оставляете ее в формате "Общий", то Excel оставляет за собой право попытаться самостоятельно определить формат полученных данных и выполнить конвертация в соответствии с настройками отображения. Что он, собственно, и делает. |
|
Теги |
excel, spreadsheet |
|
|