Имя: Пароль:
1C
1С v8
Искажение данных при сохранении в .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) Потому что значение в кавычках?