К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Не читается Exel - файл из 1С

Гость
0 - 28.05.2012 - 15:34
Помогите советом: обработка заполнения документа читает файл Excel, у которого кодировка UTF-8; при этом русские буквы попадают в 1С кракозябрами. Как сделать чтобы все читалось нормально?


Гость
1 - 28.05.2012 - 15:48
Покажи, как читаешь.
Гость
2 - 28.05.2012 - 16:59
Excel = новый COMОбъект("Excel.Application");
Excel.Workbooks.Open(ИмяФайла);
Excel.Sheets(НомерЛиста).select();
Для а = 2 по ФайлСтрок-1 Цикл
Ячейка = СокрЛП(Excel.Cells(а,НомерКолонки).Value);
КонецЦикла;
3 - 28.05.2012 - 17:06
какой формат файла? CSV ?
Гость
4 - 28.05.2012 - 20:05
Пример перекодировки в/из utf8 в 1с77 штатными средствами
Гость
5 - 28.05.2012 - 20:34
4-Синегурочка > У автора "восьмерка" ;)
2-romba > Не различаем .value (значение) и .text (представление)? Зря. Для строк, разумеется, это одинаково, но вот числа или даты - источник проблем. Преобразования (вроде СокрЛП) лучше применять после определения типа.
К сабжу отношение не имеет, но все-таки... :)
Гость
6 - 29.05.2012 - 05:14
(3) csv
(4) Спасибо, переложу на восьмерку
7 - 29.05.2012 - 06:34
(6) CSV - это, по сути, тестовый файл с разделителями (разделитель - точка с запятой).
Его проще открывать без использования приложения EXCEL, тупо читать как текст.

Текст = СоздатьОбъект("Текст");
Текст.Открыть(ПолныйПутьКФайлу);

Для i=1 по Текст.КоличествоСтрок() цикл
ТекСтрока = OemToAnsi(Текст.ПолучитьСтроку(i));

МногоСтрок = СтрЗаменить(ТекСтрока, ";", РазделительСтрок);

ПервоеПоле = СтрПолучитьСтроку(МногоСтрок,1);
ВтороеПоле = СтрПолучитьСтроку(МногоСтрок,2);
ТретьеПоле = СтрПолучитьСтроку(МногоСтрок,3);
8 - 29.05.2012 - 06:36
здесь обрати внимание на использование функции OemToAnsi
она преобразует символы к читаемой кодировке
Гость
9 - 29.05.2012 - 15:26
(8) гонишь . это перекодировки из 1251 страницы в 866 и обратно . к УТФ-8 никакого отношения не имеет . Не учи плохому .
10 - 29.05.2012 - 17:15
(9) тьху на тебя!
не пробовал - не говори.
Uho
11 - 29.05.2012 - 17:18
10-Ирли Бёрд > кинь в него голубем!
12 - 29.05.2012 - 17:49
(10) стопудово Оем2Анси преобразует УТФ8...?
Гость
13 - 29.05.2012 - 21:32
"Excel, у которого кодировка UTF-8"
нобель ворочается
Гость
14 - 31.05.2012 - 14:08
Не получается: OemToAnsi в восьмерке нет; процедура из (4) не работает - все строки делает пустыми.
Еще идеи есть?
Гость
15 - 31.05.2012 - 15:50
Я делал через вот это:
Стрим = СоздатьОбъект("ADODB.Stream");
Стрим.LoadFromFile(Путь+Имя);
Стирм.Charset = "utf8";
Посмотри в интернете методы этой штуки.


К списку вопросов






Copyright ©, Все права защищены