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

André Parreira

Excel

18 mensagens neste tópico

Boas

Com ajuda, ja consegui fazer o datagrid ir buscar o ficheiro excel que quer.

mas agora ele as vezes da erro.

Aqui:

   

Dim da As New OleDbDataAdapter("SELECT * FROM [Folha1$]", conexao_Excel)

Diz que a folha1 nao esta declarada( ou e sheet1 ou plan1) mas como fasso para meter os 3??

outra duvida, para gravar depois de ter alterado, meti este codigo.

Dim excel As Object
        excel = CreateObject("excel.Application")
        excel.Application.Workbooks.Add(True)
        excel.Save(textbox.text)

ele cria, em vez de criar, vou ver a folha e esta toda em branko.

Agradecia ajuda

dscp o incomodo

Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Dim excel As Object
        excel = CreateObject("excel.Application")
        excel.Application.Workbooks.Add(True)
        excel.Save(textbox.text)

Entao ele ali esta a criar um novo ficheiro de excel e grava... nao tens de preencher o ficheiro?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas

desde ja agradeço a ajuda :)

sim, tenho ke ir buscar um ficheiro excel( ja konseguido) depois se kiser alterar alguma coisa, haja 1 botao para gravar.

Como haverei de meter?

Dim excel As Object
        excel = CreateObject("excel.Application")
        excel.Application.Workbooks.open(textbox.text)
        excel.Save(textbox.text)

e sobre esta duvida.

Dim da As New OleDbDataAdapter("SELECT * FROM [Folha1$]", conexao_Excel)

como posso resolver??

Obrigado pela ajuda

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Testei aqui no meu o open e tb nao da, ele apaga o outro, é como cria-se um novo, tu tens que fazer, para o que esta no datagrid, gravar numa folha de excel, pelo ke presebi.

Em relaçao a outra duvida, nao te consigo ajudar..

Bom resto de trabalho

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pois nao estou mm a ver komo é ke é :wallbash:

Agradecia Ajuda

Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

entao mas pera tu ja nao estas a ir buscar a informaçao a um ficheiro excel? esplica la detalhadamente o que queres

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas

Sim ja consigo, aparecer no datagrid o conteúdo do excel, mas agora queria que quando eu fizesse alguma alteração, haja um botão para gravar as alterações na mesma folha excel( ou outra isso depois o utilizador escolhe)

Ja criei o botão, já consigo gravar este o codigo que meti

 'Dim myStream As Stream
        'Dim saveFileDialog1 As New SaveFileDialog()
        'saveFileDialog1.FileName = "Introduza o Nome"
        'saveFileDialog1.Filter = " Excel 2003 (*.xls) |*.xls"
        'saveFileDialog1.FilterIndex = 2
        'saveFileDialog1.RestoreDirectory = True

        'If saveFileDialog1.ShowDialog() = DialogResult.OK Then
        '    myStream = saveFileDialog1.OpenFile()
        '    If (myStream IsNot Nothing) Then
        '        myStream.Close()

        '        MsgBox(saveFileDialog1.FileName, MsgBoxStyle.Information, "Bem Sucedido")
        '    End If
        'End If

mas quando vou depois ver a folha excel, ela esta em branco, como tivesse criado uma folha nova.

Espero ter sido esclarecedor

Obrigado pela ajuda

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O botao para gravar e esse ai em cima

Obrigado pla ajuda

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas pessoal( sei ke nao devia dar um "up" mas tal é o desespero) :wallbash:

ja me fartei de prokurar, de testar, mas nao consigo fazer com que o botão guarde o conteúdo da datagrid numa folha excel.

Agradecia a ajuda.

Obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

dos que vi, estes 2  foram os melhores, mas mm assim n konsegui meter.

Dim appExcel As New Excel.Application
Dim worExcel As Excel.Workbook
Dim sheExcel As Excel.Worksheet

worExcel = appExcel.Workbooks.Add
sheExcel = appExcel.Sheets(1)
sheExcel.Name = "Faturas.xls"

Dim strString As String

strString = "OLEDB;Provider=SQLOLEDB.1;Password=;Persist Security Info=True;
User ID=sa;Initial Catalog=;Data Source= "

With sheExcel.QueryTables.Add(Connection:=strString, Destination:=sheExcel.Range("A1"))
   .CommandType = Excel.XlCmdType.xlCmdSql
   .CommandText = "Procedure SQL"
   .Name = "+New SQL Server Connection"
   .FieldNames = True
   .RowNumbers = False
   .FillAdjacentFormulas = False
   .PreserveFormatting = True
   .RefreshOnFileOpen = False
   .BackgroundQuery = True
   .RefreshStyle = Excel.XlCellInsertionMode.xlInsertDeleteCells
   .SavePassword = False
   .SaveData = False
   .AdjustColumnWidth = True
   .RefreshPeriod = 0
   .PreserveColumnInfo = True
   .Refresh(BackgroundQuery:=False)

End With
sheExcel.QueryTables(1).Delete()

appExcel.Visible = True

e este

      Public Function DataSetToExcel(ByVal dtSource As System.Data.DataSet, ByVal sFileName As String)

            Dim iRowCount As Integer = dtSource.Tables(0).Rows.Count

            Dim iColCount As Integer = dtSource.Tables(0).Columns.Count

            Dim oData(iRowCount, iColCount) As Object

            Dim iRow As Integer, iCol As Integer

            For iRow = 0 To iRowCount - 1

                For iCol = 0 To iColCount - 1

                    oData(iRow, iCol) = dtSource.Tables(0).Rows(iRow).Item(iCol)

                Next

            Next

            ' Start Excel and get Application object
            Dim oExcel As Excel.Application = New Excel.Application()
            oExcel.Visible = True  ' Make visible

            ' Get a new workbook
            Dim oBook As Excel._Workbook = CType(oExcel.Workbooks.Add(Missing.Value), Excel._Workbook)
            Dim oSheet As Excel._Worksheet = CType(oBook.ActiveSheet, Excel._Worksheet)

            Dim oRange As Excel.Range = oSheet.Range("A1")
            oRange = oRange.Resize(iRowCount, iColCount)
            oRange.Value = oData

            oSheet.SaveAs(sFileName)
            oExcel.Workbooks.Close()
            oExcel.Quit()

            oBook = Nothing
            oSheet = Nothing
            oExcel = Nothing
        End Function



    End Class

Obrigado pela ajuda

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

entao... mas tu queres actualizar essa folha...ou criar numa nova?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

actualizar

faço o conteúdo dessa folha aparecer na datagrid(ja sei como se faz) depois se kiser alterar alguma coisa ele actualize a folha excel

Obrigado pela ajuda

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Alguem tem alguma sugestao??

dscp estar a insistir, mas e mm urgente.

Obrigado pela ajuda

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