Hej Beror på lite hur du vill att det ska gå till. Via urklipp eller via fil. Jag använder mig av en variant där jag skickar innehållet från en flexgrid till Urklipp och sedan klistrar in det i Excel. Bör alltså modifieras för att fungera med datagrid. Här kommer ett ex från en listview som jag använder i mitt program, men du borde kunna omvandla den. Här kan du välja var du skall spara denExportera från vb6 till excel
Är det ngn som kan ge ett ex på hur man exportera innehållet i en datagrid till excel?
Hittar inget ex på filarean.
//andersSv: Exportera från vb6 till excel
<code>
strClip = ""
For I = 0 To flxRes.Rows - 1
For J = 0 To flxRes.Cols - 1
strClip = strClip & flxRes.TextMatrix(I, J) & vbTab
Next J
strClip = strClip & vbCrLf
Next I
Clipboard.Clear
Clipboard.SetText strClip</code>
Mvh, JanneSv: Exportera från vb6 till excel
<code>
Private Sub Export_data()
' Skapa objekt för excel
Dim excApp As New Excel.Application
Dim excBook As Excel.Workbook
Dim excSheet As Excel.Worksheet
' Skapa variabler för listview
Dim lvwItem As ListItem
Dim lngCount As Long
Dim lngIndex As Long
Dim strNamn As String
Dim strAdress As String
Dim lngSum As Long
Dim lngKostnad As Long
Dim strFileNam As String
Dim m_Filename As String
On Error GoTo SaveError
' BEstämmer var jag skall spara den
With cmd
.DefaultExt = "xls"
.DialogTitle = "Exportera till"
.Filter = "Excel (*.xls)|*.xls"
.CancelError = True
.FileName = strFileNam
.ShowSave
End With
m_Filename = cmd.FileName' sätter filnamnet
' Skapa en excelbok och ett excelark i den
Set excBook = excApp.Workbooks.Add
Set excSheet = excBook.Worksheets.Add
frmProgress.ProgressBar1.Value = 5
excSheet.Range("a3", "p3").Font.Bold = True
' Lägg ut rubriker
With excSheet
.Range("A1").Value = "PLATS:" & Me.Caption
.Range("A3").Value = "ID"
.Range("B3").Value = "Tid"
.Range("C3").Value = "Grupp"
.Range("D3").Value = "P-ID"
.Range("E3").Value = "Kundnr"
.Range("F3").Value = "Produkt"
.Range("G3").Value = "Höjd"
.Range("H3").Value = "Bred"
.Range("I3").Value = "M2"
.Range("J3").Value = "Antal"
.Range("K3").Value = "Pris"
.Range("L3").Value = "Betald"
.Range("M3").Value = "Inpris"
.Range("N3").Value = "VInst kr"
.Range("O3").Value = "Vinst(%)"
.Range("P3").Value = "Kod"
End With
' Ta rad på hur många rader som listview-kontrollen har
lngCount = ListView1.ListItems.Count + 1
' Loppa genom listview-kontrollen
For lngIndex = 2 To lngCount - 1
' Ta fram namn, adress och belopp
' Lägg ut dem på rad lngIndex + 1 (vi börjar på första raden)
With excSheet
.Cells(lngIndex + 2, 1).Value = ListView1.ListItems(lngIndex).Text 'A
.Cells(lngIndex + 2, 2).Value = ListView1.ListItems(lngIndex).SubItems(1) 'B
.Cells(lngIndex + 2, 3).Value = ListView1.ListItems(lngIndex).SubItems(2) ' C
.Cells(lngIndex + 2, 4).Value = ListView1.ListItems(lngIndex).SubItems(3) 'D
.Cells(lngIndex + 2, 5).Value = ListView1.ListItems(lngIndex).SubItems(4) 'E
.Cells(lngIndex + 2, 6).Value = ListView1.ListItems(lngIndex).SubItems(5) 'F
.Cells(lngIndex + 2, 7).Value = ListView1.ListItems(lngIndex).SubItems(6) 'G
.Cells(lngIndex + 2, 8).Value = ListView1.ListItems(lngIndex).SubItems(7) 'H
.Cells(lngIndex + 2, 9).Value = ListView1.ListItems(lngIndex).SubItems(8) 'I
.Cells(lngIndex + 2, 10).Value = CDbl(ListView1.ListItems(lngIndex).SubItems(9)) 'J
.Cells(lngIndex + 2, 11).Value = CDbl(ListView1.ListItems(lngIndex).SubItems(10)) 'K
.Cells(lngIndex + 2, 12).Value = ListView1.ListItems(lngIndex).SubItems(11) 'L
.Cells(lngIndex + 2, 13).Value = CDbl(ListView1.ListItems(lngIndex).SubItems(12)) 'M
.Cells(lngIndex + 2, 14).Value = CDbl(ListView1.ListItems(lngIndex).SubItems(13)) 'N
.Cells(lngIndex + 2, 15).Value = ListView1.ListItems(lngIndex).SubItems(14) 'O
.Cells(lngIndex + 2, 16).Value = ListView1.ListItems(lngIndex).SubItems(15) 'P
End With
Next lngIndex
' Lägg till en summafunktion i kolumn tre
excSheet.Cells(lngIndex + 3, 11).Formula = "=SUM(K4:K" & CStr(lngIndex + 2) & ")"
excSheet.Cells(lngIndex + 3, 13).Formula = "=SUM(M4:M" & CStr(lngIndex + 2) & ")"
excSheet.Cells(lngIndex + 3, 14).Formula = "=SUM(N4:N" & CStr(lngIndex + 2) & ")"
excSheet.Range("a" & lngIndex + 3, "p" & lngIndex + 3).Font.Bold = True
' formaterar celler
excSheet.Columns("O:O").Select
Selection.NumberFormat = "0.00%"
excSheet.Columns("K:K").Select
Selection.NumberFormat = "0.00"
excSheet.Columns("M:M").Select
Selection.NumberFormat = "0.00"
excSheet.Columns("N:N").Select
Selection.NumberFormat = "0.00"
excSheet.Columns("I:I").Select
Selection.NumberFormat = "0.0"
excSheet.Columns("F:F").EntireColumn.AutoFit
' Spara boken
'm_Filename = m_Filename & "\" & strFileNam & ".xls"
excBook.SaveAs m_Filename
' Stäng boken
excBook.Close False
frmProgress.Hide
' Döda Excel
Set excBook = Nothing
MsgBox "Exporten av ' " & strFileNam & " ' är genomförd!", vbInformation
' Avsluta denna applikation
SaveExit:
Exit Sub
SaveError:
' 32755 är felkoden för "Avbryt" i Commondialogen
If Err = 32755 Then Resume SaveExit
MsgBox "Ett fel uppstod: Felkod " & Err & ", felmeddelande: " & Err.Description
Resume SaveExit
</code>
Hoppas den kan vara till någon nytta..
/Phinala