1. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

Проблема экспорта данных в Excel

Тема в разделе "Lotus - Программирование", создана пользователем KLif, 21 дек 2007.

Статус темы:
Закрыта.
  1. KLif

    KLif Гость

    Репутация:
    0
    Всем привет.

    Вообщем такая ситуация, есть библиотека для экспорта данных в эксель с набором процедур:
    CreateObjectExcel - создания OLE-объекта приложения MS Excel
    VisibleObjectExcel - тображения OLE-объекта приложения MS Excel
    SetCellText - заполнение

    В итоге, создаётся книга в ней остаётся только один лист. Беру любой док и спокойно экспортирую данные в excel ... Теперь надо сделать так чтобы каждый док был на отдельном листе. К библиотеке добавил процедуру с кодом : objectExcel.Sheets.Add

    Call CreateObjectExcel()
    Call SetCellText({B2:C2}, "", {Компания}, "", i) - i номер рабочего листа
    Call AddSheet(i)
    Call SetCellText({B2:C2}, "", {Компания}, "", i+1)

    Получается два листа, но второй не заполнен ... перепробовал кучу вариаций и никак не могу понять почему он не вставляет данные в новый лист ... Когда книга открывается, курсор стоит на новом созданом листе ...
     
  2. morpheus

    morpheus скриптописец

    Репутация:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    3.915
    Симпатии:
    1
    Для того что бы лист не был виден до заполнения

    Код:
    Set exApp = CreateObject("Excel.Application")
    If exApp Is Nothing Then
    Messagebox "Не установлен Excel!!!", 0 + 16 , "ошибка"
    End If
    exApp.Visible = False ' видно или нет

    Дальше , с листами Вы делайте так
    1й лист имеет индекс = 1 и т.д.
    Код:
    i = 1
    Set exWb = exApp.ActiveWorkBook
    Set Sh = exWb.Sheets(i) ' определяем Sh как первый лист раб. книги
    
    ....
    ' Заполнение нужной ячейки
    sh.Cells(B2, C2) = {Компания}
    ' ну а дельше создаем овый лист и делаем переход 
    Set Sh = exWb.Sheets(2) .... и т.д.
    ...
     
  3. Medevic

    Medevic Что это ? :)
    Lotus team

    Репутация:
    0
    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Можно просто Set xlSheet = xlWbk.Worksheets.Add
     
  4. KLif

    KLif Гость

    Репутация:
    0
    Ту Morpheus:

    1) Установка флага Visible ставится в True когда? ... после создания объекта, после заполнения каждого листа, после заполнения всех листов?

    2) Каким образом делается добавление нового листа и переход на него?

    exWb.Sheets.Add
    exWb.Sheets(i).Select

    да?
     
  5. morpheus

    morpheus скриптописец

    Репутация:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    3.915
    Симпатии:
    1
    1) Ну когда Вы хотете что юзверь узрел раб.книгу тогда и ставте. Я ставлю когда я полностью заполняю весь отчет данными и оп - видно

    2) Да,
    Код:
    Call exWb.Sheets.Add
    Set Sh = exWb.Sheets(i) 
    i = i + 1 ' не забудте
    Код:
    
    
     
  6. KLif

    KLif Гость

    Репутация:
    0
    Код:
    Set objectExcel = CreateObject("Excel.Application")
    Set objectBook = objectExcel.Workbooks.Add
    Set Sh = objectBook.Sheets(1)
    Sh.Cells({B1},{C1}) = {text}
    objectExcel.Visible = True
    Стапарится на строчке заполнения ячейки, ошибка OLE: Automatic object error ... С чем это может быть связано?
     
  7. morpheus

    morpheus скриптописец

    Репутация:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    3.915
    Симпатии:
    1
    Связано с тем что туда указывают ЧИСЛА ,а не буквы-координаты

    А = 1
    B = 2
    C = 3

    и т.д.


    Sh.Cells( 1,1 ) = "text"
     
  8. Medevic

    Medevic Что это ? :)
    Lotus team

    Репутация:
    0
    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Можно и буквы. Только надо так:
    Sh.Cells({B1:C1}) = {text}
     
  9. KLif

    KLif Гость

    Репутация:
    0
    Всё получилось, каждый док на новом листе. Спасибо
     
  10. morpheus

    morpheus скриптописец

    Репутация:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    3.915
    Симпатии:
    1
    нмз, тему можна закрівать?
     
  11. KLif

    KLif Гость

    Репутация:
    0
    Да
     
Загрузка...
Похожие Темы - Проблема экспорта данных
  1. ivannnn
    Ответов:
    0
    Просмотров:
    5
  2. pack
    Ответов:
    5
    Просмотров:
    65
  3. Alex1994
    Ответов:
    7
    Просмотров:
    127
  4. PingvinPingvin
    Ответов:
    10
    Просмотров:
    132
  5. Free2playman
    Ответов:
    14
    Просмотров:
    159
Статус темы:
Закрыта.

Поделиться этой страницей