|
Не читается текст ячейки из 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) не помню уже. А сом-объект все первые колонки с буквами А,в,с, которых в файле не было все равно читал как пустые. В этом у меня и получилась проблема. Спасибо за подсказки...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |