Внешний источник данных загрузка в excel

1. prostoznakomuy 25.01.22 09:59 Сейчас в теме
Здравствуйте есть у кого примеры успешного заполнения excel файла через внешний источник
По теме из базы знаний
Найденные решения
26. prostoznakomuy 26.01.22 15:24 Сейчас в теме
(24) Всем спасибо тема закрыта
вот рабочая строка подключения для 1С
СтрокаСоединения="Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};"+"DBQ="+Имяфайла+";ReadOnly=0;DriverID=1046";
Остальные ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. Kongo2019 25.01.22 10:08 Сейчас в теме
(1)Дык там все просто я постоянно данные их SQL Server таскаю.
4. qazaas 25.01.22 10:14 Сейчас в теме
(1)
Вот держи.
Старый примерчик, но может и этого хватит

Эксель = Новый COMОбъект("Excel.Application"); 
	Книга = Эксель.Workbooks.Add(""); 
	Лист = Книга.Sheets(1);
	
	// Создадим 100 строк и 100 колонок и заполним их случайными символами
	Строк = 100;
	Колонок = 100;	
	ГСЧ = Новый ГенераторСлучайныхЧисел;	
	Для Сч = 1 по Строк Цикл
		Для Сч1 = 1 по Колонок Цикл
			Лист.cells(Сч,Сч1).Value = Символ(ГСЧ.СлучайноеЧисло(1,2000));
		КонецЦикла;
	КонецЦикла;	
	Эксель.Visible = 1;
Показать
3. prostoznakomuy 25.01.22 10:12 Сейчас в теме
я же написал, что не из excel, а именно загрузка в excel
Чтение файлов excel через внешний источник тут у меня проблем нет
5. prostoznakomuy 25.01.22 10:17 Сейчас в теме
Спасибо большое, но это не то
этот метод я знаю
Но если в файле 30 колонок и загрузить туда нужно 100 тысяч строк, то все это жутко тормозит
я просил помочь именно выгрузкой excel именно через внешний источник 1С
6. Kongo2019 25.01.22 10:22 Сейчас в теме
(5)Все равно вопрос тогда не понял.
Ну выгрузи в файл, формат CSV, и скорми его Экселю.
9. nomad_irk 71 25.01.22 10:31 Сейчас в теме
(5)Используйте выгрузку по колонкам массивами данных, все будет быстро.
10. prostoznakomuy 25.01.22 10:36 Сейчас в теме
(9) Спасибо большое, но я сюда пришел чтобы узнать кто делал выгрузку в excel через внешний источник, файл из двух сот тысяч строк
читается за 30 секунд, если запись будет такая же то это супер вот и хотелось бы добиться решения
12. nomad_irk 71 25.01.22 10:40 Сейчас в теме
(10)именно через внешний источник - не знаю, может быть вообще никак в условиях 1С.
я использую Excel напрямую.
7. prostoznakomuy 25.01.22 10:24 Сейчас в теме
Да понятно, но я же спрашивал в вопросе как именно хочу сделать
все проходит соединение с файлом заполнение поле
и при записи выходит ошибка
по причине:
Ошибка внешней базы данных:
ошибка при выполнении запроса
по причине:
Ошибка ODBC. SQLSTATE: HY000
Номер ошибки: -3035
Описание: [Microsoft][Драйвер ODBC Excel] В операции должен использоваться обновляемый запрос.
11. Kongo2019 25.01.22 10:39 Сейчас в теме
(7)
В операции должен использоваться обновляемый запрос


Ну и вот, у тебя запрос только на чтение, запись невозможна. Переделывай запрос.
14. prostoznakomuy 25.01.22 10:45 Сейчас в теме
(11)
Как именно подскажите буду очень признателен
15. Kongo2019 25.01.22 12:27 Сейчас в теме
(14)В 1С все запросы только на чтение. Так что колхозить придется.
16. prostoznakomuy 25.01.22 15:20 Сейчас в теме
(15) НЕ согласен в sql базу прекрасно пишется
17. prostoznakomuy 25.01.22 15:23 Сейчас в теме
(15) И запись через внешний источник заложена в возможности платформы просто нужно знать как
18. Kongo2019 25.01.22 15:32 Сейчас в теме
(17)Ну тогда я пас. У меня ни разу не получилось. Хотя идея интересная, надо будет попробовать на досуге.
Думаю тут запрос не на выборку а на изменение тогда делать. UPDATE заместо SELECT
19. prostoznakomuy 26.01.22 03:19 Сейчас в теме
(18):Жаль, что пас вдвоем бы быстрее докопались
8. prostoznakomuy 25.01.22 10:26 Сейчас в теме
ПараметрыСоединения=ВнешниеИсточникиДанных.ОбменСВнешнимиПрограммами.ПолучитьПараметрыСоединенияСеанса();
ПараметрыСоединения.СтрокаСоединения="Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};"+"DBQ="+СокрЛП(ПроверкаСуществованияФайла.ПолноеИмя)+"; DriverID=1046";
// определяем внешний источник
ВнешниеИсточникиДанных.ОбменСВнешнимиПрограммами.УстановитьПараметрыСоединенияСеанса(ПараметрыСоединения);
// Попытка
ВнешниеИсточникиДанных.ОбменСВнешнимиПрограммами.УстановитьСоединение();
СтрокаОбъекта=ВнешниеИсточникиДанных.ОбменСВнешнимиПрограммами.Таблицы.СтруктураПередачиДанных.СоздатьОбъект();
// СтрокаОбъекта.УстановитьИзменяемыеПоля(МассивПолей);
СтрокаОбъекта.Наименование_населенного_пункта="УЛ";
СтрокаОбъекта.Наименование_Улицы="1";
СтрокаОбъекта.Номер_Дома="1";
СтрокаОбъекта.Номер_Квартиры="2";
СтрокаОбъекта.Номер_Корпуса="4";
СтрокаОбъекта.Начислено=10;
СтрокаОбъекта.Период_С=ТекущаяДата();
СтрокаОбъекта.Период_По=ТекущаяДата();
//СтрокаОбъекта.ПолучитьИзменяемыеПоля();
СтрокаОбъекта.Записать();
20. nomad_irk 71 26.01.22 06:13 Сейчас в теме
(8)а если сделать необъектные данные и работать как с НаборомЗаписей?
21. prostoznakomuy 26.01.22 06:28 Сейчас в теме
(20) Пробовал пишет что не возможно перезаписать строку в данную таблицу хотя в базу sql с помощью набора записей пишет отлично
22. nomad_irk 71 26.01.22 07:13 Сейчас в теме
(21)В строке подключения к файлу эксель никаких ключей, отвечающих за возможность изменения таблицы, не предусмотрено?
23. prostoznakomuy 26.01.22 07:17 Сейчас в теме
(22) я вот тоже грешу на строку подключения, но что в нее добавить не знаю
24. nomad_irk 71 26.01.22 08:01 Сейчас в теме
(23)Пока нагуглил такой вариант:

szConnect = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + szSourceFile + ";Mode=Read
|;Extended Properties=Excel 12.0;HDR=No;"
25. prostoznakomuy 26.01.22 08:07 Сейчас в теме
(24) попробую напишу результат
26. prostoznakomuy 26.01.22 15:24 Сейчас в теме
(24) Всем спасибо тема закрыта
вот рабочая строка подключения для 1С
СтрокаСоединения="Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};"+"DBQ="+Имяфайла+";ReadOnly=0;DriverID=1046";
13. prostoznakomuy 25.01.22 10:44 Сейчас в теме
(11) Как именно буду признателен за подсказку
27. user1032105 23.05.23 16:04 Сейчас в теме
(3) а можно пример строки состояния для Чтение файлов excel через внешний источник ?
Оставьте свое сообщение
Вакансии
Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)

Программист 1С
Москва
зарплата от 250 000 руб.
Полный день

Программист 1C
Волгоград
зарплата от 200 000 руб.
Полный день

Аналитик
Санкт-Петербург
зарплата от 200 000 руб. до 250 000 руб.
Полный день