powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / [игнор отключен] [закрыт для гостей] / считывание данных из Excel
20 сообщений из 20, страница 1 из 1
считывание данных из Excel
    #35784421
Protasoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите как подключиться к Excel из 1С 8.1 и как обращаться к ячейкам и строкам в Excel, чтобы получить из них значения?
...
Рейтинг: 0 / 0
считывание данных из Excel
    #35784438
asp666
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProtasoffПодскажите как подключиться к Excel из 1С 8.1 и как обращаться к ячейкам и строкам в Excel, чтобы получить из них значения?


Док = ПолучитьCOMОбъект(Путь + "ценыконкурентов.xls");
КоличествоСтраниц = 2;

Для ТекНомер = 1 По КоличествоСтраниц Цикл
Контрагент = Док.Sheets(ТекНомер).Cells(1,1).Value;
Товар = Док.Sheets(ТекНомер).Cells(2,2).Value;
Цена = Док.Sheets(ТекНомер).Cells(2,3).Value;

счСтроки = 3;
Сообщить(Строка(Товар) + "-" + Строка(Цена));

Пока СокрЛП(Товар) <> "" Цикл // можно использовать другой признак окончания данных на листе
Товар = Док.Sheets(ТекНомер).Cells(СчСтроки,2).Value;
Цена = Док.Sheets(ТекНомер).Cells(СчСтроки,3).Value;
Сообщить(Строка(Товар) + "-" + Строка(Цена));
счСтроки = счСтроки + 1;
КонецЦикла;
КонецЦикла;

Док.Application.Quit();
...
Рейтинг: 0 / 0
считывание данных из Excel
    #35784451
Protasoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо большое
"Количество страниц" какой параметр определяет?
...
Рейтинг: 0 / 0
считывание данных из Excel
    #35784457
Protasoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все понял, это листы документа Excel
...
Рейтинг: 0 / 0
считывание данных из Excel
    #35784662
SignOff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Любопытно отметить.
Однажды работая в одной дерьмовой фирме в Киеве тоже надо было загружать с Ехеля всякое...
Так вот там был файлик Ехеля вообщето не сильно большой, но было 35 листов в нем. Так вот при подключении к нему и переборею... не хватало памяти и все оооочень медленно стало работать. Пришлось искать dll которая работает с Ехелем не на уровне СОМ :)
...
Рейтинг: 0 / 0
считывание данных из Excel
    #35784700
Reder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SignOffЛюбопытно отметить.
Однажды работая в одной дерьмовой фирме в Киеве тоже надо было загружать с Ехеля всякое...
Так вот там был файлик Ехеля вообщето не сильно большой, но было 35 листов в нем. Так вот при подключении к нему и переборею... не хватало памяти и все оооочень медленно стало работать. Пришлось искать dll которая работает с Ехелем не на уровне СОМ :)
А с помощью ADO считать данные не пробовали?
...
Рейтинг: 0 / 0
считывание данных из Excel
    #35784711
SignOff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Reder,

для 35 страниц?

Та же самая картина. Лучше всего вышло именно через либо напрямую к файлу. Быстро и сердито, ну конечн не так красиво :)
...
Рейтинг: 0 / 0
считывание данных из Excel
    #35785006
Reder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SignOffReder,

для 35 страниц?

Та же самая картина. Лучше всего вышло именно через либо напрямую к файлу. Быстро и сердито, ну конечн не так красиво :)
Хм не думал что sql запрос будет долго выполняться. ADO собственно говоря сам Excel не юзает.
...
Рейтинг: 0 / 0
считывание данных из Excel
    #35785050
SignOff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В чем вы меня убедить хотите?
...
Рейтинг: 0 / 0
считывание данных из Excel
    #35785069
Protasoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ошибка получения объекта COM
Ругается, не хотит открывать. Подключение к СОМ не надо где нибудь еще прописывать?
...
Рейтинг: 0 / 0
считывание данных из Excel
    #35785098
Фотография XenoX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
	лExcelОбъект = новый COMОбъект("Excel.Application");
	лExcelОбъект.Application.Workbooks.Open(ПутьКФайлу);
	
	Для лСч =  2  По лExcelОбъект.ActiveSheet.UsedRange.Rows.Count Цикл
		лРезультат.КодОперации = лExcelОбъект.ActiveSheet.Cells(лСч, 6 ).Value;
		лКодТовара = лExcelОбъект.ActiveSheet.Cells(лСч, 4 ).Value;
		лКоличество = лExcelОбъект.ActiveSheet.Cells(лСч, 3 ).Value;
		лЦена = лExcelОбъект.ActiveSheet.Cells(лСч, 7 ).Value; 
		лНомерДок = лExcelОбъект.ActiveSheet.Cells(лСч, 5 ).Value;		
	                     ...
	КонецЦикла;
	
	лExcelОбъект.Quit();
	
