|
Искажение данных при сохранении в .xlsx
| ☑ |
0
mistеr
11.04.18
✎
08:34
|
Выполните, пожалуйста, у себя простейший код:
ТабДок = Новый ТабличныйДокумент;
ТабДок.Область(1, 1).Текст = "560128,69";
ТабДок.Записать("C:\Users\User\Desktop\Пример.xlsx", ТипФайлаТабличногоДокумента.XLSX);
ТабДок.Записать("C:\Users\User\Desktop\Пример.xls", ТипФайлаТабличногоДокумента.XLS97);
Сообщить("Файлы Пример.xls и Пример.xlsx сохранены на Рабочий стол.");
Только исправьте имя пользователя в пути. Открываем полученные файлы в Excel. И видим, что в файле .xls число осталось таким же, а в файле .xlsx превратилось в 560128.689999999.
Если ваш результат отличается от моего, напишите версию платформы.
|
|
1
Cyberhawk
11.04.18
✎
08:36
|
Это тебе на партнерку с такими просьбами. И обработку сразу прикладывай, кому охота копипастой заниматься?
|
|
2
Масянька
11.04.18
✎
08:42
|
(0) А если вместо
ТабДок.Область(1, 1).Текст = "560128,69";
сделать
ТабДок.Область(1, 1).Value = "560128,69";
?
|
|
3
mistеr
11.04.18
✎
09:03
|
(1) Я бы не стал запускать неизвестную обработку, не видя кода.
|
|
4
mistеr
11.04.18
✎
09:05
|
(2) Тогда Excel не распознает значение как число. Не совсем то, что мне нужно, но по крайней мере не искажается.
|
|
5
Масянька
11.04.18
✎
09:08
|
(4) Так формат ячейки поставь.
|
|
6
Cyberhawk
11.04.18
✎
09:09
|
(3) Ну так поэтому:
- обработка должна быть с открытым кодом
- ее код должен быть выложен в текстовом виде на странице скачивания этой обработки
|
|
7
Filippov
11.04.18
✎
09:12
|
(4) Потому что значение в кавычках?
|
|