Имя: Пароль:
1C
1С v8
Не читается текст ячейки из Exel в номер версии 14
0 Iori
 
21.06.15
15:43
Содержимое = Excel.Cells(НомерСтроки, НомерКолонки).Text;

Если версия Exel 8, читает нормально, если версия 14  - значение пустая строка. Как прочитать значение ячейки в 14 версии Exel?
1 vitaliklibra
 
21.06.15
15:50
(0) Я с таким сталкивался. Проблему решили пересохранением в необходимый формат из под ОС. Можно эту процедуру (если не ошибаюсь) запились через COM соединение из-под 1С-ки.
2 Iori
 
21.06.15
15:59
(1) Не учень удобно... А что из файлов xlsx не читается непосредствено? А образец процедуры на всякий случай можете сбросить?
3 vitaliklibra
 
21.06.15
16:10
Принципиально так:



// Обращение к файлу
ТаблицаИзФайла = ПолучитьCOMОбъект(ИмяФайла);
            
НомерЛиста = 1;
НомерСтроки = 2;

// Начало обработки таблицы из файла    
НомерСтрокиКоличество = НомерСтроки;
НомерПервойСтроки = НомерСтроки;
        
Пока Не ПустаяСтрока(ТаблицаИзФайла.Sheets(НомерЛиста).Cells(НомерСтроки,1).Value) Цикл
    
    ДатаДокументаИзФайла = ТаблицаИзФайла.Sheets(НомерЛиста).Cells(НомерСтроки,13).Value;
            
    Если ДатаДокументаИзФайла < ДатаС ИЛИ ДатаДокументаИзФайла > КонецДня(ДатаПо) Тогда
        НомерСтроки = НомерСтроки + 1;
    КонецЕсли;
            
    // Определение стандартных переменных
    НомерПлатежкиИзФайла = Строка(Формат(ТаблицаИзФайла.Sheets(НомерЛиста).Cells(НомерСтроки,12).Value,"ЧВН=; ЧГ=0"));
    ...


где ИмяФайла - реквизит на форме, в котором хранится ПОЛНЫЙ путь к открываемому файлу вместе с файлом ("D:/МойФайл.xlsx")

Если что нужно уточнить по коду - спрашивайте.
4 vitaliklibra
 
21.06.15
16:12
(2) Файлы такого вида (xlsx) читаются одинаково, как и csv или xls. У Вас при сохранении файла идет какая-то кодировка, которую 1С не может правильно считать...
5 Chameleon1980
 
21.06.15
17:18
а value не пойдет?
6 Iori
 
21.06.15
17:28
Ни  value, ни Text не подходит.   Пока не могу разобраться. Сом- объект создается. Файл открывается. Активный лист устанавливается. Циклом ячейки проходит. Отладчиком останавливаю во время прохода циклом - адреса ячеек видит(номера колонок и строк), а содержимое прочитать не может. Т.е. Text ="" , а  value - неопределено. Может действительно проблема в кодировке. Только как она переустанавливается в сом-объекте не знаю
7 beaver1971
 
21.06.15
17:40
(6) ну так запиши в ячейку что нибудь сам и сразу же прочитай....
8 vitaliklibra
 
22.06.15
10:38
(6) Скажите, а если Вы вручную пересохраните ЭТОТ ЖЕ файл из "xlsx" в "xls" (2003 к примеру) или даже в "csv", тогда считывает нормально? Если да, тогда проблема точно в кодировке! Проще простого попросить человека, который работает с Excel'ем, чтобы он сохранял в ЧИТАЕМОМ 1С-кой формате (хотя как щас помню, что открывал "xlsx" без проблем), ну или даже выставить это в настройках по-умолчанию вот тут:
http://i.piccy.info/i9/c7e6e017e600e95c65368cdc092717c1/1434958578/143431/920386/2015_06_22_103608.jpg
9 Iori
 
27.06.15
17:08
С опозданием, но напишу. После того, как я выполнил (7), сразу увидел, что файл,который я читал, начинался сразу с какой то там колонки(15 или 17, буквы Р или N) не помню уже. А сом-объект все первые колонки с буквами А,в,с, которых в файле не было все равно читал как пустые. В этом у меня и получилась проблема. Спасибо за подсказки...