none
Como preencher uma planilha no excel utilizando o VB 2010

    Question

  • Booa tarde galera...

    acredito que minha dúvida seja simples para os mestres em VB 2010!

    Bom, eu tenho um formulário no VB2010. A partir deste formulário eu quero preencher uma planilha no excel. tem como?

    Por exemplo:

    Tenho uma interface com várias TEXTBOX a serem preenchidas. Cada textbox deve fazer referencia a uma coluna em uma planilha do excel 2010, ou seja, o que eu digitar na primeira text box deverá ser inserido na coluna A da minha planilha..

    Entenderam?

    Muito obrigado..

    Saturday, December 08, 2012 5:05 PM

Answers

  • Olha a parte em negrito no código:

    Public Sub GerarPlanilhasExcel()


    Dim cnt As Integer

    Dim appExcel As Excel.Application
    Dim wbk As Excel.Workbook
    Dim wks As Excel.Worksheet
    Dim rng As Excel.Range
    Dim fileName As String

    appExcel = New Excel.Application
    appExcel.Visible = True
    wbk = appExcel.Workbooks.Add
    wks = wbk.Worksheets(1) 'Inclui na pasta 1
    wks.Name = OnibusNovos
    rng = wks.Range("A2:I4001")
    wks.Cells(1, 1).Value = "Generating data..."

    'Abrir a consulta em Acess gerada 
    sSQL = "Select * from onibusnovos"
    Rx.Open(sSQL, CnLeoBaan, ADODB.CursorTypeEnum.adOpenKeyset, ADODB.LockTypeEnum.adLockOptimistic)

    'Converter os dados que houverem para a planilha em Excel
    If Rx.EOF = False Then

    cnt = 1
    For Each fld In Rx.Fields
    wks.Cells(1, cnt).Value = fld.Name
    cnt = cnt + 1
    Next fld
    Call rng.CopyFromRecordset(Rx, 4000, 26)

    End If


    Rx.Close()

    'GERAR DADOS EM PLANILHA PARA O WHEREUSED
    wks = wbk.Worksheets(2) 'Inclui na pasta 2
    wks.Name = BairrosNovos"
    rng = wks.Range("A2:I4001")
    wks.Cells(1, 1).Value = "Generating data..."
    'Abrir a consulta em Acess gerada do EXOB
    sSQL = "Select * from BairrosNovos"
    Rx.Open(sSQL, CnLeoBaan, ADODB.CursorTypeEnum.adOpenKeyset, ADODB.LockTypeEnum.adLockOptimistic)

    'Converter os dados que houverem para a planilha em Excel
    If Rx.EOF = False Then

    cnt = 1
    For Each fld In Rx.Fields
    wks.Cells(1, cnt).Value = fld.Name
    cnt = cnt + 1
    Next fld
    Call rng.CopyFromRecordset(Rx, 4000, 26)

    End If

    'Salvar a planilha em Excel
    fileName = "C:\TEMP\Onibus&BairrosNovos" & Format(Now, "ddMMyyyyhhmm") & "h.xls"


    MsgBox("Planilha Gerada:" & fileName & "!!!!")

    wks.SaveAs(fileName)


    End Sub


    Visual Studio 2010(Vb.Net)

    Sunday, December 09, 2012 4:51 PM

All replies

  • Boa Tarde,

    Eu dei uma procurada sobre o assunto e achei alguns links:

    VB.NET - Exportando dados para o Excel

    Criar/Salvar Excel

    Gerar planilha do excel via visual studio 2005


    Visual Studio 2010(Vb.Net)

    Saturday, December 08, 2012 5:25 PM
  • Boa tarde Hebert...

    Minha dúvida mesmo agora é como salvar minha planilha em um diretrório. Aquela função de SALVAR COMO mesmo...

    Sunday, December 09, 2012 10:51 AM
  • Olha a parte em negrito no código:

    Public Sub GerarPlanilhasExcel()


    Dim cnt As Integer

    Dim appExcel As Excel.Application
    Dim wbk As Excel.Workbook
    Dim wks As Excel.Worksheet
    Dim rng As Excel.Range
    Dim fileName As String

    appExcel = New Excel.Application
    appExcel.Visible = True
    wbk = appExcel.Workbooks.Add
    wks = wbk.Worksheets(1) 'Inclui na pasta 1
    wks.Name = OnibusNovos
    rng = wks.Range("A2:I4001")
    wks.Cells(1, 1).Value = "Generating data..."

    'Abrir a consulta em Acess gerada 
    sSQL = "Select * from onibusnovos"
    Rx.Open(sSQL, CnLeoBaan, ADODB.CursorTypeEnum.adOpenKeyset, ADODB.LockTypeEnum.adLockOptimistic)

    'Converter os dados que houverem para a planilha em Excel
    If Rx.EOF = False Then

    cnt = 1
    For Each fld In Rx.Fields
    wks.Cells(1, cnt).Value = fld.Name
    cnt = cnt + 1
    Next fld
    Call rng.CopyFromRecordset(Rx, 4000, 26)

    End If


    Rx.Close()

    'GERAR DADOS EM PLANILHA PARA O WHEREUSED
    wks = wbk.Worksheets(2) 'Inclui na pasta 2
    wks.Name = BairrosNovos"
    rng = wks.Range("A2:I4001")
    wks.Cells(1, 1).Value = "Generating data..."
    'Abrir a consulta em Acess gerada do EXOB
    sSQL = "Select * from BairrosNovos"
    Rx.Open(sSQL, CnLeoBaan, ADODB.CursorTypeEnum.adOpenKeyset, ADODB.LockTypeEnum.adLockOptimistic)

    'Converter os dados que houverem para a planilha em Excel
    If Rx.EOF = False Then

    cnt = 1
    For Each fld In Rx.Fields
    wks.Cells(1, cnt).Value = fld.Name
    cnt = cnt + 1
    Next fld
    Call rng.CopyFromRecordset(Rx, 4000, 26)

    End If

    'Salvar a planilha em Excel
    fileName = "C:\TEMP\Onibus&BairrosNovos" & Format(Now, "ddMMyyyyhhmm") & "h.xls"


    MsgBox("Planilha Gerada:" & fileName & "!!!!")

    wks.SaveAs(fileName)


    End Sub


    Visual Studio 2010(Vb.Net)

    Sunday, December 09, 2012 4:51 PM