Зависает при попытке открыть файл excel.

1. user1619761 24.03.22 12:31 Сейчас в теме
Доброго времени суток. Написал обработку , для открытия файла эксель и выгрузки данных в тз, при попытке открыть файл намертво зависает. В файле 8700 строк, вес файла 3.2 мб. Подскажите, пожалуйста, можно как то исправить проблему? Или лучше пробовать через ТабличныйДокумент.Прочитать()?
ExcelApplication = Новый COMОбъект("Excel.Application");
	
	ФайлExcel = ExcelApplication.Workbooks.Open(ФайлДанных);   //////зависает на этом моменте
	
	ЛистExcel = ФайлExcel.Sheets(1);
	xlCellTypeLastCell = 11;
	ExcelПоследняяСтрока = ЛистExcel.Cells.SpecialCells(xlCellTypeLastCell).Row;
	ExcelПоследняяКолонка = ЛистExcel.Cells.SpecialCells(xlCellTypeLastCell).Column;
	
	ТабЗнч = Новый ТаблицаЗначений;
	
	Для НомКолонки = 1 По ExcelПоследняяКолонка Цикл
		
		ТабЗнч.Колонки.Добавить("Колонка" + НомКолонки, Новый ОписаниеТипов("Строка"));
		
	КонецЦикла;
	
	Для Строка = 1 По ExcelПоследняяСтрока Цикл 
		
		НоваяСтрока = ТабЗнч.Добавить();
		
	КонецЦикла;
	
	ОбластьExcel = ЛистExcel.Range(ЛистExcel.Cells(1, 1),ЛистExcel.Cells(ExcelПоследняяСтрока, ExcelПоследняяКолонка));
	Данные = ОбластьExcel.Value.Выгрузить();
	
	Для Счетчик = 0 По ExcelПоследняяКолонка - 1 Цикл
		
		ТабЗнч.ЗагрузитьКолонку(Данные[Счетчик], Счетчик);
		
	КонецЦикла;
	
	ЛистExcel = Неопределено;
	
	ФайлExcel.Close();
	ФайлExcel = "";
Показать
По теме из базы знаний
Найденные решения
7. user1619761 24.03.22 13:21 Сейчас в теме
(6) под собой (администратор). Уже решил проблему, спасибо. Файл открыл через эксель, и пересохранил в файл с другим именем, размер с 3.2 мб уменьшился до 800 кб, и все заработало. Не знаю с чем связано это.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. dehro 5 24.03.22 12:35 Сейчас в теме
(1)
....через ТабличныйДокумент.Прочитать()....
однозначно лучше.

По тексту: открываете на клиенте или на сервере?
3. user1619761 24.03.22 12:38 Сейчас в теме
(2)
По тексту: открываете на клиенте или на сервере?
на сервере
4. dehro 5 24.03.22 12:45 Сейчас в теме
Тогда для поиска ошибки нужно:

Зайти на сервер под тем пользователем, под которым запущена служба сервера 1С.
1. Запустить там Excel, ответить на вопросы при запуске (если будут).
2. Проверить доступность файла.
5. user1619761 24.03.22 12:50 Сейчас в теме
(4) Проверял, файл доступен. Решил на локальном пк проверить, такая же ситуация , виснет и все, проверял и с ТабличныйДокумент.Прочитать() , и как изначально было, в обоих случаях зависает при попытке открыть файл.
6. dehro 5 24.03.22 13:07 Сейчас в теме
(5) Под каким пользователем проверял?
7. user1619761 24.03.22 13:21 Сейчас в теме
(6) под собой (администратор). Уже решил проблему, спасибо. Файл открыл через эксель, и пересохранил в файл с другим именем, размер с 3.2 мб уменьшился до 800 кб, и все заработало. Не знаю с чем связано это.
8. Obertone 74 21.11.22 12:06 Сейчас в теме
С проблемой зависания Excel также столкнулся на методе excel.workbooks.open. Причиной было то, что офис-пакет Майкрософт не был вовремя активирован, и всплывало окно-предупреждение в связи с этим после программного открытия файла. Это мешало программному чтению файла и приводило к зависанию. Очевидно по проблеме соответствующее решение.
user1619761; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот