Имя: Пароль:
IT
 
Экспорт данных из 1С в Excel
0 Arhitektor
 
08.01.04
09:41
Здраствуйте, уважаемые эксперты!

Конфигурация Торговля и склад 7.7

Вопрос в следующем:
есть отчет, который формирует информацию по конрагентам (данные о банке, счете, договорах), который делал сам. При попытке сохранения печатной формы в формате Excel 1С тупо зависает. При этом сохранение в формате *.txt, *mxl, *html проходит на ура. Как сделать самому экспорт в Excel?

Начинаю делать так
MyExcel = СоздатьОбъект("Excel.Application");
MyExcel.Caption = "Информация по контрагентам";
MyExcel.WorkBooks.Add();
???? А что здесь ????
MyExcel.Visible = 1;

Заранее спасибо за помощь
Arhitektor
ICQ: 234256027

P.S.: Если можно, то обеспечьте меня работающим примером

P.P.S.: Если нужно, то могу сбросить сам отчет для проверки
1 lexa
 
08.01.04
11:04
Попробуй посмотри здесь http://www.sinor.ru/%7Emy1c/knowhow.html#EXCEL
2 WhiteCat
 
08.01.04
11:05
Если во всех других форматах сохраняется нормально, то скорее всего у тебя проблемы с Excel'ем или системой. 1. Попробуй сохранить все на другом компе
2. Сохрани в обычном формате, а открывай в Excel'е с помощью конвертера
3. Переустанови MS Office
Можно, конечно, написать, как перенести отчет в Excel тем способом, о котором ты говоришь, но это долго (во всяком случае я быстрого способа не знаю)
3 Arhitektor
 
08.01.04
11:51
Для WhiteCat:
1) Проблема остается
2) Получается такой кошмар, что дальше некуда
3) переустановка вряд ли решит проблему (см. 1)

Если знаешь долгий способ - напиши :)
4 WhiteCat
 
08.01.04
12:30
Раз на другом компе то же самое - возможно проблемы с самим отчетом. Сейчас помочь не могу, еду к клиенту :-(
5 Arhitektor
 
08.01.04
12:59
Всем спасибо!

Проблема решилась с помощью сохранения в формате *.html, открытия в Excel и небольшого преобразования

С уважением к вашим знаниям и незнаниям, Arhitektor
6 WhiteCat
 
08.01.04
21:18
Вдогонку скажу: иногда такое бывает, если отчет получается очень большим. При сохранении его в *.xls-формате Excel просто вылетает, так как ему чего-то не хватает (памяти, наверное)
7 345
 
08.01.04
21:42
(6) Да просто в конверторе мхл в хлс -- баги.... оттого и тормоза ....

P.S. - конвертация 30-40 тыс строк мхл в хлс может идти до 12 часов на нехилой машинке ....

P.S. .... ну да ладно ....
8 WhiteCat
 
08.01.04
22:48
(7) Наверное, ты прав -- баги. А куда без них?
9 Arhitektor
 
09.01.04
09:45
:))
Все веселитесь?
10 Щикатило
 
09.01.04
23:22
MyExcel = СоздатьОбъект("Excel.Application");
MyExcel.Caption = "Информация по контрагентам";
MyBook = MyExcel.WorkBooks.Add();
MySheet = MyBook.Worksheets.Add();
НомерСтроки = 1; // первая строка раб.листа
Пока <есть данные> Цикл
 MySheet.Cells(НомерСтроки, 1).Value = <что в 1 колонке>;
 MySheet.Cells(НомерСтроки, 2).Value = <что во 2 колонке>;
 MySheet.Cells(НомерСтроки, 3).Value = <что в 3 колонке>;
// и т.д. - заполнили первую строку
 НомерСтроки = НомерСтроки + 1; // и по типу - след. строку, и т.д. - видимо, нужен внутренний цикл по ном.колонки
КонецЦикла;
MyBook.SaveAs(<имя файла>);

Написал по памяти. Так что извини.
11 WhiteCat
 
09.01.04
23:30
Правильно, но таким образом слишком муторно отчеты писать
12 skunk
 
09.01.04
23:47
Конкретный ответ на конкретный вопрос. Человек не спрашивала как сделать это не мутроно, а спросил как это сделать.
13 WhiteCat
 
10.01.04
17:14
Трудно что-то возразить против (12). Я просто в оправдание свое скажу, что не всегда нужен КОНКРЕТНЫЙ ответ. Как видно из (5) проблема решилась совсем другим способом, с намного меньшими трудозатратами. Именно к этому должен стремиться программер: решить проблему с наименьшими потерями (времени, денег и т.д.)
14 skunk
 
10.01.04
18:08
(13)Здесь ты прав я не спорю, если нужно это делать раз в год. А если раз в неделю, и приводить руками в удобочитаемый и эстетичный вид все-таки занятие более муторное, чем раз изгольнуться и написать обработку по рекомендации(10). По крайне мере я так думаю. Кстати одинСи тоже не корректно сохраняет в xls.
15 WhiteCat
 
10.01.04
21:01
(14) Согласен 100%-но
16 Щикатило
 
10.01.04
21:58
(14)>Кстати одинСи тоже не корректно сохраняет в xls<
Это потому, что она выводит в формат Excel-5. По крайней мере - восьмерка точно.
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.