Jump to content

[Resolvido]Passagem de dados entre BD e Excel


Ruben_Barbosa
 Share

Recommended Posts

'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. ?

EDIT: Título melhorado. ribeiro55

Link to comment
Share on other 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...

Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Link to comment
Share on other 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:

Link to comment
Share on other 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".

Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Link to comment
Share on other 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:

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.