Automatski izvoz u Microsoft Excel DataTable

Danas vam želim pokazati primjer da mi je služio za dugo vremena, a ipak i dalje ga koristiti.
Mi ćemo napraviti primjer za izvoz u Excel DataTable punu bez obzira na broj stupaca ili redaka koje imaju.

Postoji svibanj biti mnogo načina za to, ali mislim da je stvarno koristan jer je ova metoda radi za bilo koju verziju programa Excel. Za compatilidad problema s novijim verzijama programa Excel rukovati samo 256 stupaca.

Prva stvar koju trebate je dodati referencu na Microsoft.Office.Interop.Excel i radimo na sljedeći način:

Importar referencia a Excel

Uvoz referencu za Excel

Importar referencia Excel

Uvoz Excel reference

Zatim trebamo oblik, gumba, dataGridView i napredak bar. Mi možemo imati kao što se vidi na slici:

Formulario aplicación para exportar dataset a excel

Zahtjev za izvoz skup podataka u Excel

Sada želim pokazati sve kod je stvarno jednostavan najvažnija stvar je da se prilagođava svakom stolu. Vi ćete biti u mogućnosti ponovno koristiti bez problema.

 Uvoz System.Data uvozi System.Data.SqlClient public class Form1 uvozi demokratima Microsoft.Office.Interop Privatni kao New ulazni skup Private Sub Form1_Load (ByVal pošiljatelja Kao System.Object i ByVal e As System.EventArgs) Ručke MyBase.Load '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / '/ / Stvorite vezu i ispunite DataGridView '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / Dim CNN Kao New SqlConnection ("Data Source = localhost \ sqlexpress; Početni Katalog = Northwind, Integrirana sigurnost = True") Dim Da Kao New SqlDataAdapter ("Select * od kupaca", CNN) daje. Ispunite (DS) DataGridView1.DataSource = ds.Tables (0) End Sub Private Sub btnExportar_Click (ByVal pošiljatelja Kao System.Object i ByVal e As System.EventArgs) Ručke btnExportar.Click '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / '/ / Kreiraj Excel objekt' / / / / / / / / / / / / / / / / / / / / / / / / / / / / / Dim Dim Dim m_Excel objLibroExcel objHojaExcel m_Excel = CreateObject ("Excel.Application") m_Excel.Workbooks.Add objLibroExcel = () = objLibroExcel.Worksheets objHojaExcel (1) objHojaExcel.Name = "Kupci" objHojaExcel.Visible = Excel . XlSheetVisibility.xlSheetVisible objHojaExcel.Activate () '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / '/ / definira dvije varijable za kontrolu redak i stupac' / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / Dim red kao cjelobrojni = 1 Dim stupcu Kao Integer = 1 '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / '/ / Postavili smo liniju s stupaca "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / objHojaExcel.Range ("A1"). Odaberite () Za svaku DC IN ds.Tables (0). Kolumne objHojaExcel.Range (ColumnName (stupac) i 1). vrijednost = dc.ColumnName stupac + = 1 Sljedeća red + = 1 "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / '/ / Mi oblikovanje naslova retka' / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / Kao Dim Excel.Range = objHojaExcel.Range objRango ("A1". & ColumnName (ds.Tables (0) Columns.Count) i "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 sve retke u datatable' / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / ProgressBar1.Maximum = ds.Tables (0). Rows.Count ProgressBar1.Value stup = 1 = 0 Za svaki dr. U ds.Tables (0). redaka stupca = 1 za svaki DC IN ds.Tables (0). Kolumne objHojaExcel.Range (ColumnName (stupac) i redak). Value = dr. (dc.ColumnName) stupac + = 1 Sljedeća red + + = 1 = 1 Sljedeća ProgressBar1.Value '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / '/ / Mi podešavanje širine automatski / / za sve stupce koji se koriste' / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / objRango = objHojaExcel.Range ("A1".. i ColumnName (ds.Tables (0) Columns.Count) i ds.Tables (0) Rows.Count.ToString) objRango.Select () objRango . Columns.AutoFit () '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /' / / Mi reći Excel za prikaz '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / MsgBox ("Izvoz u Excel Complete" , MsgBoxStyle.Information ". :: solovb.net ::"). m_Excel.Visible = True End Sub Public Function ColumnName (ByVal broj Kao Integer) Dim kao niz stupcu (256) As String stupcu (1) = "" stupac (2) = "B" stup (3) = "C" stup (4) = "D" stup (5) = "E" stup (6) = "F" stup (7) = "G" stup ( 8) = "H" stup (9) = "ja" stup (10) = "J" stup (11) = "K" stup (12) = "L" stup (13) = "M" stup (14) = "N" stup (15) = "W" stup (16) = "P" stup (17) = "P" stup (18) = "R" stup (19) = "S" stup (20) = " T "stup (21) =" U "stup (22) =" V "stup (23) =" W "stup (24) =" X "stup (25) =" Y "stup (26) =" Z " Stupac (27) = "AA" stup (28) = "AB" stup (29) = "AC" stup (30) = "AD" stup (31) = "AE" stup (32) = "AF" stup ( 33) = "AG" Stupac (34) = "AH" stup (35) = "Broj" stup (36) = "AJ" stup (37) = "AK" stup (38) = "na" stupcu (39) = "AM" stup (40) = "NA" stup (41) = "AO" stup (42) = "AP" stup (43) = "AQ" stup (44) = "RA" stup (45) = " AS "stupcu (46) =" AT "stup (47) =" HR "stup (48) =" AV "stup (49) =" AW "stup (50) =" AX "stup (51) =" AY " Stupac (52) = "AZ" stup (53) = "BA" stup (54) = "BB" stup (55) = "BC" stup (56) = "BD" stup (57) = "BE" stup ( 58) = "BF" stup (59) = "BG" stup (60) = "BH" stup (61) = "BI" stup (62) = "BJ" stup (63) = "BK" stup (64) = "BL" stup (65) = "BM" stup (66) = "BN" stup (67) = "BO" stup (68) = "BP" stup (69) = "BQ" stup (70) = " BR "stup (71) =" BS "stup (72) =" BT "stup (73) =" BU "stup (74) =" BV "stup (75) =" BW "stup (76) =" BX " Stupac (77) = "PO" stup (78) = "BZ" stup (79) = "CA" stup (80) = "CB" stup (81) = "CC" stup (82) = "CD" stup ( 83) = "CE" stup (84) = "CF" stup (85) = "CG" stup (86) = "CH" stup (87) = "CI" stup (88) = "CJ" stup (89) = "CK" stup (90) = "CL" stup (91) = "CM" stup (92) = "CN" stup (93) = "CO" stup (94) = "CP" stup (95) = " CQ "stup (96) =" CR "stup (97) =" CS "stup (98) =" CT "stup (99) =" CU "stup (100) =" CV "stup (101) =" Desno " stupac (102) = "CX" stup (103) = "CY" stup (104) = "CZ" stup (105) = "DA" stup (106) = "DB" stup (107) = "DC" stup ( 108) = "DD" stup (109) = "DE" stup (110) = "DF" stup (111) = "DG" stup (112) = "DH" stup (113) = "ID" stup (114) = "DJ" stup (115) = "DK" stup (116) = "DL" stup (117) = "DM" stup (118) = "DN" stup (119) = "DO" stup (120) = " DP "stup (121) =" DQ "stup (122) =" DR "stup (123) =" DS "stup (124) =" DT "stup (125) =" DU "stup (126) =" DV " stupac (127) = "DW" stup (128) = "DX" stup (129) = "DY" stup (130) = "DZ" stup (131) = "EA" stup (132) = "EB" stup ( 133) = "EC" stup (134) = "ED" stup (135) = "EE" stup (136) = "EF" stup (137) = "EG" stup (138) = "EH" stup (139) = "EI" stup (140) = "EJ" stup (141) = "EK" stup (142) = "EL" stup (143) = "MS" stup (144) = "U" stup (145) = " EO "stup (146) =" EP "stup (147) =" EQ "stup (148) =" ER "stup (149) =" ES "stup (150) =" ET "stup (151) =" EU " stupac (152) = "EV" stup (153) = "IZ" stup (154) = "EX" stup (155) = "EY" stup (156) = "EZ" stup (157) = "FA" stup ( 158) = "FB" stup (159) = "FC" stup (160) = "FD" stup (161) = "FE" stup (162) = "FF" stup (163) = "FG" stup (164) = "FH" stup (165) = "FI" stup (166) = "FJ" stup (167) = "FK" stup (168) = "FL" stup (169) = "FM" stup (170) = " FN "stup (171) =" FO "stup (172) =" FP "stup (173) =" CF "stup (174) =" FR "stup (175) =" FS "stup (176) =" FT " stupac (177) = "FU" stup (178) = "FV" stup (179) = "FW" stup (180) = "FX" stup (181) = "FG" stup (182) = "FZ" stup ( 183) = "GA" stup (184) = "HR" stup (185) = "GC" stup (186) = "GD" stup (187) = "GE" stup (188) = "GF" stup (189) = "GG" stup (190) = "GH" stup (191) = "GI" stup (192) = "GJ" stup (193) = "GK" stup (194) = "GL" stup (195) = " GM "stup (196) =" GN "stup (197) =" GO "stup (198) =" GP "stup (199) =" GQ "stup (200) =" GR "stup (201) =" GS " stupac (202) = "GT" stup (203) = "GU" stup (204) = "GV" stup (205) = "GW" stup (206) = "GX" stup (207) = "GY" stup ( 208) = "GZ" stup (209) = "HA" stup (210) = "HB" stup (211) = "HC" stup (212) = "HD" stup (213) = "ON" stup (214) = "HF" stup (215) = "Zmaj" stup (216) = "HH" stup (217) = "HI" stup (218) = "HJ" stup (219) = "HK" stup (220) = " HL "stup (221) =" HM "stup (222) =" HN "stup (223) =" HO "stup (224) =" HP "stup (225) =" HQ "stup (226) =" HR " stupac (227) = "HS" stup (228) = "HT" stup (229) = "HU" stup (230) = "HV" stup (231) = "HW" stup (232) = "H" stup ( 233) = "HY" stup (234) = "HZ" stup (235) = "IA" stup (236) = "IB" stup (237) = "IC" stup (238) = "ID" stup (239) = "IE" stup (240) = "IF" stup (241) = "IG" stup (242) = "IH" stup (243) = "II" stup (244) = "IJ" stup (245) = " IK "stup (246) =" IL "stup (247) =" IM "stup (248) =" U "stup (249) =" IO "stup (250) =" IP "stup (251) =" IQ " stupac (252) = "R" stup (253) = "IS" stup (254) = "IT" stup (255) = "UI" stup (256) = "IV" Povratak stupac (broj) End Function End Class 

