Копирование _области_ из табличного документа в Excel #517144


#0 by cfk
Проблема такая формируется отчет. Строк очень много, более 65к, (под миллион), в 1С. Если писать по ячейкам то экспорт занимает более 1,5 часа на хорошем железе. Просто копирование всего сразу хоткеями тоже не работает - в Excel хальтится надолго, потом пишет что не может обработать OLE объект. Так что вижу выход один - по частям найти методом проб и ошибок размер который нормально копипастится программно. Только вот загвоздка - в Excel понятно как вставить область, а как скопировать эту область из табличного документа - не понятно. Т.е. как можно ли обратиться к области табличного документа как range[]?
#1 by cfk
Да, разумеется экспортируется в 2007Excel, но это не существенно =)
#2 by dk
копи - пасте отменили?
#3 by dk
у мну 90к строк нормально переносилось
#4 by cfk
Внимательнее: "Просто копирование всего сразу хоткеями тоже не работает - в Excel хальтится надолго, потом пишет что не может обработать OLE объект."
#5 by cfk
Речь идет о 700к строк и более
#6 by dk
если форматирование не важно, то переноси через csv
#7 by cfk
omg, повторяю : "Если писать по ячейкам то экспорт занимает более 1,5 часа на хорошем железе" Ты думаешь что писать из csv в ячейки будет быстрее? Тут выход один - копировать области, а поячеечное копирование долго будет.
#8 by cfk
даже если просто писать csv и потом открывать в EXCEL
#9 by dk
не знаю что ты думаешь но ексель сам умеет из csv данные забирать, и довольно шустро - не надо никакие ячейки обходить
#10 by Tatitutu
Как быстро сохранить огромный отчет для обработки в EXCEL. Хитрость. Иногда бывает так, что отчет очень большой (> 65535 строк), а работать с этим всем нужно через EXCEL - 1С такой отчет в xls не сохранит. Да и отчеты с меньшим количеством строк сохраняются в xls-файл очень долго. Приведенная здесь небольшая хитрость поможет Вам сохранять для EXCEL таблицы с бОльшим количество строк и делать это быстрее. Выведите отчет, идем в меню Файл-Сохранить копию и выбираем тип "Документ HTML4". Файл сохранится быстрее, чем в xls, и его корректно откроет EXCEL. Потом можно в EXCEL пересохранить в xls или xlsx. Взято:
#11 by cfk
их надо будет обходить в 1С при записи csv. Или я чего то не понимаю?
#12 by dk
если приспичило работать с областями - ищи пример абрахамса он через comsafearray вроде делал
#13 by dk
1c умеет сохранять в ANSI txt формат - это и есть cvs по сути
#14 by cfk
csv это текстовый файл с разделителем ";"
#15 by cfk
форматирование потеряется
#16 by cfk
Попробуем с хтмл, но вопрос про области в ТабДок 1С8.1 открыт.
#17 by cfk
ОбластьЯчеекТабличногоДокумента.СодержитЗначение - есть ЗАПОЛНЕННЫЙ запросом Табличный документ, диапазон я выбираю с заполненными ячейками, есть пустые конечно кое где, но Свойство это возвращает всегда ложь, под отладчиком смотрел. Что такое не пойму.
#18 by cfk
Если поставить руками ОбластьЯчеекТабличногоДокумента.СодержитЗначение в истину, тогда становиться область типом "неопределено" =(
#19 by МихаилМ
компонента Ёксель может помочь
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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