Automaticky export do aplikace Microsoft Excel DataTable

Dnes vám chci ukázat příklad, který sloužil mi na dlouhou dobu, a přesto jsem stále používat.
Uděláme příklad exportovat do aplikace Excel DataTable plném rozsahu bez ohledu na počet sloupců nebo řádků, které mají.

Existuje řada způsobů, jak toho dosáhnout, ale já si to opravdu užitečné, protože tato metoda funguje pro všechny verze aplikace Excel. Pro compatilidad problémy s novějších verzích zpracovat pouze 256 sloupců.

První věc, kterou potřebujeme, je přidat odkaz na Microsoft.Office.Interop.Excel a děláme takto:

Importar referencia a Excel

Importovat odkaz na Excel

Importar referencia Excel

Import z MS Excel odkaz

Pak potřebujeme formulář, tlačítko, DataGridView a progress bar. Můžeme mít jak je vidět na obrázku:

Formulario aplicación para exportar dataset a excel

Přihláška exportovat datové sady vyniknout

Nyní chci zobrazit všechny kód je opravdu jednoduchá Nejdůležitější je, že se přizpůsobí každé tabulky. Budete moci použít bez problémů.

 Dovoz System.Data Dovoz System.Data.SqlClient public class Form1 Private Dovoz Microsoft.Office.Interop DS as New DataSet Private Sub Form1_Load (ByVal odesílateli jako System.Object, ByVal e As System.EventArgs) Handles MyBase.Load "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / '/ / Vytvořte spojení a vyplnit DataGridView "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / Dim cnn As New SqlConnection ("Data Source = localhost \ sqlexpress, počáteční katalog = Northwind, integrované zabezpečení = True") Dim da As New SqlDataAdapter ("SELECT * FROM zákazníků", cnn) dává. vyplňte (ds) DataGridView1.DataSource = ds.Tables (0) End Sub Private Sub btnExportar_Click (ByVal odesílatel jako System.Object, ByVal e As System.EventArgs) Handles btnExportar.Click "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / '/ / Vytvoření objektu Excel' / / / / / / / / / / / / / / / / / / / / / / / / / / / / / Dim Dim m_Excel objLibroExcel Dim objHojaExcel m_Excel = CreateObject ("Excel.Application") m_Excel.Workbooks.Add objLibroExcel = () = objLibroExcel.Worksheets objHojaExcel (1) objHojaExcel.Name = "Zákazníci" objHojaExcel.Visible = Excel . XlSheetVisibility.xlSheetVisible objHojaExcel.Activate () "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / '/ / definovat dvě proměnné pro ovládání řádků a sloupců' / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / Dim řada As Integer = 1 Dim sloupci As Integer = 1 '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / '/ / jsme nastavili řádek s záhlaví sloupce '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / objHojaExcel.Range ("A1"). Vyberte () pro každý DC IN ds.Tables (0). sloupce objHojaExcel.Range (ColumnName (sloupec) a 1). hodnota = dc.ColumnName sloupec + = 1 Další řádek + = 1 '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / '/ / My formátování tituly řádek "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / Dim Jak Excel.Range = objHojaExcel.Range objRango ("A1:". a ColumnName (ds.Tables (0) Columns.Count) a "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 odst. Excel.XlBordersIndex.xlEdgeBottom). lineStyle Excel.XlLineStyle.xlContinuous = '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / '/ / Nahraje všechny řádky v DataTable "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / ProgressBar1.Maximum = ds.Tables (0). Rows.Count ProgressBar1.Value sloupec = 1 = 0 Pro každý dr V ds.Tables (0). řádky sloupce = 1 pro každý DC v ds.Tables (0). Sloupce objHojaExcel.Range (ColumnName (sloupec) a řádek). Value = dr (dc.ColumnName) sloupec + = Další řádek 1 + 1 = + = 1 Další ProgressBar1.Value "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / '/ / My nastavit šířku automaticky "/ / pro všechny sloupce používají" / ​​/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / objRango = objHojaExcel.Range ("A1:" týden a ColumnName (ds.Tables (0) Columns.Count) a ds.Tables (0) Rows.Count.ToString) objRango.Select () objRango . Columns.AutoFit () "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / '/ / Řekneme Excel k zobrazení '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / MsgBox ("Export do Excelu Complete" , MsgBoxStyle.Information ". :: solovb.net ::.") m_Excel.Visible = True End Sub Public Function ColumnName (ByVal číslo As Integer) As String Dim sloupci (256) As String sloupci (1) = "" sloupec (2) = "B" sloupku (3) = "C" ve sloupci (4) = "D" pilíř (5) = "E" ve sloupci (6) = "F" sloupce (7) = "G" sloupec ( 8) = "H" ve sloupci (9) = "I" ve sloupci (10) = "J" ve sloupci (11) = "K" ve sloupci (12) = "L" ve sloupci (13) = "M" ve sloupci (14) = "N" ve sloupci (15) = "W" ve sloupci (16) = "P" ve sloupci (17) = "Q" ve sloupci (18) = "R" ve sloupci (19) = "S" ve sloupci (20) = " T ", ve sloupci (21) =" U "sloupec (22) =" V "ve sloupci (23) =" W "ve sloupci (24) =" X "ve sloupci (25) =" Y "ve sloupci (26) =" Z " sloupci (27) = "AA" sloupci (28) = "AB" ve sloupci (29) = "AC" sloupci (30) = "AD" sloupci (31) = "AE" sloupci (32) = "AF" sloupec ( 33) = "AG" Sloupec (34) = "AH" sloupci (35) = "číslo" sloupci (36) = "AJ" sloupci (37) = "AK" ve sloupci (38) = "k" sloupci (39) = "AM" ve sloupci (40) = "NA", ve sloupci (41) = "AO" sloupci (42) = "AP" ve sloupci (43) = "AQ" sloupci (44) = "RA" sloupci (45) = " "Sloupec (46) =" AT "ve sloupci (47) =" AU "ve sloupci (48) =" AV "sloupci (49) =" AW "sloupci (50) =" AX "sloupci (51) =" AY " sloupci (52) = "AZ" sloupci (53) = "BA" sloupci (54) = "BB" sloupci (55) = "BC" sloupci (56) = "BD" sloupci (57) = "BE" sloupec ( 58) = "BF" sloupci (59) = "BG" sloupci (60) = "BH" sloupci (61) = "BI" sloupci (62) = "BJ" sloupci (63) = "BK" sloupci (64) = "BL" sloupci (65) = "BM" sloupci (66) = "BN" sloupci (67) = "BO" sloupci (68) = "BP" sloupci (69) = "BQ" sloupci (70) = " BR "sloupci (71) =" BS "sloupci (72) =" BT "sloupci (73) =" BU "sloupci (74) =" BV "sloupci (75) =" BW "sloupci (76) =" BX " sloupci (77) = "BY" sloupci (78) = "BZ" sloupci (79) = "CA" sloupec (80) = "CB" sloupci (81) = "CC" sloupci (82) = "CD" sloupec ( 83) = "CE" ve sloupci (84) = "CF" sloupci (85) = "CG" ve sloupci (86) = "CH" ve sloupci (87) = "CI" sloupci (88) = "CJ" sloupci (89) = "CK" sloupci (90) = "CL" sloupci (91) = "CM" sloupci (92) = "CN" sloupci (93) = "CO", ve sloupci (94) = "CP" ve sloupci (95) = " CQ "sloupci (96) =" ČR "ve sloupci (97) =" CS "ve sloupci (98) =" CT "sloupci (99) =" UK "sloupec (100) =" CV "sloupec (101) =" CW " sloupec (102) = "CX" sloupec (103) = "CY" sloupec (104) = "CZ" sloupec (105) = "DA" sloupec (106) = "DB" sloupec (107) = "DC" sloupec ( 108) = "DD" sloupec (109) = "DE" sloupec (110) = "DF" sloupec (111) = "DG" sloupec (112) = "DH" sloupec (113) = "ID" sloupec (114) = "DJ" sloupec (115) = "DK" sloupec (116) = "DL" sloupec (117) = "DM" sloupec (118) = "DN" sloupec (119) = "DO" sloupec (120) = " DP "sloupec (121) =" DQ "sloupec (122) =" DR "sloupec (123) =" DS "sloupec (124) =" DT "sloupec (125) =" DU "sloupec (126) =" DV " sloupec (127) = "DW" sloupec (128) = "DX" sloupec (129) = "DY" sloupec (130) = "DZ" sloupec (131) = "EA" ve sloupci (132) = "EB" sloupec ( 133) = "ES" sloupec (134) = "ED" sloupec (135) = "EE" sloupec (136) = "EF" sloupec (137) = "EG" sloupec (138) = "EH" sloupec (139) = "EI" sloupec (140) = "EJ" sloupec (141) = "EK" sloupec (142) = "EL" sloupec (143) = "MS" sloupec (144) = "IN" sloupec (145) = " EO "sloupec (146) =" EP "sloupec (147) =" EQ "sloupec (148) =" ER "sloupec (149) =" ES "sloupec (150) =" ET "sloupec (151) =" EU " sloupec (152) = "EV" sloupec (153) = "EW" sloupec (154) = "EX" sloupec (155) = "EY" sloupec (156) = "EZ" sloupec (157) = "FA" sloupec ( 158) = "FB" sloupec (159) = "FC" sloupec (160) = "FD" sloupec (161) = "FE" sloupec (162) = "FF" sloupec (163) = "FG" sloupec (164) = "FH" sloupec (165) = "FI" sloupec (166) = "FJ" sloupec (167) = "FK" sloupec (168) = "FL" sloupec (169) = "FM" sloupec (170) = " FN "sloupec (171) =" FO "sloupec (172) =" FP "sloupec (173) =" CF "sloupec (174) =" FR "sloupec (175) =" FS "sloupec (176) =" FT " sloupec (177) = "FU" sloupec (178) = "FV" sloupec (179) = "FW" sloupec (180) = "FX" sloupec (181) = "FY" sloupec (182) = "FZ" sloupec ( 183) = "GA" sloupec (184) = "GB" sloupec (185) = "GC" sloupec (186) = "GD" sloupec (187) = "GE" sloupec (188) = "GF" sloupec (189) = "GG" sloupec (190) = "GH" sloupec (191) = "GI" sloupec (192) = "GJ" sloupec (193) = "GK" sloupec (194) = "GL" sloupec (195) = " GM "sloupec (196) =" GN "sloupec (197) =" GO "sloupec (198) =" GP "sloupec (199) =" GQ "sloupec (200) =" GR "sloupec (201) =" GS " sloupec (202) = "GT" sloupec (203) = "GU" sloupec (204) = "GV" sloupec (205) = "GW" sloupec (206) = "GX" sloupec (207) = "GY" sloupec ( 208) = "GZ" sloupec (209) = "HA" sloupec (210) = "HB" sloupec (211) = "HC" sloupec (212) = "HD" sloupec (213) = "on" ve sloupci (214) = "HF" sloupec (215) = "HG" sloupec (216) = "HH" sloupec (217) = "HI" sloupec (218) = "HJ" sloupec (219) = "HK" sloupec (220) = " HL "sloupec (221) =" HM "sloupec (222) =" HN "sloupec (223) =" HO "sloupec (224) =" HP "sloupec (225) =" HQ "sloupec (226) =" HR " sloupec (227) = "HS" sloupec (228) = "HT" sloupec (229) = "HU" sloupec (230) = "HV" sloupec (231) = "HW" sloupec (232) = "H" ve sloupci ( 233) = "HY" sloupec (234) = "HZ" sloupec (235) = "IA" sloupec (236) = "IB" sloupec (237) = "IC" sloupec (238) = "ID" sloupec (239) = "IE" sloupec (240) = "IF" sloupec (241) = "IG" sloupec (242) = "IH" sloupec (243) = "II" ve sloupci (244) = "IJ" sloupec (245) = " IK "sloupec (246) =" IL "sloupec (247) =" IM "sloupec (248) =" IN "sloupec (249) =" IO "sloupec (250) =" IP "sloupec (251) =" IQ " sloupec (252) = "R" ve sloupci (253) = "IS" sloupec (254) = "IT" sloupec (255) = "UI" sloupec (256) = "IV" Návrat sloupce (počet) End Function End Class 

