SALVAR TABELA DATAGRIDVIEW EM EXCEL

MOUSER 01/03/2014 17:19:54
#435433
Estou com um projeto, aonde clico para salvar e ele abre a janela onde posso salvar, mas não faço ideia como fazer isso? quando clico no botão Salvar, ele tem que pegar a tabela da DGV e salvar no caminho q a savefiledialog indicar, e estou querendo também q ele abra a tabela de Excel também e execute na dgv ao clicar no botão abrir e para executar a tabela, usar o openfiledialog, Alguém sabe usar essas ferramentas? e como posso fazer isso?
MOUSER 03/03/2014 12:09:01
#435462
Se alguém souber de algum link q possa me ajudar ou algum código para salvar, não precisa ser necessariamente salvar a partir da DGV, pode ser também uma cópia da tabela SQL passar pelo VB.net e depois jogar no Excel... é que nunca usei este recuso de Caixas de diálogos e agora preciso usa-los. Agradeço muito quem puder me ajudar...
MOUSER 03/03/2014 18:52:38
#435476
Galera, para quem não entendeu o que eu quero fazer, segue uma imagem da janela... (Censurei os telefones por ética).
MOUSER 03/03/2014 23:06:54
#435493
Por favor, me ajuda, alguem me ajuda, se tiver alguem ai com fé, não consigo mais ficar de pé...
MOUSER 05/03/2014 12:17:45
#435535
Eu fiz o teste deste ultimo link e ele esta apresentando alguns erros, por exemplo na importação do Microsoft.Excel, vou tentar tirar um print da pagina com erro e postar, alem desta forma de salvar(exportar) do datagrid (dgv) é possivel fazer isso no sistema, buscando direto do SQL sem precisar passar pelo DGV, deixando o dgv somente para visualização da tabela? quem sabe assim fica mais facil. Vou dar uma estudada nos outros links, se alguem por acaso souber de links com tutoriais explicando esta parte, ficarei grato. Obrigado pela ajuda Leoretorico, ja me deu uma adiantada boa em alguns blocos de programação... o da Web cam para windows 7 funcionou perfeitamente.
MOUSER 07/03/2014 11:32:37
#435642
Pessoal, eu encontrei um analista em PHP, me informou q salvando em CSV (separado por virgulas) ficaria muito mais fácil e acessível a qualquer maquina, sendo q abrindo com Excel ou usando algum pacote do BrOffice, ou qualquer outro tipo de tabela, era possível, mas como ele tem o conhecimento só em PHP, a lógica eu já tenho, preciso da opinião se realmente é viável como diz o analista ou se tem algum outro meio mais viável...
WCOSTA 07/03/2014 11:40:32
#435644
Mouser,
Eu uso a rotina em anexo. Feita em C#, mas roda tranquilamente em VB.net. é possível ainda compilar em VC# Express e criar um DLL.
Tranquilo e funcional para exportar sem o Excel instalado.
MOUSER 07/03/2014 14:23:28
#435653
Citação:

:
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs)
Using excelSheetToOpen As New OpenFileDialog()
Const definicao1 As String = [Ô]Data1[Ô]
excelSheetToOpen.Filter = [Ô]Excel 97- 2003 WorkBook (*.xls)| *.xls | Excel 2007 WorkBook (*.xlsx) | *.xlsx | All files (*.*)|*.*[Ô]
excelSheetToOpen.FilterIndex = 3
excelSheetToOpen.Multiselect = True
If excelSheetToOpen.ShowDialog() = DialogResult.OK Then
Dim title As String
Dim style As MsgBoxStyle
Dim response As MsgBoxResult
style = MsgBoxStyle.Information Or MsgBoxStyle.Information Or MsgBoxStyle.YesNo
title = [Ô]Importando dados[Ô]
Dim msg As String = String.Format([Ô]{0} você deseja importar os dados do arquivo selecionado?[Ô], Label1.Text)
response = MsgBox(msg, style, title)
Dim excelApplication As Excel.Application = New Excel.Application()
If response = MsgBoxResult.Yes Then
excelApplication.DisplayAlerts = False
Dim excelWrkBook As Excel.Workbook
excelApplication.Visible = False
excelWrkBook = excelApplication.Workbooks.Open(excelSheetToOpen.FileName)
DirectCast(excelWrkBook.Sheets(1), Excel.Worksheet).SaveAs(Filename:=[Ô]C:Arquivos de programas.... [Ô] & definicao1 & [Ô].csv[Ô], FileFormat:=Microsoft.Office.Interop.Excel.XlFileFormat.xlCSVWindows)
excelWrkBook.Close()
Dim connString = ConfigurationManager.ConnectionStrings([Ô]ConnectionString1[Ô]).ConnectionString
myConnection.ConnectionString = connString
myConnection.Open()
Using insertt As NpgsqlCommand = New NpgsqlCommand([Ô]set client_encoding to [ô]iso-8859-1[ô];COPY dados1 FROM [ô]C:Program Files....CCUpgradedata1.csv[ô] WITH DELIMITER [ô],[ô] CSV HEADER; [Ô], myConnection)
insertt.ExecuteNonQuery()
End Using
MsgBox([Ô]Operação realizada com sucesso ...[Ô], [Ô]Informação[Ô])
myConnection.Close()
carregar()
Else
Exit Sub
End If
End If
End Using
End Sub




Sub carregar()
Dim c As New [Ô]Nome da dll que contém o select [Ô]() [ô]instancía a dll
Dim ds As New DataSet [ô]define dataset
Try
ds = c.buscaDados()

If ds.Tables(0).Rows.Count > 0 Then
GridControl1.DataSource = ds.Tables(0)[ô] .................. preeenche o datagrid!
End If

Catch ex As Exception
MsgBox(ConfigurationManager.AppSettings([Ô]NothingConn[Ô]))

End Try
End Sub

Leoteorico Achei este código: Dim ExcelApp As Object, ExcelBook As Object
Dim ExcelSheet As Object
Dim i As Integer
Dim j As Integer

[ô]create object of excel
ExcelApp = CreateObject([Ô]Excel.Application[Ô])
ExcelBook = ExcelApp.WorkBooks.Add
ExcelSheet = ExcelBook.WorkSheets(1)

With ExcelSheet
For i = 1 To Me.dgv.RowCount
.cells(i, 1) = Me.dgv.Rows(i - 1).Cells([Ô]cod[Ô]).Value
For j = 1 To dgv.Columns.Count - 1
.cells(i, j + 1) = dgv.Rows(i - 1).Cells(j).Value
Next
Next
End With

ExcelApp.Visible = True
[ô]
ExcelSheet = Nothing
ExcelBook = Nothing
ExcelApp = Nothing


Ele é bem mais simplificado e faz o mesmo efeito, e o lado bom é que não preciso chamar a Caixa de Dialogo para salvar... WCOSTA, vou dar uma estudada no código q me passou...
Tópico encerrado , respostas não são mais permitidas