Имя: Пароль:
1C
 
Копирование _области_ из табличного документа в Excel
0 cfk
 
16.11.10
14:41
Проблема такая
формируется отчет. Строк очень много, более 65к, (под миллион), в 1С.
Если писать по ячейкам то экспорт занимает более 1,5 часа на хорошем железе. Просто копирование всего сразу хоткеями тоже не работает - в Excel хальтится надолго, потом пишет что не может обработать OLE объект.
Так что вижу выход один - по частям найти методом проб и ошибок размер который нормально копипастится программно. Только вот загвоздка - в Excel понятно как вставить область, а как скопировать эту область из табличного документа - не понятно. Т.е. как можно ли обратиться к области табличного документа как range[]?
1 cfk
 
16.11.10
14:50
Да, разумеется экспортируется в 2007Excel, но это не существенно =)
2 dk
 
16.11.10
14:52
копи - пасте отменили?
3 dk
 
16.11.10
14:53
у мну 90к строк нормально переносилось
4 cfk
 
16.11.10
14:53
Внимательнее: "Просто копирование всего сразу хоткеями тоже не работает - в Excel хальтится надолго, потом пишет что не может обработать OLE объект."
5 cfk
 
16.11.10
14:54
Речь идет о 700к строк и более
6 dk
 
16.11.10
14:55
если форматирование не важно, то переноси через csv
7 cfk
 
16.11.10
14:57
omg, повторяю : "Если писать по ячейкам то экспорт занимает более 1,5 часа на хорошем железе" Ты думаешь что писать из csv в ячейки будет быстрее? Тут выход один - копировать области, а поячеечное копирование долго будет.
8 cfk
 
16.11.10
14:59
даже если просто писать csv и потом открывать в EXCEL
9 dk
 
16.11.10
14:59
не знаю что ты думаешь
но ексель сам умеет из csv данные забирать, и довольно шустро - не надо никакие ячейки обходить
10 Tatitutu
 
16.11.10
15:00
Как быстро сохранить огромный отчет для обработки в EXCEL. Хитрость.

Иногда бывает так, что отчет очень большой (> 65535 строк), а работать с этим всем нужно через EXCEL - 1С такой отчет в xls не сохранит. Да и отчеты с меньшим количеством строк сохраняются в xls-файл очень долго.

Приведенная здесь небольшая хитрость поможет Вам сохранять для EXCEL таблицы с бОльшим количество строк и делать это быстрее.

Выведите отчет, идем в меню Файл-Сохранить копию и выбираем тип "Документ HTML4". Файл сохранится быстрее, чем в xls, и его корректно откроет EXCEL. Потом можно в EXCEL пересохранить в xls или xlsx.

Взято: http://infostart.ru/public/77128/
11 cfk
 
16.11.10
15:00
их надо будет обходить в 1С при записи csv. Или я чего то не понимаю?
12 dk
 
16.11.10
15:01
если приспичило работать с областями - ищи пример абрахамса
он через comsafearray вроде делал
13 dk
 
16.11.10
15:05
(11) 1c умеет сохранять в ANSI txt формат - это и есть cvs по сути
14 cfk
 
16.11.10
15:06
csv это текстовый файл с разделителем ";"
15 cfk
 
16.11.10
15:06
форматирование потеряется
16 cfk
 
16.11.10
15:07
Попробуем с хтмл, но вопрос про области в ТабДок 1С8.1 открыт.
17 cfk
 
16.11.10
19:54
ОбластьЯчеекТабличногоДокумента.СодержитЗначение - есть ЗАПОЛНЕННЫЙ запросом Табличный документ, диапазон я выбираю с заполненными ячейками, есть пустые конечно кое где, но Свойство это возвращает всегда ложь, под отладчиком смотрел. Что такое не пойму.
18 cfk
 
16.11.10
20:03
Если поставить руками ОбластьЯчеекТабличногоДокумента.СодержитЗначение в истину, тогда становиться область типом "неопределено" =(
19 МихаилМ
 
16.11.10
20:13
компонента Ёксель может помочь
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший