Формат чисел в экселе для 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? |
Открой для себя свойство [b].value[/b] [url]http://www.askit.ru/custom/vba_office/m11/11_06_excel_range_object.htm[/url] |
ваще то в любой венде точка/запятая - определяется региональными настройками в последних офисах можно тоже определять, что используется -точка/запятая с игнорированием установок венды |
Как ни странно - помогло. ЛистЭксель.Cells(1,К).Value=1.23; Без разделителей триад и .00 Посмотрим, как будут этим пользоваться. Я пробовал раньше так сделать - не получалось, наверное что-то ещё было. |
3-который не честный > Твои трудности рукотворны: не надо вбивать, как это должно [b]выглядеть[/b]. Надо вбивать [b]значение[/b]. Потом можно и формат (что актуально для даты). Для текста все равно: что значение, что представление. |
Текущее время: 13:45. Часовой пояс GMT +3. |