Automaatselt eksport Microsoft Excel DataTable

Täna ma tahan näidata näiteks, et on olnud mulle pikka aega ja veel ma siiski kasutada seda.
Teeme näiteks eksportida DataTable Exceli täies ulatuses, sõltumata arvu veerge või ridu, mis on.

Seal võib olla mitmeid viise, kuidas seda teha, kuid minu arvates on väga kasulik, sest see meetod töötab igal Exceli versioonis. Sest compatilidad küsimusi uuemad versioonid Excel käsitleda ainult 256 veergu.

Esimene asi, mida me vajame, on lisada viide Microsoft.Office.Interop.Excel ja teeme järgmiselt:

Importar referencia a Excel

Import viide Excel

Importar referencia Excel

Import Excel viide

Siis peame vormis nuppu DataGridView ja edenemisriba. Me ei ole nagu näha pildil:

Formulario aplicación para exportar dataset a excel

Taotlusvorm eksportida andmekogu paista

Nüüd tahan näidata kõiki kood on tõesti lihtne Kõige tähtsam on, et see kohandub iga tabelis. Sul on võimalik taaskasutada ilma probleemideta.

  Import System.Data
 Import System.Data.SqlClient
 Import Microsoft.Office.Interop

 Public class Form1
     Private ds Nagu New DataSet

     Private Sub Form1_Load (ByVal saatja Nagu System.Object, ByVal E System) käepidemed MyBase.Load
         "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
         "/ / Loo ühendus ja täitke DataGridView
         "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
         Dim CNN Nagu New SqlConnection ("Data Source = localhost \ sqlexpress; Initial Catalog = Northwind; Integrated Security = True")
         Dim da Nagu New SqlDataAdapter ("Select * from kliendid", CNN)
         da.Fill (DS)
         DataGridView1.DataSource = ds.Tables (0)
     End Sub

     BtnExportar_Click Private Sub (ByVal saatja Nagu System.Object, ByVal E System) käepidemed btnExportar.Click
         "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / /
         "/ / Loo Excel Object
         "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / /
         Dim m_Excel
         Dim objLibroExcel
         Dim objHojaExcel
         m_Excel = CreateObject ("Excel.Application")
         m_Excel.Workbooks.Add objLibroExcel = ()
         objHojaExcel = objLibroExcel.Worksheets (1)
         objHojaExcel.Name = "kliendid"
         objHojaExcel.Visible = Excel.XlSheetVisibility.xlSheetVisible
         objHojaExcel.Activate ()

         "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
         "/ / Define kahe muutuja kontrollida rea ​​ja veeru
         "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
         Dim rida As Integer = 1
         Dim veerg As Integer = 1

         "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
         "/ / Seame vastavusse Veerupealdiste
         "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
         objHojaExcel.Range ("A1"). Valige ()
         Iga ks ds.Tables (0). Columns
             objHojaExcel.Range (ColumnName (veerg) ja 1). Value = dc.ColumnName
             veerg + = 1
         Järgmine
         rida + = 1

         "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
         "/ / Meie formaat järjest pealkirjad
         "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
         Nagu Excel.Range Dim objRango = objHojaExcel.Range ("A1" ja ColumnName (ds.Tables (0). Columns.Count) & "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

         "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
         "/ / Load kõik read DataTable
         "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
         ProgressBar1.Maximum = ds.Tables (0). Rows.Count
         veerg = 1
         ProgressBar1.Value = 0
         Iga dr In ds.Tables (0). Read
             veerg = 1
             Iga ks ds.Tables (0). Columns
                 objHojaExcel.Range (ColumnName (veerg) ja rida). Value = dr (dc.ColumnName)
                 veerg + = 1
             Järgmine
             rida + = 1
             ProgressBar1.Value + = 1
         Järgmine

         "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
         "/ / Me laiust kohandada automaatselt
         "/ / Alates kõik veerud, mida kasutatakse
         "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
         objRango = objHojaExcel.Range ("A1" ja ColumnName (ds.Tables (0). Columns.Count) ja ds.Tables (0). Rows.Count.ToString)
         objRango.Select ()
         objRango.Columns.AutoFit ()

         "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
         "/ / Me ütleme Excel kuvada
         "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
         MsgBox ("Export to Excel Complete", MsgBoxStyle.Information ". :: Solovb.net ::.")
         m_Excel.Visible = True

     End Sub

     Public Function ColumnName (ByVal number As Integer) As String
         Dim veerg (256) As String

         Veerg (1) = ""
         veerg (2) = "B"
         veerg (3) = "C"
         veerg (4) = "D"
         veerg (5) = "E"
         veerg (6) = "F"
         veerg (7) = "G"
         veerg (8) = "H"
         veerg (9) = "I"
         veerg (10) = "J"
         veerg (11) = "K"
         veerg (12) = "L"
         veerg (13) = "M"
         veerg (14) = "N"
         veerg (15) = "O"
         veerg (16) = "P"
         veerg (17) = "Q"
         veerg (18) = "R"
         veerg (19) = "S"
         veerg (20) = "T"
         veerg (21) = "U"
         veerg (22) = "V"
         veerg (23) = "W"
         veerg (24) = "X"
         veerg (25) = "Y"
         veerg (26) = "Z"
         veerg (27) = "AA"
         veerg (28) = "AB"
         veerg (29) = "AC"
         veerg (30) = "AD"
         veerg (31) = "AE"
         veerg (32) = "AF"
         veerg (33) = "AG"
         veerg (34) = "AH"
         veerg (35) = "AI"
         veerg (36) = "AJ"
         veerg (37) = "AK"
         veerg (38) = "AL"
         veerg (39) = "AM"
         veerg (40) = ""
         veerg (41) = "AO"
         veerg (42) = "AP"
         veerg (43) = "AQ"
         veerg (44) = "AR"
         veerg (45) = "AS"
         veerg (46) = "AT"
         veerg (47) = "UA"
         veerg (48) = "AV"
         veerg (49) = "AW"
         veerg (50) = "kirves"
         veerg (51) = "AY"
         veerg (52) = "AZ"
         veerg (53) = "BA"
         veerg (54) = "BB"
         veerg (55) = "BC"
         veerg (56) = "BD"
         veerg (57) = "BE"
         veerg (58) = "BF"
         veerg (59) = "BG"
         veerg (60) = "BH"
         veerg (61) = "BI"
         veerg (62) = "BJ"
         veerg (63) = "BK"
         veerg (64) = "BL"
         veerg (65) = "BM"
         veerg (66) = "BN"
         veerg (67) = "BO"
         veerg (68) = "BP"
         veerg (69) = "BQ"
         veerg (70) = "BR"
         veerg (71) = "BS"
         veerg (72) = "BT"
         veerg (73) = "BU"
         veerg (74) = "BV"
         veerg (75) = "BW"
         veerg (76) = "BX"
         veerg (77) = "BY"
         veerg (78) = "BZ"
         veerg (79) = "CA"
         veerg (80) = "CB"
         veerg (81) = "CC"
         veerg (82) = "CD"
         veerg (83) = "CE"
         veerg (84) = "CF"
         veerg (85) = "CG"
         veerg (86) = "CH"
         veerg (87) = "CI"
         veerg (88) = "CJ"
         veerg (89) = "CK"
         veerg (90) = "CL"
         veerg (91) = "CM"
         veerg (92) = "CN"
         veerg (93) = "CO"
         veerg (94) = "CP"
         veerg (95) = "CQ"
         veerg (96) = "CR"
         veerg (97) = "CS"
         veerg (98) = "CT"
         veerg (99) = "CU"
         veerg (100) = "CV"
         veerg (101) = "CW"
         veerg (102) = "CX"
         veerg (103) = "CY"
         veerg (104) = "CZ"
         veerg (105) = "DA"
         veerg (106) = "DB"
         veerg (107) = "DC"
         veerg (108) = "DD"
         veerg (109) = "DE"
         veerg (110) = "DF"
         veerg (111) = "DG"
         veerg (112) = "DH"
         veerg (113) = "ID"
         veerg (114) = "DJ"
         veerg (115) = "DK"
         veerg (116) = "DL"
         veerg (117) = "DM"
         veerg (118) = "DN"
         veerg (119) = "DO"
         veerg (120) = "DP"
         veerg (121) = "DQ"
         veerg (122) = "DR"
         veerg (123) = "DS"
         veerg (124) = "DT"
         veerg (125) = "DU"
         veerg (126) = "DV"
         veerg (127) = "DW"
         veerg (128) = "DX"
         veerg (129) = "DY"
         veerg (130) = "DZ"
         veerg (131) = "EA"
         veerg (132) = "EB"
         veerg (133) = "EC"
         veerg (134) = "ED"
         veerg (135) = "EE"
         veerg (136) = "EF"
         veerg (137) = "EG"
         veerg (138) = "EH"
         veerg (139) = "EI"
         veerg (140) = "EJ"
         veerg (141) = "EK"
         veerg (142) = "ON"
         veerg (143) = "MS"
         veerg (144) = "ET"
         veerg (145) = "EO"
         veerg (146) = "EP"
         veerg (147) = "EQ"
         veerg (148) = "ER"
         veerg (149) = "ES"
         veerg (150) = "ET"
         veerg (151) = "EL"
         veerg (152) = "EV"
         veerg (153) = "EW"
         veerg (154) = "EX"
         veerg (155) = "EY"
         veerg (156) = "EZ"
         veerg (157) = "FA"
         veerg (158) = "FB"
         veerg (159) = "FC"
         veerg (160) = "FD"
         veerg (161) = "FE"
         veerg (162) = "FF"
         veerg (163) = "FG"
         veerg (164) = "FH"
         veerg (165) = "FI"
         veerg (166) = "FJ"
         veerg (167) = "FK"
         veerg (168) = "FL"
         veerg (169) = "FM"
         veerg (170) = "FN"
         veerg (171) = "FO"
         veerg (172) = "FP"
         veerg (173) = "CF"
         veerg (174) = "FR"
         veerg (175) = "FS"
         veerg (176) = "FT"
         veerg (177) = "FU"
         veerg (178) = "PV"
         veerg (179) = "FW"
         veerg (180) = "FX"
         veerg (181) = "FY"
         veerg (182) = "FZ"
         veerg (183) = "GA"
         veerg (184) = "GB"
         veerg (185) = "GC"
         veerg (186) = "GD"
         veerg (187) = "GE"
         veerg (188) = "GF"
         veerg (189) = "GG"
         veerg (190) = "GH"
         veerg (191) = "GI"
         veerg (192) = "GJ"
         veerg (193) = "GK"
         veerg (194) = "GL"
         veerg (195) = "GM"
         veerg (196) = "GN"
         veerg (197) = "Mine"
         veerg (198) = "GP"
         veerg (199) = "GQ"
         veerg (200) = "GR"
         veerg (201) = "GS"
         veerg (202) = "GT"
         veerg (203) = "GU"
         veerg (204) = "GV"
         veerg (205) = "GW"
         veerg (206) = "GX"
         veerg (207) = "GY"
         veerg (208) = "GZ"
         veerg (209) = "HA"
         veerg (210) = "HB"
         veerg (211) = "HC"
         veerg (212) = "HD"
         veerg (213) = "HE"
         veerg (214) = "HF"
         veerg (215) = "HG"
         veerg (216) = "HH"
         veerg (217) = "HI"
         veerg (218) = "HJ"
         veerg (219) = "HK"
         veerg (220) = "HL"
         veerg (221) = "HM"
         veerg (222) = "HN"
         veerg (223) = "HO"
         veerg (224) = "HP"
         veerg (225) = "HQ"
         veerg (226) = "HR"
         veerg (227) = "HS"
         veerg (228) = "HT"
         veerg (229) = "HU"
         veerg (230) = "HV"
         veerg (231) = "HW"
         veerg (232) = "H"
         veerg (233) = "HY"
         veerg (234) = "HZ"
         veerg (235) = "IA"
         veerg (236) = "IB"
         veerg (237) = "IC"
         veerg (238) = "ID"
         veerg (239) = "IE"
         veerg (240) = "Kui"
         veerg (241) = "IG"
         veerg (242) = "IH"
         veerg (243) = "II"
         veerg (244) = "IJ"
         veerg (245) = "IK"
         veerg (246) = "IL"
         veerg (247) = "IM"
         veerg (248) = "IN"
         veerg (249) = "IO"
         veerg (250) = "IP"
         veerg (251) = "IQ"
         veerg (252) = "R"
         veerg (253) = "ON"
         veerg (254) = "IT"
         veerg (255) = "IU"
         veerg (256) = "IV"

         Tagasi veerg (number)
     End Function
 End klassi 

See meetod on teeninud mind hästi ja ma loodan, et sa liiga ... palun jätke oma kommentaarid.

32 Responses to "Automaatne Ekspordi DataTable Microsoft Excel"

  1. Bitacoras.com ütleb:

    Informatsioon Bitacoras.com ...

    Määr Bitacoras.com: Tere, Täna ma tahan näidata näiteks, et on olnud mulle pikka aega ja veel ma siiski kasutada seda. Teeme näiteks eksportida DataTable Exceli täies ulatuses, sõltumata arvu veerge või ridu, et Teng .....

    • Carlos Linares ütleb:

      Hea ...

      Suurepärane postitus! Täname aitas mul täis, kuid mul on kahtlus .. Kuna link on SQL .. Kuidas ümber sambad!? Sest see toob nimi valdkonnas sql ..!

      Ma loodan ja olen aru saanud ..

      Aitäh!

  2. Denko ütleb:

    Ma lähen päästa ...
    mingil hetkel on kasulik ...

  3. Victor ütleb:

    Kas see kehtib Excel 2007? Mul on olnud probleeme eksporti arendada, et see kehtib varasemates versioonides, kuid mitte 2007. Tänan

  4. John ütleb:

    Tohutu lähtekoodi. mind hästi teeninud. q see oli ammu.

  5. John ütleb:

    Kuigi ka vaja ecxel impordi andmed tabelis. kuid võib olla keskkonnale et datagrid ja seejärel ajakohastada DataAdapter ja nõustumine muutused DataTable oleks salvestatud q bd ... Loodan, et saan aidata või leida .. tänan

  6. jose ütleb:

    Tere Suur tänu! see suurepärane!
    Aga ma ei tea, kus datagrid täpsustatakse, et kasutada juhul, kes on mitu DataGrid?

    • Carlos Linares ütleb:

      Laual oled kõne ...

      select * from (tabeli nimi)

      Kui soovite määrata, millised väljad

      valida (väljad, põllud, põllud) * from tabel
      ejm
      Valige auto, värvi, aasta auto

  7. Beto ütles:

    Mul on probleem selles näites teen 2 vigu muutujad dc ja dr, ma saan teha seda parandada?

    • Eliisa ütles:

      Hi, proovige seda:
      Iga dr Nagu DataRow In ds.Tables (0). Read ja DataColumn For Iga ks ds.Tables nagu (0). Columns

      Loodan, et see on lahendatud. Tervitused.

  8. Jason ütles:

    hola.
    Selle chevere, kuid osa veerus nimi ei ole väga funktsionaalne.
    Ma üles laadida minu blogi palju väiksem kood suuruse piirangud ja ilma

    jaysson.blogspot.com

  9. Rodrigo ütleb:

    Hea artikkel, kuid mul on probleem minu arvuti Excel 2007 töötab sujuvalt, kuid arvutid Excel 2003 või varem ei tööta. Keegi teab, kui probleemi raamatukogud, mis on imporditud, sest te vihjate, mis töötab igal paista, aga mul on tekkinud see probleem.

    Vaatame, kas keegi saab lahendada kahtlust.
    Aitäh.

  10. Carlos Linares ütleb:

    Hea ...

    Suurepärane postitus! Täname aitas mul täis, kuid mul on kahtlus .. Kuna link on SQL .. Kuidas ümber sambad!? Sest see toob nimi valdkonnas sql ..!

    Ma loodan ja olen aru saanud ..

    Aitäh!

  11. Alexander ütleb:

    Public Sub ExportarDatosExcel (ByVal DataGridView1 Nagu DataGridView, ByVal pealkiri As String)
    Nagu New Excel.Application Dim m_Excel
    m_Excel.Cursor = Excel.XlMousePointer.xlWait
    m_Excel.Visible = True
    Nagu Excel.Workbook Dim objLibroExcel = m_Excel.Workbooks.Add
    Nagu Excel.Worksheet Dim objHojaExcel = objLibroExcel.Worksheets (1)
    Mis objHojaExcel
    . Visible = Excel.XlSheetVisibility.xlSheetVisible
    . Aktiveeri ()
    "Päise
    . Range ("A1: L1"). Merge ()
    . Range ("A1: L1"). Value = "INSTITUUDI ARGENCAF"
    . Range ("A1: L1"). Font.Bold = True
    . Range ("A1: L1"). Font.Size = 15
    "Tups
    . Range ("A2: L2"). Merge ()
    . Range ("A2: L2"). Value = title
    . Range ("A2: L2"). Font.Bold = True
    . Range ("A2: L2"). Font.Size = 12

    Const primeraLetra Kuna Char = ""
    Const firstNumber nii lühike = 3
    Dim kirja Char, Char Nagu UltimaLetra
    Dim arv As Integer, UltimoNumero As Integer
    Dim Nagu bait = Asc cod_letra (primeraLetra) - 1
    Dim As String = Application.CurrentCulture.NumberFormat.NumberDecimalSeparator sepDec
    Dim As String = Application.CurrentCulture.NumberFormat.NumberGroupSeparator sepMil
    "Set vormi veergu tütar arvutamine
    StrColumna Dim As String = ""
    LetraIzq Dim As String = ""
    Dim Nagu bait = Asc cod_LetraIzq (primeraLetra) - 1
    Kiri = primeraLetra
    Number = firstNumber
    Nagu Excel.Range Dim objCelda
    Iga c Nagu DataGridViewColumn In DataGridView1.Columns
    Siis kui c.Visible
    Kui kiri = "Z" Siis
    Kiri = primeraLetra
    cod_letra = Asc (primeraLetra)
    cod_LetraIzq + = 1
    LetraIzq = Chr (cod_LetraIzq)
    Teine
    cod_letra + = 1
    Kiri = Chr (cod_letra)
    End Kui
    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
    Kui c.ValueType Kas GetType (kümnendsüsteemis) OrElse c.ValueType Kas GetType (Double) Siis
    objCelda.EntireColumn.NumberFormat = "#" + sepMil + "0" + sepDec + "00"
    End Kui
    End Kui
    Järgmine

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

    "LOAD DATA
    Dim i As Integer = arv + 1

    Sest igaüks List Nagu DataGridViewRow DataGridView1.Rows
    LetraIzq = ""
    cod_LetraIzq = Asc (primeraLetra) - 1
    Kiri = primeraLetra
    cod_letra = Asc (primeraLetra) - 1
    Iga c Nagu DataGridViewColumn In DataGridView1.Columns
    Siis kui c.Visible
    Kui kiri = "Z" Siis
    Kiri = primeraLetra
    cod_letra = Asc (primeraLetra)
    cod_LetraIzq + = 1
    LetraIzq = Chr (cod_LetraIzq)
    Teine
    cod_letra + = 1
    Kiri = Chr (cod_letra)
    End Kui
    strColumna = LetraIzq + Lyrics
    "Siin peaks olema koormus
    . Cells (i, strColumna) = IIf (IsDBNull (reg.ToString), "", reg.Cells (c.Index). Value)
    '. Cells (i, strColumna) = IIf (IsDBNull (reg. (c.DataPropertyName)), c.DefaultCellStyle.NullValue, reg (c.DataPropertyName))
    '. Range (strColumna + i, strColumna + i). In ()

    End Kui
    Järgmine
    Nagu Excel.Range Dim objRangoReg =. Range (primeraLetra + i.ToString, i.ToString strColumna +)
    objRangoReg.Rows.BorderAround ()
    objRangoReg.Select ()
    i + = 1
    Järgmine
    UltimoNumero = i

    "Joonista rida veerge
    LetraIzq = ""
    cod_LetraIzq = Asc ("A")
    cod_letra = Asc (primeraLetra)
    Kiri = primeraLetra
    Iga c Nagu DataGridViewColumn In DataGridView1.Columns
    Siis kui c.Visible
    objCelda =. Range (LetraIzq + Lyrics + primerNumero.ToString, LetraIzq + Lyrics + (UltimoNumero - 1). toString)
    objCelda.BorderAround ()
    Kui kiri = "Z" Siis
    Kiri = primeraLetra
    cod_letra = Asc (primeraLetra)
    LetraIzq = Chr (cod_LetraIzq)
    cod_LetraIzq + = 1
    Teine
    cod_letra + = 1
    Kiri = Chr (cod_letra)
    End Kui
    End Kui
    Järgmine

    "Joonista paks välispiiril
    Nagu 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)
    Lõpetage

    m_Excel.Cursor = Excel.XlMousePointer.xlDefault
    End Sub

    ToolStripButton2_Click_1 Private Sub (ByVal saatja Nagu System.Object, ByVal E System) käepidemed ToolStripButton2.Click
    ExportarDatosExcel (DataGridView1, "eksport")
    End Sub

  12. JuanPeople ütleb:

    HEA! .... Tänu vend ja võttis 3 päeva moodul import / eksport Excel ja miski ei aidanud .... aga teie lahendus, ma näen jälle tähed ... tervitused Arequipa!: ..

  13. TECKNOCK ütleb:

    See kood aitas mind palju, nii et ma koostööd minu 2 senti:

    On optimeeritud "ColumnName" jõuda ahsta ZZ veerg (702 jt.)

    Siin ma annan sulle koodi:

    Public Function ColumnName (ByVal number As Integer) As String
    Dim veerg (703) As String

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

    Dim i = 27
    Sest Ltr1 = 1 kuni 26
    Sest Ltr2 = 1 kuni 26
    veerg (i) = veerg (Ltr1) ja veerg (Ltr2)
    i + = 1
    Järgmine
    Järgmine

    Tagasi veerg (number)
    End Function

    • Eliisa ütles:

      TECKNOCK, tänan teid väga abi eest!, Kuid pidage meeles, et kui raamat loome ühildub Excel 97-2003 maksimaalne veergude lubatud on 256 (IV). Nii nagu kommentaar seda arvesse võtta.

      Elisha

  14. raysip ütleb:

    Kui ma saan kohaliku taotlus funcioana õigesti, aga kui ma selle üles laadida veebilehel ei tekita paista aga ei saa viga

  15. Aderson ütleb:

    Otsin haciend maandatud, et minu sql

    ei ole nagu ma tegin, aga ma teen AJA

  16. Paulus ütleb:

    Vajan abi proovida seda teha igati olete siin ja saan viga kõik

  17. Johannes ütleb:

    Poolt sa oled täiuslik funca maksimaalne.

  18. neji ütleb:

    väga hea, õnnitlused on parim post Olen lugenud ja nõu

  19. Patricia ütleb:

    Aitäh! See oli väga kasulik

  20. f.delgado ütleb:

    Hei kood ei tööta mul tähistab da.Fill vigu (DS)

    Ma tähistada viga ei leitud SqlException

    saate mind aidata

  21. jav ütleb:

    1 küsimus saab teha otselaadimine sql query silma paista?

    eelnevalt läbi

  22. Delfino Morales ütleb:

    tere sõbrad kõigepealt te agradesco oma panuse.
    Pange tähele, et mul on probleem ma ei leia viide, mida näidata, mul on installitud Office 2010 ja mis ei saa olla minu probleem.
    agradeseria mõned nõuanded sulle.

  23. Ameerika ütleb:

    Tere, väga hea panus on see, mida ma otsisin ... aga kui ma saan seda arengut server töötab ideaalselt, aga kui ma veebi teise arvuti ei tee midagi ... pole viga, kuid ei salvesta midagi ...

    Keegi teab kuidas seda parandada?

  24. Azofeifa Hernan ütleb:

    Tänan väga, aitas mul oma näide, mis on aluseks tekitama funktsioon, mis tekitab mulle Exceli faili, kuid otse salvestatud väärtuste grid ongi dejor juhul on kasulik, et keegi

    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    "/ / Seame vastavusse Veerupealdiste
    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    objHojaExcel.Range ("A1"). Valige ()
    Dim ma As Integer = 0
    Lncol Dim As Integer = 1
    Iga ks dgvSocios.Columns

    Kui dgvSocios.Columns.Item (I). Visible = True siis
    objHojaExcel.Range (ColumnName (lncol) ja 1). Value = dgvSocios.Columns.Item (I). HeaderText
    lncol + = 1
    End Kui
    Ma + = 1
    Järgmine
    rida + = 1

    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    "/ / Meie formaat järjest pealkirjad
    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    Nagu Excel.Range Dim objRango = objHojaExcel.Range ("A1" ja ColumnName (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

    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    "/ / Load kõik read DataTable
    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    ProgressBar1.Maximum = dgvSocios.Rows.Count
    veerg = 0
    ProgressBar1.Value = 0
    ProgressBar1.Visible = True
    Lnfila Dim As Integer = 0
    I = 1
    Iga dr In dgvSocios.Rows
    veerg = 0

    Iga ks dgvSocios.Columns
    Kui dgvSocios.Columns.Item (veerg). Visible = True siis
    objHojaExcel.Range (ColumnName (I) ja rida). Value = dgvSocios.Item (veeru lnfila). Value.ToString
    Ma + = 1
    End Kui
    veerg + = 1
    Järgmine
    lnfila + = 1
    rida + = 1
    ProgressBar1.Value + = 1
    Järgmine

    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    "/ / Me laiust kohandada automaatselt
    "/ / Alates kõik veerud, mida kasutatakse
    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    objRango = objHojaExcel.Range ("A1" ja ColumnName (lncol) & (lnfila + 1). toString)
    objRango.Select ()
    objRango.Columns.AutoFit ()

    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    "/ / Me ütleme Excel kuvada
    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    MsgBox ("Export to Excel Complete", MsgBoxStyle.Information ". :: Solovb.net ::.")
    m_Excel.Visible = True

  25. Pako ütleb:

    Asja natuke selle funktsiooni järgmine kood ära kasutada "Range", et ei nõua funktsiooni "ColumnName"

    Regards,

    Import System.Data
    Import System.Data.SqlClient
    Import Microsoft.Office.Interop.Excel
    Avalik moodul mutil
    Public Sub ExportarDtToExcel (ByVal DT AS System.Data.DataTable, ByVal pealkiri As String)
    Nagu Excel.Application Dim m_Excel
    Nagu Excel.Workbook Dim objLibroExcel
    Nagu Tööleht Dim objHojaExcel
    Püüdma
    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    "/ / Loo Excel Object
    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    m_Excel = CreateObject ("Excel.Application")
    m_Excel.Workbooks.Add objLibroExcel = ()
    objHojaExcel = objLibroExcel.Worksheets (1)
    objHojaExcel.Name = Pealkiri
    objHojaExcel.Visible = Excel.XlSheetVisibility.xlSheetVisible
    objHojaExcel.Activate ()

    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    "/ / Define kahe muutuja kontrollida rea ​​ja veeru
    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    Dim rida As Integer = 1
    Dim veerg As Integer = 1

    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    "/ / Seame vastavusse Veerupealdiste
    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    "ObjHojaExcel.Range (" A1 "). Valige ()

    objHojaExcel.Cells (rida, veerg). vali ()
    Iga ks Dt.Columns
    objHojaExcel.Cells (rida, veerg). Value = dc.ColumnName
    veerg + = 1
    Järgmine
    rida + = 1

    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    "/ / Meie formaat järjest pealkirjad
    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    Nagu Excel.Range = päevasõidutulede 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

    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    "/ / Load kõik read DataTable
    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /

    veerg = 1

    Iga dr In Dt.Rows
    veerg = 1
    Iga ks Dt.Columns
    objHojaExcel.Cells (rida, veerg). Value = dr (dc.ColumnName)
    veerg + = 1
    Järgmine
    rida + = 1

    Järgmine

    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    "/ / Me laiust kohandada automaatselt
    "/ / Alates kõik veerud, mida kasutatakse
    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    objHojaExcel.Cells objRango = (1, Dt.Columns.Count)
    objRango.Select ()
    objRango.Columns.AutoFit ()

    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    "/ / Me ütleme Excel kuvada
    "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    MsgBox ("Export to Excel Complete" MsgBoxStyle.Information, "Export")
    m_Excel.Visible = True

    Saak ex Nagu Exception

    MsgBox (ex.ToString)

    Lõpuks

    objHojaExcel = Nothing
    objLibroExcel = Nothing
    m_Excel = Nothing

    Selleks proovige
    End Sub

    End Module

Kommentaar