Automatisch export naar Microsoft Excel DataTable

Vandaag wil ik een voorbeeld dat me heeft gediend voor een lange tijd en toch gebruik ik nog steeds laten zien.
We zullen een voorbeeld voor een DataTable te exporteren naar Excel volledig onafhankelijk van het aantal kolommen of rijen die hebben.

Er kunnen vele manieren om dit te doen, maar ik vind het echt nuttig omdat deze methode werkt voor alle versies van Excel. Voor compatilidad problemen met nieuwere versies van Excel alleen omgaan met 256 kolommen.

Het eerste wat we nodig hebben is het toevoegen van een verwijzing naar Microsoft.Office.Interop.Excel en dat doen we als volgt:

Importar referencia a Excel

Importeer verwijzing naar Excel

Importar referencia Excel

Import Excel referentie

Dan moeten we een formulier, een knop, DataGridView en voortgangsbalk. We kunnen zoals te zien in de foto:

Formulario aplicación para exportar dataset a excel

Aanvraagformulier om dataset exporteren naar Excel

Nu wil ik laten zien dat de code is heel eenvoudig belangrijkste is dat het zich aanpast aan elke tafel. U kunnen opnieuw zonder problemen.

 Imports System.Data Imports System.Data.SqlClient Public Class Form1 Invoer Microsoft.Office.Interop prive ds As New DataSet Private Form1_Load Sub (ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / '/ / Maak de verbinding en vul de DataGridView "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / Dim cnn As New SqlConnection ("Data Source = localhost \ SQLExpress; Initial Catalog = Noordenwind, Integrated Security = True") Dim da As New SqlDataAdapter ("Select * van klanten", CNN) geeft. Vul (ds) DataGridView1.DataSource = ds.Tables (0) End Sub Private Sub btnExportar_Click (ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExportar.Click "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / '/ / Maak de Excel Object' / / / / / / / / / / / / / / / / / / / / / / / / / / / / / Dim Dim m_Excel objLibroExcel Dim objHojaExcel m_Excel = CreateObject ("Excel.Application") m_Excel.Workbooks.Add objLibroExcel = () = objLibroExcel.Worksheets objHojaExcel (1) objHojaExcel.Name = "Klanten" objHojaExcel.Visible = Excel . XlSheetVisibility.xlSheetVisible objHojaExcel.Activate () "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / '/ / define twee variabelen op rij en kolom te beheersen "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / Dim rij As Integer = 1 Dim column As Integer = 1 '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / '/ / We zetten de regel met de kolomkoppen "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / objHojaExcel.Range ("A1"). Selecteer met () Voor elke v In ds.Tables (0). Columns objHojaExcel.Range (kolomnaam (kolom) & 1). Value = dc.ColumnName kolom + = 1 Next rij + = 1 "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / '/ / We formatteren van de titels rij' / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / Dim als Excel.Range = objHojaExcel.Range objRango ("A1:". & kolomnaam (ds.Tables (0) Columns.Count) & "1") objRango.Font . Vet = True objRango.Cells.Interior.ColorIndex = 35 objRango.Cells.Borders (Excel.XlBordersIndex.xlDiagonalDown). LineStyle = Excel.XlLineStyle.xlLineStyleNone objRango.Cells.Borders (Excel.XlBordersIndex.xlDiagonalUp). LineStyle = Excel. XlLineStyle.xlLineStyleNone objRango.Cells.Borders (Excel.XlBordersIndex.xlEdgeLeft). LineStyle = Excel.XlLineStyle.xlLineStyleNone objRango.Cells.Borders (Excel.XlBordersIndex.xlEdgeRight). LineStyle = Excel.XlLineStyle.xlContinuous objRango.Cells.Borders (Excel . XlBordersIndex.xlEdgeTop). LineStyle = Excel.XlLineStyle.xlContinuous objRango.Cells.Borders (Excel.XlBordersIndex.xlEdgeBottom). LineStyle Excel.XlLineStyle.xlContinuous = '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / '/ / Laad alle rijen in de gegevenstabel "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / ProgressBar1.Maximum = ds.Tables (0). Rows.Count ProgressBar1.Value kolom = 1 = 0 Voor elke dr. In ds.Tables (0). Rijen kolom = 1 voor elke v in ds.Tables (0). Columns objHojaExcel.Range (kolomnaam (kolom) & rij). Value = dr. (dc.ColumnName) kolom + = 1 Volgende rij + = 1 + = 1 Next ProgressBar1.Value "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / '/ / We passen automatisch de breedte "/ / voor alle kolommen gebruikt" / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / objRango = objHojaExcel.Range ("A1:".. & kolomnaam (ds.Tables (0) Columns.Count) & ds.Tables (0) Rows.Count.ToString) objRango.Select () objRango . Columns.AutoFit () "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / '/ / We vertellen Excel om te laten zien "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / MsgBox (" Export naar Excel Complete " , MsgBoxStyle.Information, ". :: solovb.net ::.") m_Excel.Visible = True End Sub Public Function kolomnaam (ByVal aantal As Integer) As String Dim kolom (256) As String kolom (1) = "A" kolom (2) = "B" stijl (3) = "C" kolom (4) = "D" stijl (5) = "E" kolom (6) = "F" kolom (7) = "G" kolom ( 8) = "H" kolom (9) = "I" kolom (10) = "J" kolom (11) = "K" kolom (12) = "L" kolom (13) = "M" kolom (14) = "N" kolom (15) = "W" kolom (16) = "P" kolom (17) = "Q" kolom (18) = "R" kolom (19) = "S" kolom (20) = " T '(21) = "U" kolom (22) = "V" kolom (23) = "W" kolom (24) = "X" kolom (25) = "Y" kolom (26) = "Z" kolom (27) = "AA" kolom (28) = "AB" kolom (29) = "AC" kolom (30) = "AD" kolom (31) = "AE" kolom (32) = "AF" kolom ( 33) = "AG" Column (34) = "AH" kolom (35) = "Nummer" kolom (36) = "AJ" kolom (37) = "AK" kolom (38) = "TO" kolom (39) = "AM" kolom (40) = "NA" kolom (41) = "AO" kolom (42) = "AP" kolom (43) = "AQ" kolom (44) = "RA" kolom (45) = " AS "kolom (46) =" AT "kolom (47) =" AU "kolom (48) =" AV "kolom (49) =" AW "kolom (50) =" AX "kolom (51) =" AY " kolom (52) = "AZ" kolom (53) = "BA" kolom (54) = "VO" kolom (55) = "BC" kolom (56) = "BD" kolom (57) = "BE" kolom ( 58) = "BF" kolom (59) = "BG" kolom (60) = "BH" kolom (61) = "BI" kolom (62) = "BJ" kolom (63) = "BK 'kolom (64) = "BL" kolom (65) = "BM" kolom (66) = "BN" kolom (67) = "BO" kolom (68) = "BP" kolom (69) = "BQ" kolom (70) = " BR "kolom (71) =" BS "kolom (72) =" BT "kolom (73) =" BU "kolom (74) =" BV "kolom (75) =" BW "kolom (76) =" BX " kolom (77) = "DOOR" kolom (78) = "BZ" kolom (79) = "CA" kolom (80) = "CB" kolom (81) = "CC" kolom (82) = "CD" kolom ( 83) = "CE" kolom (84) = "CF" kolom (85) = "CG" kolom (86) = "CH" kolom (87) = "CI" kolom (88) = "CJ" kolom (89) = "CK" kolom (90) = "CL" kolom (91) = "CM" kolom (92) = "CN" kolom (93) = "CO" kolom (94) = "CP" kolom (95) = " CQ "kolom (96) =" CR "kolom (97) =" CS "kolom (98) =" CT "kolom (99) =" CU "kolom (100) =" CV "kolom (101) =" CW " kolom (102) = "CX" kolom (103) = "CY" kolom (104) = "CZ" kolom (105) = "DA" kolom (106) = "DB" kolom (107) = "DC" kolom ( 108) = "L" kolom (109) = "DE" kolom (110) = "DF" kolom (111) = "DG" kolom (112) = "DH" kolom (113) = "ID" kolom (114) = "DJ" kolom (115) = "DK" kolom (116) = "DL" kolom (117) = "DM" kolom (118) = "DN" kolom (119) = "DO" kolom (120) = " DP "kolom (121) =" DQ "kolom (122) =" DR "kolom (123) =" DS "kolom (124) =" DT "kolom (125) =" DU "kolom (126) =" DV " kolom (127) = "DW" kolom (128) = "DX" kolom (129) = "DY" kolom (130) = "DZ" kolom (131) = "EA" kolom (132) = "EB" kolom ( 133) = "EG" kolom (134) = "ED" kolom (135) = "EE" kolom (136) = "EF" kolom (137) = "EG" kolom (138) = "EH" kolom (139) = "EI" kolom (140) = "EJ" kolom (141) = "EK" kolom (142) = "EL" kolom (143) = "MS" kolom (144) = "IN" kolom (145) = " EO "kolom (146) =" EP "kolom (147) =" EQ "kolom (148) =" ER "kolom (149) =" ES "kolom (150) =" ET "kolom (151) =" EU " kolom (152) = "ES" kolom (153) = "EW" kolom (154) = "EX" kolom (155) = "EY" kolom (156) = "EZ" kolom (157) = 'FA' kolom ( 158) = "FB" kolom (159) = "FC" kolom (160) = "FD" kolom (161) = "FE" kolom (162) = "FF" kolom (163) = "FG" kolom (164) = "FH" kolom (165) = "FI" kolom (166) = "FJ" kolom (167) = "FK" kolom (168) = "FL" kolom (169) = "FM" kolom (170) = " FN "kolom (171) =" FO "kolom (172) =" FP "kolom (173) =" CF "kolom (174) =" FR "kolom (175) =" FS "kolom (176) =" FT ' kolom (177) = "FU" kolom (178) = "FV" kolom (179) = "FW" kolom (180) = "FX" kolom (181) = "BJ" kolom (182) = "FZ" kolom ( 183) = "GA" kolom (184) = "GB" kolom (185) = "GC" kolom (186) = "GD" kolom (187) = "GE" kolom (188) = "GF" kolom (189) = "GG" kolom (190) = "GH" kolom (191) = "GI" kolom (192) = "GJ" kolom (193) = "GK" kolom (194) = "GL" kolom (195) = " GM "kolom (196) =" GN "kolom (197) =" GO "kolom (198) =" GP "kolom (199) =" GQ "kolom (200) =" GR "kolom (201) =" GS " kolom (202) = "GT" kolom (203) = "GU" kolom (204) = "GV" kolom (205) = "GW" kolom (206) = "GX" kolom (207) = "GY" kolom ( 208) = "GZ" kolom (209) = "HA" kolom (210) = "HB" kolom (211) = "HC 'kolom (212) =" HD "kolom (213) =" HE "kolom (214) = "HF" kolom (215) = "HG" kolom (216) = "HH" kolom (217) = "HI" kolom (218) = "HJ" kolom (219) = "HK" kolom (220) = " HL "kolom (221) =" HM "kolom (222) =" HN "kolom (223) =" HO "kolom (224) =" HP "kolom (225) =" HQ "kolom (226) =" HR " kolom (227) = "HS" kolom (228) = "HT" kolom (229) = "HU" kolom (230) = "HV 'kolom (231) =" HW "kolom (232) =" H "-kolom ( 233) = "HY" kolom (234) = "HZ" kolom (235) = "IA" kolom (236) = "IB" kolom (237) = "IC" kolom (238) = "ID" kolom (239) = "IE" kolom (240) = "IF" kolom (241) = "IG" kolom (242) = "H" kolom (243) = "II" kolom (244) = "IJ" kolom (245) = " IK "kolom (246) =" IL "kolom (247) =" IM "kolom (248) =" IN "kolom (249) =" IO "kolom (250) =" IP "kolom (251) =" IQ " kolom (252) = "V" kolom (253) = "IS" kolom (254) = "IT" kolom (255) = "UI" kolom (256) = "IV" Return kolom (aantal) End Function End Class 

Deze methode heeft gediend me goed en ik hoop dat jullie dat ook doen ... laat dan aub uw commentaar.

34 Responses to "Automatisch exporteren DataTable naar Microsoft Excel"

  1. Informatie Bitacoras.com ...

    Prijs in Bitacoras.com: Hallo, Vandaag wil ik een voorbeeld dat me heeft gediend voor een lange tijd en toch gebruik ik nog steeds laten zien. We zullen een voorbeeld voor een DataTable, ongeacht exporteren naar Excel vol van het aantal kolommen of rijen die Teng .....

    • Carlos Linares zegt:

      Goede ...

      Excellent bericht! Dank u wel hielp me vol, maar ik heb een twijfel .. Omdat de link is met sql .. Hoe hernoem ik columns? Want het brengt de naam van het gebied van sql ..!

      Ik hoop en ik heb begrepen ..

      Dank je wel!

  2. Denko zegt:

    Ik ga om op te slaan ...
    op een gegeven moment is het nuttig ...

  3. Victor zegt:

    Is het geldig voor Excel 2007? Ik heb problemen met de export te ontwikkelen, dat het geldig is voor eerdere versies, maar niet voor 2007. Bedankt

  4. John zegt:

    Enorme broncode. geserveerd me goed. q het was de hoogste tijd.

  5. John zegt:

    Hoewel moeten ook ecxel de invoer van een tabel met gegevens. maar zou het milieu tot een DataGrid en dan updaten van de DataAdapter en het aanvaarden van veranderingen in de DataTable zou worden opgeslagen in de q-bd ... Ik hoop dat ik kan helpen of te vinden .. bedankt

  6. jose zegt:

    Hallo Hartelijk dank! dit uitstekend!
    Maar ik vraag me af waar datagrid geeft aan dat wordt gebruikt in het geval die meerdere Datagrid?

    • Carlos Linares zegt:

      Op de tafel je op gesprek ...

      SELECT * FROM (tabelnaam)

      Als u wilt opgeven welke velden je wilt

      te selecteren (velden, akkers, velden) * uit tabel
      EJM
      Selecteer auto, kleur, jaar uit de auto

  7. Beto heeft gezegd:

    Ik heb een probleem met dit voorbeeld maak ik 2 fouten in de variabelen v en dr, kan ik doen om het te repareren?

    • Elisa zegt:

      Hoi, probeer dit:
      Voor elke dr. Als DataRow In ds.Tables (0). Rijen en DataColumn Voor elke v In ds.Tables als (0). Columns

      Ik hoop dat dit is opgelost. Groeten.

  8. jason zegt:

    hola.
    dit chevere, maar een deel van de kolom naam is niet erg functioneel.
    Ik zal uploaden naar mijn blog een veel kleinere grootte van de code beperkingen en zonder

    jaysson.blogspot.com

  9. Rodrigo zegt:

    Goed artikel, maar ik heb een probleem op mijn computer met Excel 2007 werkt soepel, maar met computers met Excel 2003 of eerder werkt niet. Iedereen weet dat als het probleem van de bibliotheken die worden ingevoerd, omdat je wat impliceert dat werkt voor elke uit te blinken, maar ik heb ondervonden dit probleem.

    Laten we eens zien of iemand kan de twijfel op te lossen.
    Dank u.

  10. Carlos Linares zegt:

    Goede ...

    Excellent bericht! Dank u wel hielp me vol, maar ik heb een twijfel .. Omdat de link is met sql .. Hoe hernoem ik columns? Want het brengt de naam van het gebied van sql ..!

    Ik hoop en ik heb begrepen ..

    Dank je wel!

  11. Alexander zegt:

    Public Sub ExportarDatosExcel (ByVal DataGridView1 Als DataGridView, ByVal titel As String)
    Als Nieuw Excel.Application Dim m_Excel
    m_Excel.Cursor = Excel.XlMousePointer.xlWait
    m_Excel.Visible = True
    Als Excel.Workbook Dim objLibroExcel = m_Excel.Workbooks.Add
    Als Excel.Worksheet Dim objHojaExcel = objLibroExcel.Worksheets (1)
    Met objHojaExcel
    . Visible = Excel.XlSheetVisibility.xlSheetVisible
    . Activate ()
    'Header
    . Range ("A1: L1"). Samenvoegen ()
    . Range ("A1: L1"). Value = "INSTITUUT ARGENCAF"
    . Range ("A1: L1"). Font.Bold = True
    . Range ("A1: L1"). Font.Size = 15
    'Tuft
    . Range ("A2: L2"). Samenvoegen ()
    . Range ("A2: L2"). Value = titel
    . Range ("A2: L2"). Font.Bold = True
    . Range ("A2: L2"). Font.Size = 12

    Const primeraLetra Zoals Char = "A"
    Const firstNumber Zo kort = 3
    Dim brief als Char, Char als UltimaLetra
    Dim Nummer As Integer, UltimoNumero As Integer
    Dim As Byte = oplopend cod_letra (primeraLetra) - 1
    Dim As String = Application.CurrentCulture.NumberFormat.NumberDecimalSeparator sepDec
    Dim As String = Application.CurrentCulture.NumberFormat.NumberGroupSeparator sepMil
    'Stel het formaat van de kolommen van de dochter van berekening
    StrColumna Dim As String = ""
    LetraIzq Dim As String = ""
    Dim As Byte = oplopend cod_LetraIzq (primeraLetra) - 1
    Letter = primeraLetra
    Number = firstNumber
    Als Excel.Range Dim objCelda
    Voor elke c Als DataGridViewColumn In DataGridView1.Columns
    En als c.Visible
    Als Letter = "Z" Dan
    Letter = primeraLetra
    cod_letra = ASC (primeraLetra)
    cod_LetraIzq + = 1
    LetraIzq = Chr (cod_LetraIzq)
    Anders
    cod_letra + = 1
    Letter = Chr (cod_letra)
    End If
    strColumna = LetraIzq + Lyrics + Numero.ToString
    objCelda =. Range (strColumna, Type.Missing)
    objCelda.Value = c.HeaderText
    objCelda.EntireColumn.Font.Size = 8
    'ObjCelda.EntireColumn.NumberFormat = c.DefaultCellStyle.Format
    Als c.ValueType Is gettype (Decimaal) OrElse c.ValueType Is gettype (dubbel) dan
    objCelda.EntireColumn.NumberFormat = "#" + sepMil + "0" + sepDec + "00"
    End If
    End If
    Volgende

    Als Excel.Range Dim objRangoEncab =. Range (primeraLetra + Numero.ToString, LetraIzq + Lyrics + Numero.ToString)
    objRangoEncab.BorderAround (1, Excel.XlBorderWeight.xlMedium)
    UltimaLetra = Verzenden
    Dim As String = LetraIzq UltimaLetraIzq

    'LOAD DATA
    Dim i As Integer = aantal + 1

    Voor elke in lijst Als DataGridViewRow DataGridView1.Rows
    LetraIzq = ""
    cod_LetraIzq = ASC (primeraLetra) - 1
    Letter = primeraLetra
    cod_letra = ASC (primeraLetra) - 1
    Voor elke c Als DataGridViewColumn In DataGridView1.Columns
    En als c.Visible
    Als Letter = "Z" Dan
    Letter = primeraLetra
    cod_letra = ASC (primeraLetra)
    cod_LetraIzq + = 1
    LetraIzq = Chr (cod_LetraIzq)
    Anders
    cod_letra + = 1
    Letter = Chr (cod_letra)
    End If
    strColumna = LetraIzq + Lyrics
    "Hier moet de belasting worden
    . Cells (i, strColumna) = IIf (IsDBNull (reg.ToString), "", reg.Cells (c.Index). Value)
    '. Cells (i, strColumna) = IIf (IsDBNull (Verordening (c.DataPropertyName)), c.DefaultCellStyle.NullValue, reg (c.DataPropertyName))
    '. Range (strColumna + i, strColumna + i). In ()

    End If
    Volgende
    Als Excel.Range Dim objRangoReg =. Range (primeraLetra + i.ToString, i.ToString strColumna +)
    objRangoReg.Rows.BorderAround ()
    objRangoReg.Select ()
    i + = 1
    Volgende
    UltimoNumero = i

    "Teken lijnen van de kolommen
    LetraIzq = ""
    cod_LetraIzq = Asc ("A")
    cod_letra = ASC (primeraLetra)
    Letter = primeraLetra
    Voor elke c Als DataGridViewColumn In DataGridView1.Columns
    En als c.Visible
    . objCelda = Range (LetraIzq + Lyrics + primerNumero.ToString, LetraIzq + Lyrics + (UltimoNumero - 1). ToString)
    objCelda.BorderAround ()
    Als Letter = "Z" Dan
    Letter = primeraLetra
    cod_letra = ASC (primeraLetra)
    LetraIzq = Chr (cod_LetraIzq)
    cod_LetraIzq + = 1
    Anders
    cod_letra + = 1
    Letter = Chr (cod_letra)
    End If
    End If
    Volgende

    'Teken de dikke buitenste rand
    Als Excel.Range Dim objRango = Range. (PrimeraLetra + primerNumero.ToString, UltimaLetra UltimaLetraIzq + + (UltimoNumero - 1). ToString)
    objRango.Select ()
    objRango.Columns.AutoFit ()
    objRango.Columns.BorderAround (1, Excel.XlBorderWeight.xlMedium)
    End With

    m_Excel.Cursor = Excel.XlMousePointer.xlDefault
    End Sub

    ToolStripButton2_Click_1 Private Sub (ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton2.Click
    ExportarDatosExcel (DataGridView1, "export")
    End Sub

  12. JuanPeople zegt:

    EXCELLENT!! .... bedankt broer, en had ik 3 dagen met een module voor import / export Excel en niets werkte .... maar met uw oplossing zie ik weer de sterren ... groeten van Arequipa:! ..

  13. TECKNOCK zegt:

    Deze code heeft me veel geholpen, dus ik samen met mijn twee centen:

    Heb geoptimaliseerd de "kolomnaam" om ahsta ZZ kolom komen (702 et al.).

    Hier geef ik je de code:

    Public Function kolomnaam (ByVal aantal As Integer) As String
    Dim kolom (703) As String

    Kolom (1) = "A"
    kolom (2) = "B"
    kolom (3) = "C"
    kolom (4) = "D"
    kolom (5) = "E"
    kolom (6) = "F"
    kolom (7) = "G"
    kolom (8) = "H"
    kolom (9) = "I"
    kolom (10) = "J"
    kolom (11) = "K"
    kolom (12) = "L"
    kolom (13) = "M"
    kolom (14) = "N"
    kolom (15) = "O"
    kolom (16) = "P"
    kolom (17) = "Q"
    kolom (18) = "R"
    kolom (19) = "S"
    kolom (20) = "T"
    kolom (21) = "U"
    kolom (22) = "V"
    kolom (23) = "W"
    kolom (24) = "X"
    kolom (25) = "Y"
    kolom (26) = "Z"

    Dim i = 27
    Voor Ltr1 = 1 tot 26
    Voor Ltr2 = 1 tot 26
    kolom (i) = kolom (Ltr1) en kolom (Ltr2)
    i + = 1
    Volgende
    Volgende

    Return kolom (aantal)
    End Function

    • Elisa zegt:

      TECKNOCK, heel erg bedankt voor de hulp!, Maar houd in gedachten dat als het boek dat we maken is compatibel met Excel 97-2003 maximaal toegestane kolommen is 256 (tot en met IV). Net zoals een Commentaar over deze rekening te houden.

      Elisa

  14. raysip zegt:

    Toen ik de lokale toepassing funcioana correct, maar als ik het te uploaden op een website niet het genereren van de Excel, maar krijgen geen fout

  15. Aderson zegt:

    Ik ben op zoek Haciend een geaard naar mijn sql

    niet zoals ik deed, maar ik zal doen aja

  16. Paulus zegt:

    Ik heb hulp nodig te proberen om het te doen om de manier waarop jullie hier zijn en krijg ik de foutmelding alle

  17. Johannes zegt:

    Hand, je bent de perfecte funca maximum.

  18. Neji zegt:

    zeer goed, zijn felicitaties in de beste post die ik heb gelezen en geraadpleegd

  19. Patricia zegt:

    Dank je wel! Het was zeer nuttig

  20. f.delgado zegt:

    Hey de code werkt niet op me markeert een da.Fill fouten (ds)

    Markeer ik de fout werd niet gevonden SQLException

    Kunt u mij helpen

  21. Jav zegt:

    een vraag kan direct laden SQL-query uit te blinken?

    tevoren door middel van

  22. Delfino Morales zegt:

    Hallo vrienden in de eerste plaats je agradesco uw bijdrage.
    Merk op dat ik een probleem dat ik niet kan vinden de referentie die u aan te geven, heb ik Office 2010 geïnstalleerd en die niet kunnen worden mijn probleem te hebben.
    agradeseria wat advies aan u voor.

  23. Amerika zegt:

    Hallo, zeer goede bijdrage is wat ik zocht ... maar toen ik het uit te voeren van de ontwikkeling server werkt perfect, maar als ik het internet toegang te krijgen vanaf een andere pc doet niets ... geen fout, maar neemt niets op ...

    Iedereen weet hoe dit te verhelpen?

  24. Azofeifa Hernan zegt:

    Dank u wel, hielp me je bijvoorbeeld als basis voor het genereren van een functie die me genereert een Excel-bestand, maar rechtstreeks van de waarden die in een raster is wat dejor geval is handig voor iemand

    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / We stellen de regel met de kolomkoppen
    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    objHojaExcel.Range ("A1"). Selecteer met ()
    Dim I As Integer = 0
    Lncol Dim As Integer = 1
    Voor elke v In dgvSocios.Columns

    Als dgvSocios.Columns.Item (I). Visible = True Then
    objHojaExcel.Range (kolomnaam (lncol) & 1). Value = dgvSocios.Columns.Item (I). HeaderText
    lncol + = 1
    End If
    I + = 1
    Volgende
    row + = 1

    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / We formatteren de rij titels
    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    Als Excel.Range Dim objRango = objHojaExcel.Range ("A1:" & kolomnaam (lncol) & "1")
    objRango.Font.Bold = True
    objRango.Cells.Interior.ColorIndex = 35

    objRango.Cells.Borders (Excel.XlBordersIndex.xlDiagonalDown). LineStyle = Excel.XlLineStyle.xlLineStyleNone
    objRango.Cells.Borders (Excel.XlBordersIndex.xlDiagonalUp). LineStyle = Excel.XlLineStyle.xlLineStyleNone
    objRango.Cells.Borders (Excel.XlBordersIndex.xlEdgeLeft). LineStyle = Excel.XlLineStyle.xlLineStyleNone
    objRango.Cells.Borders (Excel.XlBordersIndex.xlEdgeRight). LineStyle = Excel.XlLineStyle.xlContinuous
    objRango.Cells.Borders (Excel.XlBordersIndex.xlEdgeTop). LineStyle = Excel.XlLineStyle.xlContinuous
    objRango.Cells.Borders (Excel.XlBordersIndex.xlEdgeBottom). LineStyle = Excel.XlLineStyle.xlContinuous

    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / Laad alle rijen in de gegevenstabel
    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    ProgressBar1.Maximum = dgvSocios.Rows.Count
    kolom = 0
    ProgressBar1.Value = 0
    ProgressBar1.Visible = True
    Lnfila Dim As Integer = 0
    I = 1
    Voor elke dr In dgvSocios.Rows
    kolom = 0

    Voor elke v In dgvSocios.Columns
    Als dgvSocios.Columns.Item (kolom). Visible = True Then
    objHojaExcel.Range (kolomnaam (I) & rij). Value = dgvSocios.Item (kolom, lnfila). Value.ToString
    I + = 1
    End If
    kolom + = 1
    Volgende
    lnfila + = 1
    row + = 1
    ProgressBar1.Value + = 1
    Volgende

    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / We passen de breedte automatisch
    '/ / Van alle gebruikte kolommen
    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    objRango = objHojaExcel.Range ("A1:" & kolomnaam (lncol) & (lnfila + 1) ToString.)
    objRango.Select ()
    objRango.Columns.AutoFit ()

    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / We vertellen Excel om te laten zien
    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    MsgBox ("Export naar Excel Complete", MsgBoxStyle.Information, ". :: Solovb.net ::.")
    m_Excel.Visible = True

  25. Pako zegt:

    Brengen een beetje voor deze functie de volgende code voorkomt dat het gebruik van "Range" om niet vereist dat de functie "kolomnaam"

    Met vriendelijke groet,

    Invoer System.Data
    Invoer System.Data.SqlClient
    Invoer Microsoft.Office.Interop.Excel
    Openbare Module mutil
    Public Sub ExportarDtToExcel (ByVal Dt Als System.Data.DataTable, ByVal titel As String)
    Als Excel.Application Dim m_Excel
    Als Excel.Workbook Dim objLibroExcel
    Als werkblad Dim objHojaExcel
    Proberen
    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / Maak het Excel-object
    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    m_Excel = CreateObject ("Excel.Application")
    m_Excel.Workbooks.Add objLibroExcel = ()
    objHojaExcel = objLibroExcel.Worksheets (1)
    objHojaExcel.Name = Titel
    objHojaExcel.Visible = Excel.XlSheetVisibility.xlSheetVisible
    objHojaExcel.Activate ()

    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / Definieer twee variabelen om rij en kolom te controleren
    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    Dim rij As Integer = 1
    Dim column As Integer = 1

    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / We stellen de regel met de kolomkoppen
    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    'ObjHojaExcel.Range ("A1"). Selecteer met ()

    objHojaExcel.Cells (rij, kolom). SELECTEREN ()
    Voor elke v In Dt.Columns
    objHojaExcel.Cells (rij, kolom). Value = dc.ColumnName
    kolom + = 1
    Volgende
    row + = 1

    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / We formatteren de rij titels
    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    Als Excel.Range = dim objRango objHojaExcel.Range (objHojaExcel.Cells (1, 1), objHojaExcel.Cells (1, Dt.Columns.Count))
    objRango.Font.Bold = True
    objRango.Cells.Interior.ColorIndex = 35

    objRango.Cells.Borders (Excel.XlBordersIndex.xlDiagonalDown). LineStyle = Excel.XlLineStyle.xlLineStyleNone
    objRango.Cells.Borders (Excel.XlBordersIndex.xlDiagonalUp). LineStyle = Excel.XlLineStyle.xlLineStyleNone
    objRango.Cells.Borders (Excel.XlBordersIndex.xlEdgeLeft). LineStyle = Excel.XlLineStyle.xlLineStyleNone
    objRango.Cells.Borders (Excel.XlBordersIndex.xlEdgeRight). LineStyle = Excel.XlLineStyle.xlContinuous
    objRango.Cells.Borders (Excel.XlBordersIndex.xlEdgeTop). LineStyle = Excel.XlLineStyle.xlContinuous
    objRango.Cells.Borders (Excel.XlBordersIndex.xlEdgeBottom). LineStyle = Excel.XlLineStyle.xlContinuous

    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / Laad alle rijen in de gegevenstabel
    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /

    kolom = 1

    Voor elke dr In Dt.Rows
    kolom = 1
    Voor elke v In Dt.Columns
    objHojaExcel.Cells (rij, kolom). Value = dr. (dc.ColumnName)
    kolom + = 1
    Volgende
    row + = 1

    Volgende

    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / We passen de breedte automatisch
    '/ / Van alle gebruikte kolommen
    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    objHojaExcel.Cells objRango = (1, Dt.Columns.Count)
    objRango.Select ()
    objRango.Columns.AutoFit ()

    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / We vertellen Excel om te laten zien
    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    MsgBox ("Export naar Excel Complete" MsgBoxStyle.Information, "Export")
    m_Excel.Visible = True

    Catch ex als uitzondering

    MsgBox (ex.ToString)

    Eindelijk

    objHojaExcel = Nothing
    objLibroExcel = Nothing
    m_Excel = Nothing

    End Try
    End Sub

    End Module

  26. pamela zegt:

    iemand gelieve de stijgende Progress1?

Commentaar