Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Формат чисел в экселе для ADO (http://forums.kuban.ru/f1040/format_chisel_v_eksele_dlya_ado-8295435.html)

который не честный 25.04.2017 07:40

Формат чисел в экселе для ADO
 
Здравствуйте.
Подскажите, как правильно задавать формат числа для Win 7.
Перед заполнением экселевского файла с помощью ADO, необходимо проставить форматы колонок - строка, дата и число. Со строкой и датой проблем нет. С числом проблемы были простые - в Win XP разделитель точка, в Win7 - запятая.

До недавнего времени формат я задавал таким способом

Если ФорматЧисел="" Тогда
Попытка
ФорматЧисел="# ##0.00р.";
ЛистЭксель.Cells(1,К).NumberFormat=ФорматЧисел;
Исключение
Разделитель=",";
ФорматЧисел="# ##0,00р.";
ЛистЭксель.Cells(1,К).NumberFormat=ФорматЧисел;
КонецПопытки;
Иначе
ЛистЭксель.Cells(1,К).NumberFormat=ФорматЧисел;
КонецЕсли;

Почему именно денежный формат? Не знаю, но опытным путём я обнаружил, что именно такой формат (# ##0.00р.) в последствии нормально определяется экселем, и он не рублёвый, а нормальный числовой с разделителями. Символы "р." прописаны в региональных настройках.
Но потом произошло обновление Win7 и р. заменилось на значёк рубля. И вышеописанная конструкция перестала работать.
Это неудобно, т.к. после создания файла, эксель определяет числа как строки и форматировать их занимает много времени.
Что можно прописать в формат числа ФорматЧисел="# ##0,00р.", что-бы числа остались числами для Win7?

VZ 25.04.2017 10:39

Открой для себя свойство [b].value[/b]
[url]http://www.askit.ru/custom/vba_office/m11/11_06_excel_range_object.htm[/url]

Helen1986 25.04.2017 10:59

ваще то в любой венде точка/запятая - определяется региональными настройками

в последних офисах можно тоже определять, что используется -точка/запятая с игнорированием установок венды

который не честный 25.04.2017 11:08

Как ни странно - помогло.
ЛистЭксель.Cells(1,К).Value=1.23;
Без разделителей триад и .00
Посмотрим, как будут этим пользоваться.
Я пробовал раньше так сделать - не получалось, наверное что-то ещё было.

VZ 25.04.2017 12:00

3-который не честный > Твои трудности рукотворны: не надо вбивать, как это должно [b]выглядеть[/b]. Надо вбивать [b]значение[/b]. Потом можно и формат (что актуально для даты).
Для текста все равно: что значение, что представление.


Текущее время: 13:45. Часовой пояс GMT +3.