• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Ruben_Barbosa

[Resolvido]Passagem de dados entre BD e Excel

9 mensagens neste tópico

'EXTRAIR INFORMACÃO PARA EXCEL
        Try
       
            Dim objApp As Object
            objApp = CreateObject("Excel.Application")
            Dim xlw As Microsoft.Office.Interop.Excel.Workbook
            Dim i As Integer = 0
            Dim j As Integer = 0
            Dim oldCI As System.Globalization.CultureInfo = _
              System.Threading.Thread.CurrentThread.CurrentCulture
            System.Threading.Thread.CurrentThread.CurrentCulture = _
                New System.Globalization.CultureInfo("en-US")

            xlw = objApp.Workbooks.Add

            xlw.Sheets(1).Select()

            objApp.ActiveSheet.Cells(1, 1) = "ID FOLHAS"

            objApp.ActiveSheet.Cells(1, 2) = "Departamento"

            objApp.ActiveSheet.Cells(1, 3) = "Utilizador"

            objApp.ActiveSheet.Cells(1, 4) = "Data Requisição"

            objApp.ActiveSheet.Cells(1, 5) = "Quantidade Unitária"

            objApp.ActiveSheet.Cells(1, 6) = "Observação"

            objApp.Columns.AutoFit()

            For i = 0 To DataGridView1.Rows.Count - 1       'Numero de Linhas para extrair informação
                objApp.Columns.AutoFit()
                For j = 0 To DataGridView1.Columns.Count - 1 'Numero de Colunas Com os Nomes para a BD
                    xlw.Application.Cells(i + 2, j + 1).value = DataGridView1.Rows(i).Cells(j).Value
                Next
            Next
            'Next
            objApp.Visible = True
        Catch
            MsgBox("O EXCEL não pode ser iniciado!", vbCritical)
        End Try

Este é o meu Codigo onde me extrai toda a informação contida na BD para o Excel  ;)

Agora o que eu queria e nao sei como fazer é o utilizador na minha aplicação escolhe um data inicial e uma data final e ele vai a BD pesquisar essa informação e transmitia para o excel da informacao expecificada. :hmm:

EDIT: Título melhorado. ribeiro55

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para a pergunta que fazes, forneceste a parte errada do código, ou assim me parece.

Como estás a consultar os dados e a preencher a DataGrid?

Isso é que interessa...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Antes demais Obrigado Ribeiro55.

Mas é o seguinte o que esse Codigo me faz é toda a informação que contem a Minha BD que é demonstrada no meu Datagridview é colocado no excel.

Até ai tudo bem.

Agora queria era o utilizador inserir duas datas um data inicial e um data Final do genero:

DI-01/11/2009

DF-10/11/2009

Quando carrega-se no meu botão de excel ele em vez de exportar a informação toda , quero que me exporte a informação so entre estas Datas. :wallbash:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se existem dados na DataGrid, significa que alguém ou alguma coisa os lá meteu.

Para que esses dados venham condicionados, neste caso a um intervalo de tempo, o que temos de ver é como estás a preencher a DataGrid, isto porque se já tens um bloco de código que agarra no que está na DataGrid e faz o que tem a fazer, a dedução lógica seria:

"Ok, se consigo ler dados da DataGrid, mas estão lá todos, o que tenho de fazer é tentar condicionar os dados na datagrid porque a exportação para o excel funciona".

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Antes demais Obigrado Ribeiro.

Mas até ai já eu tinha chegado ;)

Agora eu nao sei é como condiciono o meu codigo para tal :|

Nem sei se terei que usar Select ou não :|.

Se tivessem um exemplo de um tutorial seria mt bom para me orientar e Perceber.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

try
'Definir Parametros
            Dim DaSQL As New SqlDataAdapter
            DaSQL = New SqlDataAdapter("Select * From reqfolha", cnSQL)

            ' Cria um novo DataSet, ou seja, uma representação em memória da informação
            Dim ds As DataSet = New DataSet()

            ' Coloca a informação da tabela definida no DataSet
            DaSQL.Fill(ds, "reqfolha")

            ' Define que a fonte de dados da DataGridView é a nossa DataSet
            ' criando automáticamente as colunas e linhas de dados
            Me.DataGridView1.DataSource = ds.Tables.Item("reqfolha")


            ' Cria automáticamente o comando para permite actualizar a DataSet
            Dim act As New SqlCommandBuilder(DaSQL)

            ' Actualiza na DataSet, e por sua vez na tabela, as alterações efectadas
            DaSQL.Update(ds, "reqfolha")

        Catch
        End Try

Assim que funciona o meu Datagridview  :fartnew2:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Como exportas atraves da datagridview podes fazer o parametro de pesquisa através do codigo sql para a datagrid

depois como exportas da grid para o excel penso que não tens qualquer problema

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora