Excel меняет точку на запятую

152
12 ноября 2018, 17:50

Когда я вставляю в ячейку текст через

Excel.Range to = ...
to.Cells[1, 1].Value = "43.64";

То по непонятной причине вставляется 43,64.

При этом, если я вставляю что-то вроде 43.64.78, то точки на запятые не меняются.

Формат ячеек ставил и обычный и текстовый, разницы нет.

Как это исправить?

Answer 1

Нет ошибки. в VBA разделитель целой и дробной части - точка, на листе Excel в русской локали - запятая. При вставке на лист числа разделитель автоматически преобразуется в нужный.

Значение типа 43.64.78 - текст, в нем нет разделителя числовых данных, точка - часть текста, поэтому при вставке на лист символы не подменяются.

Если в данных, которые могут быть преобразованы, точки нужно сохранить, вставлять данные как текстовые (апостроф слева, лишний пробел...) или изначально задать формат столбца текстовым.

 to.Cells[1, 1].Value = "'43.64";

апостроф слева сигнализирует, что после него текст. В ячейке апостроф не отображается.

READ ALSO
Как парсить drom_ru

Как парсить drom_ru

Вроде бы запрос правильно сделал https://simferopoldrom

147
Как получить аргументы процесса? [дубликат]

Как получить аргументы процесса? [дубликат]

На данный вопрос уже ответили:

188
Как создать свою библиотеку в composer?

Как создать свою библиотеку в composer?

Есть такая библиотека как PHPExcel, на данный момент её нельзя подключить через composer (package of any version not found), скачал её напрямую с github

157