Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   выгрузка данных в эксель (http://forums.kuban.ru/f1040/vygruzka_dannyh_v_eksel--3575221.html)

ktvofffka 20.01.2013 17:01

выгрузка данных в эксель
 
понимаю что тема избита прочитал. скопировал.. но


[url]http://clip2net.com/s/2JwQX[/url]


1 файл сохраняется (кстати возможно ли чтоб перезапись была без вопроса?)

а вот уже второй...


{F:\1C BASES\ВЫГРУЗКА ОС.ERT(247)**: Microsoft Office Excel: Нет доступа к файлу 'F:\1C Bases\012_ОС_Эксплуатации Б'. Это может быть вызвано одной из следующих причин.

• Имени файла или пути не существует.
• Файл используется другой программой.
• Имя книги, которую вы пытаетесь сохранить, совпадает с именем открытой в данный момент книги.


если смотреть диспетчер задач то после
Книга.Close();
ExcelПриложение.Application.Quit();

эксель остается в памяти... но даже если я руками его прибваю ошибка все равно выходит... где и что я пропустил?

прошу не сильно пинать с 7.7 давно не работал

ktvofffka 20.01.2013 17:09

перестарался с вырезанием
перед строкой Книга = ExcelПриложение.WorkBooks.Add()
есть строка ExcelПриложение = СоздатьОбъект("Excel.Application");

afanasovmaksim 20.01.2013 22:49

(0) - А обязательно для ВЫГРУЗКИ в эксель использовать COM-объект??? Может я что-то не понимаю, но можно сделать проще. Создаешь таблицу, заполняешь её данными и потом сохраняешь в эксель, например:

Таб = СоздатьОбъект("Таблица");
Таб.ИсходнаяТаблица("ТаблицаТоваров");//Макет, который заранее создаешь
Таб.ВывестиСекцию("Шапка");
ТабЗ.ВыбратьСтроки();//Таблица с данными, которые нужно вывести в эксель
Пока ТабЗ.ПолучитьСтроку() = 1 Цикл
Таб.ВывестиСекцию("СтрокаТаб");
КонецЦикла;
[b]Таб.Записать("Товары.xls", 1);[/b]

Как-то так...

victuan 21.01.2013 04:28

Может у него большая таблица?
А вот пример сохранения в Эксель, может поможет:
[url]http://1c.proclub.ru/modules/mydownloads/personal.php?cid=83&lid=3769[/url]

Sasha 21.01.2013 08:09

(0)Попробуй использовать строку
ExcelПриложение.DisplayAlerts=0;

BigBro 21.01.2013 08:30

сне кажется проблема надуманая. действительно таблица любого размера быстро и без проблем сохраняется в mxl а затем элементарно и тоже очень быстро конвертируется в Эксель 1с-овской "1с8.2 работой с файлами".

Helen1986 21.01.2013 11:34

таблица любого размера быстро и без проблем сохраняется в эксель при наличии мосхов.

(2) тупите, сЭр. это может подвиснуть часов на 8.

Buzz 21.01.2013 11:46

(2) Зависнет при наличии какого-нибудь хитрого объединения ячеек.

victuan 21.01.2013 14:32

7-Buzz >Или если строки переменной высоты.

Helen1986 21.01.2013 14:42

(7,8) и чего вы ему жуете?

economist 22.01.2013 08:56

Таб.Записать("Товары.txt", 1);

отработает за секунды вместо часов при >30 тыс. строк и 50 столбцах, а в Excel можно включить VBA, считать весь TXT файл методами FileSystemObject, распарсить его в двумерный массив по табуляции и присвоить диапазону Range. На это тоже уйдет несколько секунд. Останется только обвести рамками, что тоже нетрудно, если вспомнить что есть метод Range().BorderAround. А если непременно нужен XLS - то есть еще и Моксель...


Текущее время: 20:21. Часовой пояс GMT +3.