Сохранение таблицы в Эксель. Вылет с Недостаточно памяти #686038


#0 by Пол Ньюман
Отчет в 300 000 строк необходимо сохранить в файл Эксель. Стандартное сохранение вылетает с "Недостаточно памяти". Каковы обходные пути программного сохранения? Пытался выгрузить первую сотню тысяч строк в файл, остальные дописывать через ОЛЕДБ, но там тоже постоянно ошибки, то формат файла не соотвествует ожидаемому и лечится почему-то открытием файла в Экселе, то при исполнении Insert пишет "Не удается дополнить именованный диапазон", а что это такое и как с этим бороться, так и не смог понять. Может есть у кого успешный опыт программного сохранения подобных файлов с сохранением форматирования? Заранее благодарен.
#1 by H A D G E H O G s
Отчет - тупо на пустом месте, или есть макет оформления, сделанный hand made?
#2 by Пол Ньюман
СКД без расшифровки
#3 by Пол Ньюман
28 колонок и 320 000 строк
#4 by H A D G E H O G s
Отправь его на сервер и там сохраняй.
#5 by Пол Ньюман
Есть ещё вариант с сохранением в txt И открытием в Эксель через Excel Application OpenText, но там требует параметр как его передать через 1С не понимаю, код
#6 by Пол Ньюман
Сорри, этот параметр опциональный, нормально отрабатывает без него. Теряется лишь форматирование, но для моего конкретного случая это не сильно большая проблема. Могу установить через тот же Excel.Application. В итоге код следующий ДиалогОткрытия = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.ВыборКаталога);     ДиалогОткрытия.Заголовок = "Выберите папку сохранения";
#7 by Пол Ньюман
xlApp.DisplayAlErts = Ложь;
#8 by Пол Ньюман
Работает, но кабздец как долго
#9 by H A D G E H O G s
Что медленно то?
#10 by H A D G E H O G s
Херачь его во временное хранилище, не передавай как параметр функции, и не упаковывая в Двоичные Данные. Только через Временное. Будет шустро. dimoff, ты меня пугаешь.
#11 by Холодильник
кто такой dimoff?
#12 by Пол Ньюман
В 8 имеется виду Сохранить копию на сервер, а не на локальный диск, сохранялось полчаса, не вылетело и то слава нуралиевым. А твое "Херачь его во временное хранилище, не передавай как параметр функции, и не упаковывая в Двоичные Данные" для меня то же самое что задорновское "положь колдобину со стороны загогулины", не знаю таких слов, если охоты повыпендриваться - готов признать что ты крут ваще, если где-то в тайниках души есть желание помочь - выражайся пожалуйста понятней, желательно примерами кода.
#13 by H A D G E H O G s
dimoff, ты меня пугаешь. Для УФ это так:
#14 by H A D G E H O G s
Для обычной формы прикрути ОМ на сервере.
#15 by Пол Ньюман
"dimoff, ты меня пугаешь. " Я 2 года к 1С не прикасался, я не в курсе ваших новоявленных блатных жаргонов
#16 by ilkoder
сохрани в формате csv или html - и импортируй в екселе
#17 by Адимр
Если форматирование не важно, тогда программно обходи таблицу и формируй csv файл. Excel должен нормально открыть такой файл с разделителями.
#18 by Пол Ньюман
Он и txt открывает в xls, но при открытии выдает диалоговое окно как что преобразовывать, хочется этого по возможности избежать, ну или просто ради общего развития решить задачку без пользовательских дополнительных действий. В описал как программно создать файл txt и через Excel.Application сохранить в xlsx, Но увы он строку "13.1" считает за дату, а передать параметры чтобы нужная колонка читалась как текст, мне не удалось.
#19 by Пол Ньюман
С Html отлично получилось! Спасибо, идеальный вариант.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С