...
Рейтинг: 0 / 0
считывание данных из Excel
    #35785143
Protasoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Прошло дальше СОМ сеодинения, но стал ругаться на сам файл

Режим = РежимДиалогаВыбораФайла.Открытие;
ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);
ДиалогОткрытияФайла.ПолноеИмяФайла = "";
Фильтр = "Книга MS Excel(*.xls)|*.xls";
ДиалогОткрытияФайла.Фильтр = Фильтр;
ДиалогОткрытияФайла.МножественныйВыбор = ИСТИНА;
ДиалогОткрытияФайла.Заголовок = "Выберите книгу MS Excel";

Если ДиалогОткрытияФайла.Выбрать() Тогда

Док = новый COMОбъект("Excel.Application");
Док.Application.Workbooks.Open(ДиалогОткрытияФайла.ПолноеИмяФайла);
...
Рейтинг: 0 / 0
считывание данных из Excel
    #35785153
Фотография XenoX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProtasoffПрошло дальше СОМ сеодинения, но стал ругаться на сам файл
Код: plaintext
ДиалогОткрытияФайла.МножественныйВыбор = ИСТИНА;
...
Код: plaintext
Док.Application.Workbooks.Open(ДиалогОткрытияФайла.ПолноеИмяФайла);


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
Пример:
Режим = РежимДиалогаВыбораФайла.Открытие;
ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);
ДиалогОткрытияФайла.ПолноеИмяФайла = "";
Фильтр = "Текст(*.txt)|*.txt";
ДиалогОткрытияФайла.Фильтр = Фильтр;
ДиалогОткрытияФайла.МножественныйВыбор = Истина;
ДиалогОткрытияФайла.Заголовок = "Выберите файлы";
Если ДиалогОткрытияФайла.Выбрать() Тогда
    МассивФайлов = ДиалогОткрытияФайла.ВыбранныеФайлы;
    Для Каждого ИмяФайла Из МассивФайлов Цикл
        ВыбФайл = Новый Файл(ИмяФайла);
        Сообщить(ИмяФайла+"; Размер = "+ВыбФайл.Размер());
    КонецЦикла;
Иначе
    Предупреждение("Файл(ы) не выбран!");
КонецЕсли;
...
Рейтинг: 0 / 0
считывание данных из Excel
    #35785198
Protasoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
{ОбщаяФорма.ЗагрузкаИзЕкселя(21)}: Ошибка при вызове метода контекста (Open): Произошла исключительная ситуация (Microsoft Office Excel): Не удалось найти "". Проверьте правильность ввода имени и расположения файла.

При попытке открытия файла из списка недавно использованных файлов убедитесь, что файл не был переименован, перемещен или удален.
Док.Application.Workbooks.Open(ДиалогОткрытияФайла.ПолноеИмяФайла);
по причине:
Произошла исключительная ситуация (Microsoft Office Excel): Не удалось найти "". Проверьте правильность ввода имени и расположения файла.

При попытке открытия файла из списка недавно использованных файлов убедитесь, что файл не был переименован, перемещен или удален.

Показал, что файл есть, но пишет такое
...
Рейтинг: 0 / 0
считывание данных из Excel
    #35785351
Protasoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
То что у меня 2007 ексель может сыграть роль?
...
Рейтинг: 0 / 0
считывание данных из Excel
    #35785447
Фотография XenoX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
ДиалогОткрытияФайла.МножественныйВыбор = 
ИСТИНА ;
...
Рейтинг: 0 / 0
считывание данных из Excel
    #35785449
Фотография XenoX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
ДиалогОткрытияФайла.МножественныйВыбор = ЛОЖЬ
Предыдущий пост промахнулся немного
...
Рейтинг: 0 / 0
считывание данных из Excel
    #35785661
Protasoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
получилось, спасибо
а какой тип Док.Sheets(ТекНомер).Cells(СчСтроки,1).Value?
...
Рейтинг: 0 / 0
считывание данных из Excel
    #35785737
Фотография XenoX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Protasoffполучилось, спасибо
а какой тип Док.Sheets(ТекНомер).Cells(СчСтроки,1).Value?
Отладчиком посмотрите...
я не помню, либо в 1С он попадет как составной либо в зависимости от значения: число, строка и т.п.
...
Рейтинг: 0 / 0
считывание данных из Excel
    #35785765
Protasoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все срослось.
Огромное спасибо, теперь кодить и распихивать данные по справочникам, документам и регистрам )))
...
Рейтинг: 0 / 0
20 сообщений из 20, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / считывание данных из Excel
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]