Tato metoda slouží mi dobře a doufám, že taky ... prosím zanechat své připomínky.

32 Reakce na "automaticky exportovat do aplikace Microsoft Excel DataTable"

  1. Bitacoras.com říká:

    Informace Bitacoras.com ...

    Míra Bitacoras.com: Ahoj, dnes chci ukázat příklad, který sloužil mi na dlouhou dobu, a přesto jsem stále používat. Uděláme příklad exportovat do aplikace Excel DataTable plném rozsahu bez ohledu na počet sloupců nebo řádků, které deset g .....

    • Carlos Linares říká:

      Dobrá ...

      Výborný příspěvek! Děkuji vám pomohl mi zcela, ale mám pochybnosti .. Jako odkaz je s sql .. Jak mohu přejmenovat sloupce!? Protože to přináší název oblasti sql ..!

      Doufám a jsem pochopil ..

      Děkuji vám!

  2. Denko říká:

    Chystám se zachránit ...
    v určitém okamžiku to bude užitečné ...

  3. Victor říká:

    Je to platí pro aplikaci Excel 2007? Měl jsem problémy s vývozem na rozvoj, že to platí pro starší verze, ale ne pro rok 2007. Díky

  4. John říká:

    Vynikajícím zdrojem kód. sloužila mi dobře. q to bylo dávno.

  5. John říká:

    I když také třeba ecxel import dat tabulky. ale mohl by být pro životní prostředí DataGrid a pak aktualizovat DataAdapter a přijímání změn v DataTable by být uloženy v q BD ... Doufám, že mohu pomoci nebo najít .. díky

  6. jose říká:

    Ahoj moc děkuji! Tento vynikající!
    Ale zajímalo by mě, kde datagrid uvádí, že používá v případě, kteří jsou několik DataGrid?

    • Carlos Linares říká:

      Na stole máš na volání ...

      select * from (název tabulky)

      Chcete-li určit, které pole, která chcete

      výběr (pole, pole, pole) * z tabulky
      ejm
      vybrat auto, barvy, rok od auta

  7. Beto řekl:

    Mám problém s tímto příkladem udělám 2 chyby v proměnné DC a DR, mohu udělat pro to opravit?

    • Elisha říká:

      Dobrý den, zkuste toto:
      Pro každý dr As DataRow V ds.Tables (0). Řádky a DataColumn pro každý DC v ds.Tables jako (0). Sloupce

      Doufám, že je to vyřešeno. Zdravím.

  8. Jason říká:

    hola.
    Tento chevere, ale část názvu sloupce není příliš funkční.
    Budu nahrávat na můj blog a mnohem menší omezení velikosti kódu a bez

    jaysson.blogspot.com

  9. Rodrigo říká:

    Dobrý článek, ale mám problém na mém počítači s prací Excel 2007 hladce, ale s počítači s aplikací Excel 2003 nebo starší nefunguje. Každý, kdo ví, zda se problém knihoven, které jsou dováženy, protože jste znamenat, že pracuje pro jakoukoli vyniknout, ale já jsem se setkal s tímto problémem.

    Uvidíme, jestli někdo může vyřešit pochybnosti.
    Děkuju.

  10. Carlos Linares říká:

    Dobrá ...

    Výborný příspěvek! Děkuji vám pomohl mi zcela, ale mám pochybnosti .. Jako odkaz je s sql .. Jak mohu přejmenovat sloupce!? Protože to přináší název oblasti sql ..!

    Doufám a jsem pochopil ..

    Děkuji vám!

  11. Alexander říká, že:

    Public Sub ExportarDatosExcel (ByVal DataGridView1 jako DataGridView, ByVal názvem As String)
    Jak New Excel.Application Dim m_Excel
    m_Excel.Cursor = Excel.XlMousePointer.xlWait
    m_Excel.Visible = True
    Jak Excel.Workbook Dim objLibroExcel = m_Excel.Workbooks.Add
    Jak Excel.Worksheet Dim objHojaExcel = objLibroExcel.Worksheets odst. 1)
    S objHojaExcel
    . Visible = Excel.XlSheetVisibility.xlSheetVisible
    . Activate ()
    "Hlavička
    . Range ("A1: L1"). Sloučit ()
    . Range ("A1: L1"). Value = "INSTITUT ARGENCAF"
    . Range ("A1: L1"). Font.Bold = True
    . Range ("A1: L1"). Font.Size = 15
    "Trs
    . Range ("A2: L2"). Sloučit ()
    . Range ("A2: L2"). Value = název
    . Range ("A2: L2"). Font.Bold = True
    . Range ("A2: L2"). Font.Size = 12

    Const primeraLetra jako CHAR = ""
    Const firstNumber co nejkratší = 3.
    Dim dopis jako Char, Char Jak UltimaLetra
    Počet As Integer Dim, UltimoNumero As Integer
    Jak Byte Dim = Asc cod_letra odst. primeraLetra) - 1
    Dim As String = Application.CurrentCulture.NumberFormat.NumberDecimalSeparator sepDec
    Dim As String = Application.CurrentCulture.NumberFormat.NumberGroupSeparator sepMil
    "Set formát sloupců dcery výpočtu
    StrColumna Dim As String = ""
    LetraIzq Dim As String = ""
    Jak Byte Dim = Asc cod_LetraIzq odst. primeraLetra) - 1
    Dopis = primeraLetra
    Číslo = firstNumber
    Jak Excel.Range Dim objCelda
    Pro každý C jako DataGridViewColumn V DataGridView1.Columns
    Pak, pokud c.Visible
    Pokud dopis = "Z" Tak
    Dopis = primeraLetra
    cod_letra = Asc (primeraLetra)
    cod_LetraIzq + = 1
    LetraIzq = Chr (cod_LetraIzq)
    Jiný
    cod_letra + = 1
    Dopis = Chr (cod_letra)
    End If
    strColumna = LetraIzq + texty + Numero.ToString
    objCelda. = Range (strColumna, Type.Missing)
    objCelda.Value = c.HeaderText
    objCelda.EntireColumn.Font.Size = 8
    "ObjCelda.EntireColumn.NumberFormat = c.DefaultCellStyle.Format
    Pokud c.ValueType Je GetType (Decimal) OrElse c.ValueType Je GetType (Double) pak
    objCelda.EntireColumn.NumberFormat = "#" + + sepMil "0" + sepDec + "00"
    End If
    End If
    Další

    Jak Excel.Range Dim objRangoEncab =. Dosahu (primeraLetra + Numero.ToString a LetraIzq + texty + Numero.ToString)
    objRangoEncab.BorderAround (1, Excel.XlBorderWeight.xlMedium)
    UltimaLetra = Odeslat
    Dim As String = LetraIzq UltimaLetraIzq

    "Užitečnou DATA
    Dim i As Integer = počet + 1

    Pro každý v seznamu jako DataGridViewRow DataGridView1.Rows
    LetraIzq = ""
    cod_LetraIzq = Asc (primeraLetra) - 1
    Dopis = primeraLetra
    cod_letra = Asc (primeraLetra) - 1
    Pro každý C jako DataGridViewColumn V DataGridView1.Columns
    Pak, pokud c.Visible
    Pokud dopis = "Z" Tak
    Dopis = primeraLetra
    cod_letra = Asc (primeraLetra)
    cod_LetraIzq + = 1
    LetraIzq = Chr (cod_LetraIzq)
    Jiný
    cod_letra + = 1
    Dopis = Chr (cod_letra)
    End If
    strColumna = LetraIzq + texty
    "Tady by měla být zátěž
    Buňky týden i, strColumna) = IIf (IsDBNull (reg.ToString), "", reg.Cells (c.Index). Hodnota)
    ". Cells (i, strColumna) = IIf (IsDBNull (reg. (c.DataPropertyName)), c.DefaultCellStyle.NullValue, reg (c.DataPropertyName))
    ". Rozsah (strColumna + i, strColumna + i). V ()

    End If
    Další
    Jak Excel.Range Dim objRangoReg. = Range (primeraLetra + i.ToString, i.ToString strColumna +)
    objRangoReg.Rows.BorderAround ()
    objRangoReg.Select ()
    i + = 1
    Další
    UltimoNumero = i

    "Kreslit linie sloupců
    LetraIzq = ""
    cod_LetraIzq = Asc ("")
    cod_letra = Asc (primeraLetra)
    Dopis = primeraLetra
    Pro každý C jako DataGridViewColumn V DataGridView1.Columns
    Pak, pokud c.Visible
    . objCelda = Range (LetraIzq + texty + primerNumero.ToString a LetraIzq + texty + (UltimoNumero -. 1) ToString)
    objCelda.BorderAround ()
    Pokud dopis = "Z" Tak
    Dopis = primeraLetra
    cod_letra = Asc (primeraLetra)
    LetraIzq = Chr (cod_LetraIzq)
    cod_LetraIzq + = 1
    Jiný
    cod_letra + = 1
    Dopis = Chr (cod_letra)
    End If
    End If
    Další

    "Remíza tlustou vnější hranici
    Jak 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 odesílatel jako System.Object, ByVal e As System.EventArgs) Handles ToolStripButton2.Click
    ExportarDatosExcel (DataGridView1, "vývoz")
    Sub End

  12. JuanPeople říká:

    VYNIKAJÍCÍ! .... Díky bratr, a vzal 3 dny s modulem pro import / export Excel a nic nefunguje .... ale vaše řešení vidím opět hvězdy ... pozdravy od Arequipa:! ..

  13. TECKNOCK říká:

    Tento kód mi hodně pomohl, tak jsem spolupracovat se svými dvěma centy:

    Jsem optimalizovali "ColumnName", aby se dospělo ahsta ZZ sloupec (702 et al.)

    Zde jsem vám kód:

    Public Function ColumnName (ByVal číslo As Integer) As String
    Dim sloupec (703) As String

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

    Dim i = 27
    Pro Ltr1 = 1 až 26
    Pro Ltr2 = 1 až 26
    sloupec (i) = sloupec (Ltr1) a sloupce (Ltr2)
    i + = 1
    Další
    Další

    Návrat sloupce (počet)
    End Function

    • Elisha říká:

      TECKNOCK, děkuji moc za pomoc!, Ale mějte na paměti, že pokud vytvoříme kniha je kompatibilní s Excel 97-2003 maximálních povolených sloupců 256 (až IV). Stejně jako komentář, aby tuto skutečnost v úvahu.

      Elisha

  14. raysip říká:

    Při spuštění aplikace na místní funcioana správně, ale když jsem nahrát ji na stránky negeneruje vyniknout, ale nechápu chybu

  15. Aderson říká:

    Hledám haciend UZEMNĚNÉ k mému sql

    ne jako jsem dělal, ale budu dělat aja

  16. Pavel říká:

    Potřebuji pomoc se snaží udělat každý způsob, jakým se zde a já si všechny chyby

  17. JOHN říká:

    Ruční, jste perfektní funca maximum.

  18. Neji říká:

    velmi dobrá, jsou v nejlepším gratulujeme příspěvek jsem četla a konzultovala

  19. Patricia říká:

    Děkuji vám! Bylo to velmi užitečné

  20. f.delgado říká:

    Hej kód nefunguje na mě znamená da.Fill chyby (ds)

    Já označit chybu nebyl nalezen SQLException

    můžete mi pomoci

  21. JAV říká:

    jedna otázka může přijít do přímého zatížení sql dotaz vyniknout?

    předem díky

  22. Delfino Morales říká:

    Ahoj kamarádi v první řadě byste agradesco váš příspěvek.
    Všimněte si, že mám problém nemohu najít odkaz, který indikoval, Nainstaloval jsem Office 2010 a která nemůže být můj problém.
    agradeseria několik rad pro vás.

  23. Amerika říká:

    Dobrý den, velmi dobrý příspěvek, co jsem hledal ... ale když jsem spustit z vývoje serveru funguje dobře, ale když jsem přístup na internet z jiného PC nedělá nic ... žádná chyba, ale nezaznamená nic ...

    Každý, kdo ví, jak to opravit?

  24. Azofeifa Hernan říká:

    Děkuji moc, pomohlo mi váš příklad jako základ pro generování funkci, která mi vytváří soubor aplikace Excel, ale přímo z hodnot uložených v tabulce je to, co dejor případě je užitečné pro někoho

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    "/ / Nastavíme řádek s záhlaví sloupce
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    objHojaExcel.Range ("A1"). Vyberte ()
    Dim I As Integer = 0
    Lncol As Integer Dim = 1
    Pro každý DC v dgvSocios.Columns

    Pokud dgvSocios.Columns.Item (I). Visible = True Potom
    objHojaExcel.Range (ColumnName (lncol) a 1). Value = dgvSocios.Columns.Item (I). HeaderText
    lncol + = 1
    End If
    I + = 1
    Další
    řádek + = 1

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    "/ / My formátování řádků tituly
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    Jak Excel.Range Dim objRango = objHojaExcel.Range ("A1:" & ColumnName (lncol) a "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

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    "/ / Nahraje všechny řádky v DataTable
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    ProgressBar1.Maximum = dgvSocios.Rows.Count
    column = 0
    ProgressBar1.Value = 0
    ProgressBar1.Visible = True
    Lnfila As Integer Dim = 0
    I = 1
    Pro každý dr V dgvSocios.Rows
    column = 0

    Pro každý DC v dgvSocios.Columns
    Pokud dgvSocios.Columns.Item (sloupec). Visible = True Potom
    objHojaExcel.Range (ColumnName (I) a řádek). Value = dgvSocios.Item (sloupec, lnfila). Value.ToString
    I + = 1
    End If
    sloupec + = 1
    Další
    lnfila + = 1
    řádek + = 1
    ProgressBar1.Value + = 1
    Další

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    "/ / My nastavit šířku automaticky
    "/ / Ze všech použitých sloupců
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    objRango = objHojaExcel.Range ("A1:" & ColumnName (lncol) a (lnfila + 1) ToString.)
    objRango.Select ()
    objRango.Columns.AutoFit ()

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    "/ / Řekneme Excel pro zobrazení
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    MsgBox ("Export do Excelu Complete", MsgBoxStyle.Information ". :: Solovb.net ::.")
    m_Excel.Visible = True

  25. Pako říká:

    Přináší bit pro tuto funkci, následující kód zabraňuje použití "Range", aby nebylo nutné funkci "ColumnName"

    S pozdravem,

    Dovoz System.Data
    Dovoz System.Data.SqlClient
    Dovoz Microsoft.Office.Interop.Excel
    Veřejné modul mutil
    Public Sub ExportarDtToExcel (ByVal Dt Jak System.Data.DataTable, názvu ByVal As String)
    Jak Excel.Application Dim m_Excel
    Jak Excel.Workbook Dim objLibroExcel
    Jak listu Dim objHojaExcel
    Zkusit
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    "/ / Vytvoření objektu Excel
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    m_Excel = CreateObject ("Excel.Application")
    m_Excel.Workbooks.Add objLibroExcel = ()
    objHojaExcel = objLibroExcel.Worksheets (1)
    objHojaExcel.Name = Název
    objHojaExcel.Visible = Excel.XlSheetVisibility.xlSheetVisible
    objHojaExcel.Activate ()

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    "/ / Define dvě proměnné pro ovládání řádků a sloupců
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    Dim řádek As Integer = 1
    Dim sloup As Integer = 1

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    "/ / Nastavíme řádek s záhlaví sloupce
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    "ObjHojaExcel.Range (" A1 "). Vyberte ()

    objHojaExcel.Cells (řádek, sloupec). SELECT ()
    Pro každý DC v Dt.Columns
    objHojaExcel.Cells (řádek, sloupec). Value = dc.ColumnName
    sloupec + = 1
    Další
    řádek + = 1

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    "/ / My formátování řádků tituly
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    Jak Excel.Range = dim objRango objHojaExcel.Range odst. objHojaExcel.Cells (1, 1), objHojaExcel.Cells odst. 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

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    "/ / Nahraje všechny řádky v DataTable
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /

    sloupec = 1

    Pro každý dr V Dt.Rows
    sloupec = 1
    Pro každý DC v Dt.Columns
    objHojaExcel.Cells (řádek, sloupec). Value = dr (dc.ColumnName)
    sloupec + = 1
    Další
    řádek + = 1

    Další

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    "/ / My nastavit šířku automaticky
    "/ / Ze všech použitých sloupců
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    objHojaExcel.Cells objRango = (1, Dt.Columns.Count)
    objRango.Select ()
    objRango.Columns.AutoFit ()

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    "/ / Řekneme Excel pro zobrazení
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    MsgBox ("Export do Excelu Complete" MsgBoxStyle.Information, "Export")
    m_Excel.Visible = True

    Catch ex jako výjimku

    MsgBox (ex.ToString)

    Konečně

    objHojaExcel = Nothing
    objLibroExcel = Nothing
    m_Excel = Nothing

    End Try
    End Sub

    End Module

Komentář