Когда я вставляю в ячейку текст через
Excel.Range to = ...
to.Cells[1, 1].Value = "43.64";
То по непонятной причине вставляется 43,64.
При этом, если я вставляю что-то вроде 43.64.78, то точки на запятые не меняются.
Формат ячеек ставил и обычный и текстовый, разницы нет.
Как это исправить?
Нет ошибки. в VBA разделитель целой и дробной части - точка, на листе Excel в русской локали - запятая. При вставке на лист числа разделитель автоматически преобразуется в нужный.
Значение типа 43.64.78 - текст, в нем нет разделителя числовых данных, точка - часть текста, поэтому при вставке на лист символы не подменяются.
Если в данных, которые могут быть преобразованы, точки нужно сохранить, вставлять данные как текстовые (апостроф слева, лишний пробел...) или изначально задать формат столбца текстовым.
to.Cells[1, 1].Value = "'43.64";
апостроф слева сигнализирует, что после него текст. В ячейке апостроф не отображается.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть такая библиотека как PHPExcel, на данный момент её нельзя подключить через composer (package of any version not found), скачал её напрямую с github