![]() |
![]() |
|
Копирование _области_ из табличного документа в 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
|
компонента Ёксель может помочь
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |