12 Replies Latest reply: Dec 3, 2012 1:14 PM by pericles silva RSS

    Exportar N objetos de tabela para N planilhas no Excel

    pericles silva

      Boa tarde.

       

      Estou precisando criar uma funcionalidade onde serão exportadas N tabelas que existem dentro do meu documento Qlikview para N planilhas de um Excel.

       

      Uma ação de um botão onde, ao clicar, realizasse essa função.

       

      Alguém ja fez, sabe se é possível fazer isso e tem algum exemplo?

       

      Att,

      Péricles.

        • Re: Exportar N objetos de tabela para N planilhas no Excel
          Aderlan Rodrigues

          Olá Pericles,

           

          No editor de módulos:

          sub Exportar

           

              set obj = ActiveDocument.GetSheetObject("TB02")

              obj.Export "c:\Exportar.xls",","

           

          end sub

           

          No Script:

          STORE Exportar into c:\Exportar.xls (txt, delimiter is ',');

           

          Abraço.

          • Re: Exportar N objetos de tabela para N planilhas no Excel
            Clever Anjos

            "n" Planilhas ou "n" abas de uma mesma planilha?

             

            Se for o 2o caso segue um exemplo que cria uma planilha e vai "colando" varios objetos na mesma

            sub ExportaDRF

             

                    Set objExcelApp = CreateObject("Excel.Application")

             

                    objExcelApp.Visible = true

                    objExcelApp.DisplayAlerts = false

             

                    Set objExcelDoc = objExcelApp.Workbooks.Add("c:\temp\ExportaDF2.xltm")

                    ActiveDocument.GetSheetObject("CH93").CopyTableToClipboard false

                    objExcelDoc.Sheets(1).Paste

                    ActiveDocument.GetSheetObject("CH56").CopyTableToClipboard true

                    objExcelDoc.Sheets(1).cells(5,1).Select

                    objExcelDoc.Sheets(1).Paste

                   

                    set objSheet = objExcelDoc.Sheets(objExcelDoc.Sheets.Count)

                    objSheet.Name = "Resumo"

                   

                    ' Lista de objetos que compoem o cabecalho

                    Dim idCab(3)

                    idCab(0) = "CH93"

                    idCab(1) = "CH92"

                    idCab(2) = "CH91"

                    idCab(3) = "CH90"   

                   

                    for i = 0 to objSel.Count - 1

                        ActiveDocument.Fields("NumeroEmpresa").Select objSel.Item(i).text

                        ActiveDocument.GetApplication.WaitForIdle

                                           

                        for j = 0 to UBOUND(idCab)

                           ' Copia grafico para o cabecalho do relatorio           

                            ActiveDocument.GetSheetObject(idCab(j)).CopyTableToClipboard false

                            objExcelDoc.Sheets(1).cells(j+1,1).Select

                            objExcelDoc.Sheets(1).Paste

                        next

                        ActiveDocument.GetSheetObject("CH56").CopyTableToClipboard true

                        objExcelDoc.Sheets(1).cells(5,1).Select

                        objExcelDoc.Sheets(1).Paste

                        set objSheet = objExcelDoc.Sheets(objExcelDoc.Sheets.Count)

                        objSheet.Name = objSel.Item(i).text

                       

                    next

                    ActiveDocument.fields("NumeroEmpresa").SelectValues objSel

                    ActiveDocument.GetApplication.WaitForIdle

                    ActiveDocument.GetSheetObject("CH59").CopyTableToClipboard true

                    objExcelDoc.Sheets("Plan1").Paste

                    objExcelDoc.Sheets("Plan1").Rows("1:50").RowHeight = 15

                    objExcelDoc.Sheets("Plan1").Columns("A:Z").EntireColumn.AutoFit

                    Msgbox("Exportação Finalizada")

                end if

             

            end sub

            • Re: Exportar N objetos de tabela para N planilhas no Excel
              pericles silva

              Alem do script que gera N planilhas no Excel a partir de alguns objetos de tabela no QV, eu preciso também "appendar" ou "concatenar" essas informações dentro de um arquivo instanciado de um Excel-modelo, onde neste arquivo contém cabeçalho e formatações feitas. Exemplo:

               

               

              Cabeçalho (arquivo Excel-modelo):

              Empresa QlikCommunity

               

              Dados vindos de um objeto de tabela (Tabela do Qlikview):

              Conta ContábilValorData
              1111111111R$ 1,0001/01/2012
              2222222222R$ 2,0002/01/2012
              3333333333R$ 3,0003/01/2012

               

              Resultado:

              Empresa QlikCommunity
              Conta ContábilValorData
              1111111111R$ 1,0001/01/2012
              2222222222R$ 2,0002/01/2012
              3333333333R$ 3,0003/01/2012

               

               

              Att,

              Péricles.