Ova metoda mi je služio dobro i nadam se da ćete učiniti previše ... molimo vas da ostavite svoje komentare.

34 Reakcija to "Automatski DataTable Izvoz u Microsoft Excel"

  1. Bitacoras.com kaže:

    Informacije Bitacoras.com ...

    Stopa u Bitacoras.com: Bok, Danas želim pokazati primjer da mi je služio za dugo vremena, a ipak i dalje ga koristiti. Mi ćemo napraviti primjer za izvoz u Excel DataTable punu bez obzira na broj stupaca ili redaka koji Teng .....

    • Carlos Linares kaže:

      Dobro ...

      Izvrsna poslije! Hvala vam puno mi je pomogao, ali imam sumnju .. Kao veza s SQL .. Kako mogu promijeniti naziv kolone! Zbog toga što donosi ime područja SQL ..!

      Nadam se i sam shvatio ..

      Hvala!

  2. denko kaže:

    Idem za spremanje ...
    u nekom trenutku to će biti koristan ...

  3. Victor kaže:

    Je li to vrijedi za Excel 2007? Imao sam problema s izvozom za razvoj, da vrijedi za starije verzije, ali ne i za 2007. Hvala

  4. Ivan kaže:

    Strašan izvorni kod. me dobro služio. q je to odavno.

  5. Ivan kaže:

    Iako također je potrebno ecxel na uvoz podatkovne tablice. ali bi moglo biti okoliša na DataGrid, a zatim ažurira DataAdapter i prihvaćanje promjena u datatable će biti spremljene u BD q ... Nadam se da ću pomoći ili pronaći .. hvala

  6. Jose kaže:

    Hi Puno hvala! ovo izvrsno!
    No, pitam se gdje je DataGrid navodi da se u slučaju koji su nekoliko DataGrid?

    • Carlos Linares kaže:

      Na stolu ste na poziv ...

      * odaberite iz (naziv tablice)

      Ako želite odrediti koja polja želite

      odaberite (polja, polja, polja) * iz tablice
      ejm
      odabir automobila, boju, godinu iz automobila

  7. beto je rekao:

    Imam problem sa ovom primjeru sam napraviti 2 pogreške u varijablama dc i dr., ja mogu učiniti da to popraviti?

    • Elizej kaže:

      Bok, pokušajte ovo:
      Za svaki dr. Kao DataRow U ds.Tables (0). Reci i DataColumn Za svaki DC IN ds.Tables kao (0). Kolumne

      Nadam se da će se to riješiti. Pozdrav.

  8. Jason kaže:

    hola.
    to chevere, ali dio stupca ime nije jako funkcionalna.
    Ja ću uploadati na mom blogu puno manji broj ograničenja veličine i bez

    jaysson.blogspot.com

  9. Rodrigo kaže:

    Dobar članak, ali imam problem na mom računalu s programom Excel 2007 radi bez problema, ali s računala s programom Excel 2003 ili ranije ne radi. Bilo tko znati ako je problem knjižnica koje se uvoze, budući da implicira da radi za bilo excel, ali sam naišao ovaj problem.

    Neka je vidjeti ako netko može riješiti sumnje.
    Hvala Vam.

  10. Carlos Linares kaže:

    Dobro ...

    Izvrsna poslije! Hvala vam puno mi je pomogao, ali imam sumnju .. Kao veza s SQL .. Kako mogu promijeniti naziv kolone! Zbog toga što donosi ime područja SQL ..!

    Nadam se i sam shvatio ..

    Hvala!

  11. Alexander kaže:

    Public Sub ExportarDatosExcel (ByVal DataGridView1 Kao DataGridView i ByVal As String naslov)
    Kao što je New Excel.Application Dim m_Excel
    m_Excel.Cursor = Excel.XlMousePointer.xlWait
    m_Excel.Visible = True
    Kao Excel.Workbook Dim objLibroExcel = m_Excel.Workbooks.Add
    Kao Excel.Worksheet Dim objHojaExcel = objLibroExcel.Worksheets (1)
    Uz objHojaExcel
    . Vidljivo = Excel.XlSheetVisibility.xlSheetVisible
    . Aktiviraj ()
    'Header
    . Range ("A1: L1"). Pisma ()
    . Range ("A1: L1"). Value = "INSTITUT ARGENCAF"
    . Range ("A1: L1"). Font.Bold = True
    . Range ("A1: L1"). Font.Size = 15
    'Čuperak
    . Range ("A2: L2"). Pisma ()
    . Range ("A2: L2"). Value = title
    . Range ("A2: L2"). Font.Bold = True
    . Range ("A2: L2"). Font.Size = 12

    Const primeraLetra Kao Char = ""
    Const firstNumber Kao Kratki = 3
    Dim pismo Kao Char, Char Kao UltimaLetra
    Dim broj kao cijeli broj, UltimoNumero Kao Integer
    Dim Kao byte = ASC cod_letra (primeraLetra) - 1
    Kao String Dim = Application.CurrentCulture.NumberFormat.NumberDecimalSeparator sepDec
    Kao String Dim = Application.CurrentCulture.NumberFormat.NumberGroupSeparator sepMil
    'Set format stupaca kćeri obračuna
    StrColumna Dim Kao String = ""
    LetraIzq Dim Kao String = ""
    Dim Kao byte = ASC cod_LetraIzq (primeraLetra) - 1
    Pismo = primeraLetra
    Broj = firstNumber
    Kao Excel.Range Dim objCelda
    Za svaki c Kao DataGridViewColumn U DataGridView1.Columns
    Onda, ako c.Visible
    Ako Pismo = "Z" Tada
    Pismo = primeraLetra
    cod_letra = uzlazno (primeraLetra)
    cod_LetraIzq + = 1
    LetraIzq = Chr (cod_LetraIzq)
    Drugo
    cod_letra + = 1
    Pismo = Chr (cod_letra)
    Kraj Ako je
    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
    Ako c.ValueType Je GetType (decimalno) OrElse c.ValueType je GetType (Double) Tada
    objCelda.EntireColumn.NumberFormat = "#" + sepMil + "0" + + sepDec "00"
    Kraj Ako je
    Kraj Ako je
    Sljedeći

    Kao Excel.Range Dim objRangoEncab =. Raspona (primeraLetra + Numero.ToString LetraIzq i tipke + Lyrics + Numero.ToString)
    objRangoEncab.BorderAround (1, Excel.XlBorderWeight.xlMedium)
    UltimaLetra = Pošalji
    Kao String Dim = LetraIzq UltimaLetraIzq

    Opterećenje PODATAKA
    Dim ja kao cjelobrojni = Broj + 1

    Za svaki na popisu Kao DataGridViewRow DataGridView1.Rows
    LetraIzq = ""
    cod_LetraIzq = uzlazno (primeraLetra) - 1
    Pismo = primeraLetra
    cod_letra = uzlazno (primeraLetra) - 1
    Za svaki c Kao DataGridViewColumn U DataGridView1.Columns
    Onda, ako c.Visible
    Ako Pismo = "Z" Tada
    Pismo = primeraLetra
    cod_letra = uzlazno (primeraLetra)
    cod_LetraIzq + = 1
    LetraIzq = Chr (cod_LetraIzq)
    Drugo
    cod_letra + = 1
    Pismo = Chr (cod_letra)
    Kraj Ako je
    strColumna = LetraIzq tipke + Lyrics
    "Ovdje bi trebao biti opterećenje
    Stanice. (I, strColumna) = IIF (IsDBNull (reg.ToString), "", reg.Cells (c.Index). Value)
    '. Stanice (I, strColumna) = IIF (IsDBNull (Uredba (c.DataPropertyName)), c.DefaultCellStyle.NullValue, reg (c.DataPropertyName))
    '. Range (strColumna + i, strColumna + i). U ()

    Kraj Ako je
    Sljedeći
    Kao Excel.Range Dim objRangoReg =. Range (+ primeraLetra i.ToString, i.ToString strColumna +)
    objRangoReg.Rows.BorderAround ()
    objRangoReg.Select ()
    i + = 1
    Sljedeći
    UltimoNumero = i

    "Crtaj linije stupaca
    LetraIzq = ""
    cod_LetraIzq = uzlazno ("")
    cod_letra = uzlazno (primeraLetra)
    Pismo = primeraLetra
    Za svaki c Kao DataGridViewColumn U DataGridView1.Columns
    Onda, ako c.Visible
    . objCelda = Range (LetraIzq + Lyrics + primerNumero.ToString LetraIzq i tipke + Lyrics + (UltimoNumero -. 1) ToString)
    objCelda.BorderAround ()
    Ako Pismo = "Z" Tada
    Pismo = primeraLetra
    cod_letra = uzlazno (primeraLetra)
    LetraIzq = Chr (cod_LetraIzq)
    cod_LetraIzq + = 1
    Drugo
    cod_letra + = 1
    Pismo = Chr (cod_letra)
    Kraj Ako je
    Kraj Ako je
    Sljedeći

    'Nacrtaj guste vanjske granice
    Kao Excel.Range Dim objRango = raspona. (PrimeraLetra + primerNumero.ToString, UltimaLetra UltimaLetraIzq + + (UltimoNumero -. 1) ToString)
    objRango.Select ()
    objRango.Columns.AutoFit ()
    objRango.Columns.BorderAround (1, Excel.XlBorderWeight.xlMedium)
    Kraj S

    m_Excel.Cursor = Excel.XlMousePointer.xlDefault
    End Sub

    ToolStripButton2_Click_1 Privatne SUB (ByVal pošiljatelja Kao System.Object i ByVal e As System.EventArgs) Ručke ToolStripButton2.Click
    ExportarDatosExcel (DataGridView1, "izvoz")
    End Sub

  12. JuanPeople kaže:

    IZVRSNA! .... hvala brate, i uzeo 3 dana s modulom za uvoz / izvoz Excel i ništa radio .... ali s vašeg rješenja mogu ponovno vidjeti zvijezde KB pozdrave od Arequipa! ..

  13. TECKNOCK kaže:

    Ovaj broj mi je pomogao puno, pa sam surađivati ​​s moja dva centa:

    Jeste optimiziran "ColumnName" doći ahsta ZZ stupcu (702 et al.)

    Ovdje ću vam dati kod:

    Javnu funkciju ColumnName (ByVal broj kao cijeli broj) kao niz
    Dim stupac (703) kao niz

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

    Dim i = 27
    Za Ltr1 = 1 do 26
    Za Ltr2 = 1 do 26
    stupac (i) = stupac (Ltr1) i stupac (Ltr2)
    i + = 1
    Sljedeći
    Sljedeći

    Povratak stupac (broj)
    Kraj funkcija

    • Elizej kaže:

      TECKNOCK, puno ti hvala na pomoći!, Ali imajte na umu da, ako je knjiga mi stvaramo je kompatibilan s programom Excel 97-2003 maksimalno dozvoljenih stupaca je 256 (do IV). Baš kao komentar na to uzeti u obzir.

      Elizej

  14. raysip kaže:

    Kad sam pokrenuti lokalnu primjenu funcioana ispravno, ali kad sam ga upload na web stranici ne stvara Excel, ali ne dobijete pogrešku

  15. Aderson kaže:

    Ja sam obličje haciend Temeljena na moj SQL

    ne kao i radi, ali ja ću Aja

  16. Pavao kaže:

    Trebam pomoć pokušati učiniti svaki put ste ovdje i ja dobiti greška sve

  17. Ivan kaže:

    S druge strane, ti si savršen funca maksimum.

  18. neji kaže:

    jako dobro, čestitam su u najboljem mjestu sam čitati i konzultirati

  19. Patricia kaže:

    Hvala! To je vrlo korisno

  20. f.delgado kaže:

    Hej broj ne radi o meni označava da.Fill pogreške (DS)

    Ja označite pogrešku nije pronađena SqlException

    možete li mi pomoći

  21. jav kaže:

    jedno pitanje može izravno učitava sql upit za Excel?

    unaprijed kroz

  22. Morales Delfino kaže:

    Pozdrav prijatelji Prije svega agradesco vašem doprinosu.
    Imajte na umu da imam problem, ne može naći referencu ste naveli, ja sam instaliran Office 2010, a koji ne može biti moj problem.
    agradeseria nekoliko savjeta za vas.

  23. Amerika kaže:

    Pozdrav, vrlo dobar doprinos je ono što sam tražio ... ali kad sam ga pokrenuti od razvoja poslužitelja radi savršeno, ali kad sam pristup webu iz drugog pc ne radi ništa ... nema pogreške, ali ne snima sve ...

    Bilo tko znati kako to popraviti?

  24. Azofeifa Hernan kaže:

    Hvala vam puno, pomogao mi je tvoj primjer kao osnova za stvaranje funkciju koja generira mi Excel datoteku već izravno od vrijednosti pohranjenih u mreži je ono što dejor slučaj je korisno za nekoga

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / Postavili smo liniju sa stupaca
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    objHojaExcel.Range ("A1"). Odaberite ()
    Dim sam kao Integer = 0
    Lncol Dim Kao Integer = 1
    Za svaki DC IN dgvSocios.Columns

    Ako dgvSocios.Columns.Item (I). Vidljivo = True Tada
    objHojaExcel.Range (ColumnName (lncol) i 1). Value = dgvSocios.Columns.Item (I). HeaderText
    lncol + = 1
    Kraj Ako je
    Sam + = 1
    Sljedeći
    red + = 1

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / Mi oblikovanje naslova redaka
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    Kao Excel.Range Dim objRango = objHojaExcel.Range ("A1:" & ColumnName (lncol) i "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 sve retke u datatable
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    ProgressBar1.Maximum = dgvSocios.Rows.Count
    stupac = 0
    ProgressBar1.Value = 0
    ProgressBar1.Visible = True
    Lnfila Dim kao cjelobrojni = 0
    I = 1
    Za svaki dr. U dgvSocios.Rows
    stupac = 0

    Za svaki DC IN dgvSocios.Columns
    Ako dgvSocios.Columns.Item (stupac). Vidljivo = True Tada
    objHojaExcel.Range (ColumnName (ja) i red). Value = dgvSocios.Item (stupac, lnfila). Value.ToString
    Sam + = 1
    Kraj Ako je
    stupac + = 1
    Sljedeći
    lnfila + = 1
    red + = 1
    ProgressBar1.Value + = 1
    Sljedeći

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / Mi podešavanje širine automatski
    '/ / Od svih stupova koji se koriste
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    objRango = objHojaExcel.Range ("A1:" & ColumnName (lncol) i (lnfila + 1) ToString.)
    objRango.Select ()
    objRango.Columns.AutoFit ()

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / Mi Vas da Excel za prikazivanje
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    MsgBox ("Izvoz u Excel Complete" i MsgBoxStyle.Information ". :: Solovb.net ::").
    m_Excel.Visible = True

  25. Pako kaže:

    Dovođenje malo za tu funkciju, sljedeći kod sprečava korištenje "RANGE" ne zahtijevaju tipku "ColumnName"

    Pozdrav,

    Uvoz System.Data
    Uvoz System.Data.SqlClient
    Uvoz Microsoft.Office.Interop.Excel
    Javni Modul mutil
    Public Sub ExportarDtToExcel (ByVal Pnz Kao System.Data.DataTable i ByVal As String naslov)
    Kao Excel.Application Dim m_Excel
    Kao Excel.Workbook Dim objLibroExcel
    Kao radnog Dim objHojaExcel
    Pokušati
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / Stvori objekt Excel
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    m_Excel = CreateObject ("Excel.Application")
    m_Excel.Workbooks.Add objLibroExcel = ()
    objHojaExcel = objLibroExcel.Worksheets (1)
    objHojaExcel.Name = Naslov
    objHojaExcel.Visible = Excel.XlSheetVisibility.xlSheetVisible
    objHojaExcel.Activate ()

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / Definiranje dvije varijable za kontrolu redak i stupac
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    Dim red kao cjelobrojni = 1
    Dim stupac kao cjelobrojni = 1

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / Postavili smo liniju sa stupaca
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    'ObjHojaExcel.Range ("A1"). Odaberite ()

    objHojaExcel.Cells (redak, stupac). SELECT ()
    Za svaki DC IN Dt.Columns
    objHojaExcel.Cells (redak, stupac). Vrijednost = dc.ColumnName
    stupac + = 1
    Sljedeći
    red + = 1

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / Mi oblikovanje naslova redaka
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    Kao 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

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / Load sve retke u datatable
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /

    stupac = 1

    Za svaki dr. U Dt.Rows
    stupac = 1
    Za svaki DC IN Dt.Columns
    objHojaExcel.Cells (redak, stupac). Vrijednost = dr. (dc.ColumnName)
    stupac + = 1
    Sljedeći
    red + = 1

    Sljedeći

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / Mi podešavanje širine automatski
    '/ / Od svih stupova koji se koriste
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    objHojaExcel.Cells objRango = (1, Dt.Columns.Count)
    objRango.Select ()
    objRango.Columns.AutoFit ()

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / Mi Vas da Excel za prikazivanje
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    MsgBox ("Izvoz u Excel Complete MsgBoxStyle.Information", "Izvoz")
    m_Excel.Visible = True

    Catch ex Kao iznimkom

    MsgBox (ex.ToString)

    Konačno

    objHojaExcel = Nothing
    objLibroExcel = Nothing
    m_Excel = Nothing

    Pokušajte završiti
    End Sub

    Kraj Modul

  26. Pamela kaže:

    netko molim vas objasniti diže progress1?

Komentirati