Automaattisesti vienti Microsoft Exceliin DataTable

Tänään haluan näyttää esimerkin, joka on palvellut minua jo pitkään mutta en silti käyttää sitä.
Teemme esimerkiksi viedä DataTable Exceliin täysin riippumatta sarakkeiden tai rivien ovat.

Tähän voi olla monia tapoja tehdä tämä, mutta mielestäni todella hyvä, koska tämä menetelmä toimii minkä tahansa Excel. Jos compatilidad ongelmia uudempien versioiden Excelin käsittelemään vain 256 saraketta.

Ensimmäinen asia, meidän on lisätä viittaus Microsoft.Office.Interop.Excel ja teemme seuraavasti:

Importar referencia a Excel

Tuo viittaus Exceliin

Importar referencia Excel

Tuo Excel viite

Sitten tarvitaan lomake, painike, dataGridView ja etenemispalkki. Me voimme olla kuten kuvasta näkyy:

Formulario aplicación para exportar dataset a excel

Hakulomake viedä tietokokonaisuus kunnostautua

Nyt haluan näyttää kaikki koodi on todella yksinkertainen Tärkeintä on, että se sopeutuu mihin tahansa pöytään. Voit käyttää uudelleen ilman ongelmia.

 Tuonti System.Data Tuo System.Data.SqlClient Public Class Form1 Tuonti Microsoft.Office.Interop Private ds As New DataSet Private Sub Form1_Load (ByVal lähettäjälle System.Object, ByVal e Kuten System.EventArgs) Kahvat MyBase.Load '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / '/ / Luo yhteys ja täytä DataGridView '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / Dim CNN uutena SqlConnection ("Data Source = localhost \ sqlexpress; Initial Catalog = Northwind; Integrated Security = True") Dim da uutena SqlDataAdapter ("Select * asiakkailta", CNN) antaa. Täytä (ds) DataGridView1.DataSource = ds.Tables (0) End Sub Private Sub btnExportar_Click (ByVal lähettäjälle System.Object, ByVal e Kuten System.EventArgs) Kahvat btnExportar.Click '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / '/ / Luo 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 = "Asiakkaat" objHojaExcel.Visible = Excel . XlSheetVisibility.xlSheetVisible objHojaExcel.Activate () "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / '/ / määritellään kaksi muuttujaa hallita rivi ja sarake "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / Dim rivi As Integer = 1 Dim sarake As Integer = 1 '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / '/ / Asetimme mukaisesti sarakeotsikot "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / objHojaExcel.Range ("A1"). Valitse () Jokaisen ks ds.Tables (0). Pylväät objHojaExcel.Range (ColumnName (sarake) ja 1). Arvo = dc.ColumnName sarake + = 1 Seuraava rivi + = 1 "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / '/ / Me muotoilla otsikot rivi "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / Dim Kuten Excel.Range = objHojaExcel.Range objRango ("A1:" & ColumnName (ds.Tables (0). Columns.Count) & "1") objRango.Font . Lihavoitu = 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 = '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / '/ / Lataa kaikki rivit datatable' / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / ProgressBar1.Maximum = ds.Tables (0). Rows.Count ProgressBar1.Value sarake = 1 = 0 Kunkin DR ds.Tables (0). Rivit sarake = 1 Kullakin DC In ds.Tables (0). Pylväät objHojaExcel.Range (ColumnName (sarake) ja rivi). arvo = tri (dc.ColumnName) sarake + = 1 Seuraava rivi + = 1 + = 1 Next ProgressBar1.Value '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / '/ / Me säädä leveyden automaattisesti "/ / kaikkien sarakkeiden käytetty" / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / objRango = objHojaExcel.Range ("A1:" & ColumnName (ds.Tables (0). Columns.Count) ja ds.Tables (0). Rows.Count.ToString) objRango.Select () objRango . Columns.AutoFit () "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / '/ / Kerromme Excel näyttää '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / MsgBox ("Vie Exceliin Complete" , MsgBoxStyle.Information ". :: solovb.net ::.") m_Excel.Visible = True End Sub Public Function ColumnName (ByVal numero As Integer) As String Dim sarake (256) As String sarake (1) = "" kolonniin (2) = "B" pilarin (3) = "C"-kolonnilla (4) = "D" pilarin (5) = "E"-kolonnilla (6) = "F"-kolonnilla (7) = "G"-kolonnilla ( 8) = "H"-kolonnilla (9) = "I"-kolonnilla (10) = "J"-kolonnilla (11) = "K"-kolonnilla (12) = "L"-kolonnilla (13) = "M"-kolonnilla (14) = "N"-kolonnilla (15) = "W"-kolonnilla (16) = "P"-kolonnilla (17) = "Q"-kolonnilla (18) = "R"-kolonnilla (19) = "S"-kolonnilla (20) = " T "-kolonnilla (21) =" U "-kolonnilla (22) =" V "-kolonnilla (23) =" W "-kolonnilla (24) =" X "-kolonnilla (25) =" Y "-kolonnilla (26) =" Z "- kolonniin (27) = "AA"-kolonnilla (28) = "AB"-kolonnilla (29) = "AC"-kolonnilla (30) = "AD"-kolonnilla (31) = "AE"-kolonnilla (32) = "AF"-kolonnilla ( 33) = "AG" Column (34) = "AH" sarakkeessa (35) = "Numero" sarakkeessa (36) = "AJ" sarakkeessa (37) = "AK" sarakkeessa (38) = "TO" sarakkeessa (39) = "PM"-kolonnilla (40) = "NA"-kolonnilla (41) = "AO"-kolonnilla (42) = "AP"-kolonnilla (43) = "AQ"-kolonnilla (44) = "RA"-kolonnilla (45) = " AS "sarake (46) =" AT "-sarakkeessa (47) =" AU "sarakkeessa (48) =" AV "-sarakkeessa (49) =" AW "sarakkeessa (50) =" AX "sarakkeessa (51) =" AY " kolonniin (52) = "AZ"-kolonnilla (53) = "BA"-kolonnilla (54) = "BB"-kolonnilla (55) = "BC"-kolonnilla (56) = "BD"-kolonnilla (57) = "ON"-kolonnilla ( 58) = "BF"-kolonnilla (59) = "BG"-kolonnilla (60) = "BH"-kolonnilla (61) = "BI"-kolonnilla (62) = "BJ"-kolonnilla (63) = "BK"-kolonnilla (64) = "BL"-kolonnilla (65) = "BM"-kolonnilla (66) = "BN"-kolonnilla (67) = "BO"-kolonnilla (68) = "BP"-kolonnilla (69) = "BQ"-kolonnilla (70) = " BR "-sarakkeeseen (71) =" BS "sarakkeessa (72) =" BT "sarakkeessa (73) =" BU "sarakkeessa (74) =" BV "sarakkeessa (75) =" BW "sarakkeessa (76) =" BX " kolonniin (77) = "" sarakkeen (78) = "BZ" sarakkeeseen (79) = "CA" sarakkeeseen (80) = "CB"-kolonnilla (81) = "CC"-kolonnilla (82) = "CD"-kolonnilla ( 83) = "CE"-kolonnilla (84) = "CF"-kolonnilla (85) = "CG"-kolonnilla (86) = "CH" sarakkeeseen (87) = "Cl"-kolonnilla (88) = "CJ"-kolonnilla (89) = "CK"-kolonnilla (90) = "CL"-kolonnilla (91) = "CM"-kolonnilla (92) = "CN"-kolonnilla (93) = "CO"-kolonnilla (94) = "CP"-kolonnilla (95) = " CQ "sarake (96) =" CR "sarakkeessa (97) =" CS "sarakkeessa (98) =" TT "sarakkeessa (99) =" CU "sarake (100) =" CV "-sarake (101) =" CW " kolonniin (102) = "CX" sarakkeeseen (103) = "CY"-kolonnilla (104) = "CZ"-kolonnilla (105) = "DA"-kolonnilla (106) = "TE"-kolonnilla (107) = "DC"-kolonnilla ( 108) = "DD" sarake (109) = "DE"-sarake (110) = "DF" sarake (111) = "DG" sarake (112) = "DH"-sarake (113) = "ID"-sarake (114) = "DJ"-sarake (115) = "DK" sarake (116) = "DL" sarake (117) = "DM" sarake (118) = "DN"-sarake (119) = "DO" sarake (120) = " DP "-kolonnilla (121) =" hylätty "-kolonnilla (122) =" DR "sarakkeeseen (123) =" DS "-kolonnilla (124) =" DT "-kolonnilla (125) =" DU "-kolonnilla (126) =" DV " kolonniin (127) = "DW" sarakkeeseen (128) = "DX" sarakkeeseen (129) = "DY" sarakkeeseen (130) = "DZ" sarakkeeseen (131) = "EA"-kolonnilla (132) = "EB"-kolonnilla ( 133) = "N"-kolonnilla (134) = "ED"-kolonnilla (135) = "EE"-kolonnilla (136) = "EF"-kolonnilla (137) = "EG"-kolonnilla (138) = "EH"-kolonnilla (139) = "EI"-sarake (140) = "EJ" sarake (141) = "EK" sarake (142) = "EL"-sarake (143) = "MS"-sarake (144) = "IN"-sarake (145) = " EO "sarake (146) =" EP "-sarake (147) =" EQ "-sarake (148) =" ER "sarake (149) =" ES "sarake (150) =" ET "-sarake (151) =" EU " sarake (152) = "EV" sarake (153) = "EW" sarake (154) = "EX"-sarake (155) = "EY"-sarake (156) = "EZ" sarake (157) = "FA" sarakkeeseen ( 158) = "FB" sarake (159) = "FC" sarake (160) = "FD" sarake (161) = "FE" sarake (162) = "FF"-sarake (163) = "FG" sarake (164) = "FH" sarake (165) = "FI" sarake (166) = "FJ" sarake (167) = "FK" sarake (168) = "FL" sarake (169) = "FM"-sarake (170) = " FN "-sarake (171) =" FO "sarake (172) =" FP "sarake (173) =" CF "sarake (174) =" FR "-sarake (175) =" FS "-sarake (176) =" FT " sarake (177) = "FU"-sarake (178) = "FV" sarake (179) = "FW" sarake (180) = "FX"-sarake (181) = "FY" sarake (182) = "FZ" sarakkeeseen ( 183) = "GA"-sarake (184) = "GB" sarake (185) = "GC"-sarake (186) = "GD" sarake (187) = "GE"-sarake (188) = "GF" sarake (189) = "GG" sarake (190) = "GH" sarake (191) = "GI"-sarake (192) = "GJ" sarake (193) = "GK" sarake (194) = "GL" sarake (195) = " GM "sarake (196) =" GN "sarake (197) =" Go "-sarake (198) =" GP "-sarake (199) =" GQ "-sarake (200) =" GR "sarake (201) =" GS " kolonniin (202) = "GT" sarakkeeseen (203) = "GU" sarakkeeseen (204) = "GV" sarakkeeseen (205) = "GW" sarakkeeseen (206) = "GX"-kolonnilla (207) = "GY"-kolonnilla ( 208) = "GZ"-kolonnilla (209) = "HA"-kolonnilla (210) = "HB"-kolonnilla (211) = "HC"-kolonnilla (212) = "HD"-kolonnilla (213) = "hän" sarakkeeseen (214) = "HF" sarake (215) = "HG" sarake (216) = "HH"-sarake (217) = "HI"-sarake (218) = "HJ" sarake (219) = "HK" sarake (220) = " HL "sarake (221) =" HM "sarake (222) =" HN "sarake (223) =" HO "sarake (224) =" HP "sarake (225) =" HQ "-sarake (226) =" HR " sarake (227) = "HS" sarake (228) = "HT"-sarake (229) = "HU" sarake (230) = "HV" sarake (231) = "HW" sarake (232) = "H"-sarakkeeseen ( 233) = "HY"-kolonnilla (234) = "Hz"-kolonnilla (235) = "IA"-kolonnilla (236) = "IB"-kolonnilla (237) = "IC"-kolonnilla (238) = "ID"-kolonnilla (239) = "IE"-sarake (240) = "JOS" sarake (241) = "IG" sarake (242) = "IH" sarake (243) = "II"-sarakkeessa (244) = "IJ" sarake (245) = " IK "sarake (246) =" IL "sarake (247) =" IM "sarake (248) =" IN "-sarake (249) =" IO "sarake (250) =" IP "-sarake (251) =" IQ " sarake (252) = "R"-sarake (253) = "ON"-sarake (254) = "IT"-sarake (255) = "UI" sarake (256) = "IV" Return sarake (numero) End Function End Class 

Tämä menetelmä on palvellut minua hyvin, ja toivottavasti teet niin ... jätä kommentteja.

34 Responses to "Automaattisesti Vie DataTable Microsoft Excel"

  1. Bitacoras.com sanoo:

    Tiedot Bitacoras.com ...

    Rate in Bitacoras.com: Hei, Tänään haluan näyttää esimerkin, joka on palvellut minua jo pitkään mutta en silti käyttää sitä. Teemme esimerkiksi viedä DataTable Exceliin täysin riippumatta sarakkeiden tai rivien Teng .....

    • Carlos Linares sanoo:

      Hyvä ...

      Erinomainen artikkeli! Kiitos auttoi täynnä, mutta minulla on epäilyksiä .. Koska yhteys on SQL .. Miten nimeän sarakkeet!? Koska tuo nimi alojen sql ..!

      Toivon ja olen ymmärtänyt ..

      Kiitos!

  2. Denko sanoo:

    Aion pelastaa ...
    jossain vaiheessa se olisi hyödyllinen ...

  3. Victor sanoo:

    Onko voimassa Excel 2007? Minulla on ollut ongelmia vienti kehittää, että se on voimassa aiemmissa versioissa, mutta ei 2007. Kiitos

  4. Johannes sanoo:

    Valtavasti lähdekoodia. palvellut minua hyvin. q se oli pahasti myöhässä.

  5. Johannes sanoo:

    Vaikka myös ecxel tuonnin arvotaulukon. mutta voisi olla ympäristön ja DataGrid ja sitten päivittää DataAdapter ja hyväksyä muutokset datatable olisi tallentaa q bd ... Toivottavasti voin auttaa tai löytää .. kiitos

  6. jose sanoo:

    Hei Kiitos! tämä erinomainen!
    Mutta ihmettelen, jos DataGrid täsmennetään, että käytetty tapauksessa, jotka ovat useita Datagrid?

    • Carlos Linares sanoo:

      Pöydällä olet puhelun ...

      select * from (taulukko nimi)

      Jos haluat määrittää, mitkä kentät haluat

      Valitse (kentät, kentät, kentät) * taulukosta
      ejm
      valitse auto, väri, vuoden auto

  7. Beto sanoi:

    Minulla on ongelma tämän esimerkin teen 2 virheitä muuttujien p ja dr, voin korjata sen?

    • Elisa sanoo:

      Hei, kokeile tätä:
      Jokaisen dr Kuten DataRow In ds.Tables (0). Rivit ja DataColumn Jokaisen ks ds.Tables kuin (0). Sarakkeet

      Toivon, että tämä on ratkaistu. Tervehdys.

  8. Jason sanoo:

    Hola.
    Tämän chevere, mutta osa sarakkeen nimi ei ole kovin toimiva.
    Minä ladata blogiini paljon pienempi koodia kokorajoitukset ja ilman

    jaysson.blogspot.com

  9. Rodrigo sanoo:

    Hyvä artikkeli, mutta minulla on ongelma minun tietokone Excel 2007 toimii ongelmitta, mutta tietokoneiden kanssa Excel 2003 tai vanhempi ei toimi. Jokainen tietää, jos ongelma kirjastojen jotka tuodaan, koska et mikä tarkoittaa, että töitä mistään excel, mutta olen törmännyt tähän ongelmaan.

    Katsotaanpa, jos joku voi ratkaista epäilystäkään.
    Kiitos.

  10. Carlos Linares sanoo:

    Hyvä ...

    Erinomainen artikkeli! Kiitos auttoi täynnä, mutta minulla on epäilyksiä .. Koska yhteys on SQL .. Miten nimeän sarakkeet!? Koska tuo nimi alojen sql ..!

    Toivon ja olen ymmärtänyt ..

    Kiitos!

  11. Alexander sanoo:

    Public Sub ExportarDatosExcel (ByVal DataGridView1 Kuten DataGridView, ByVal nimi As String)
    Kuten New Excel.Application Dim m_Excel
    m_Excel.Cursor = Excel.XlMousePointer.xlWait
    m_Excel.Visible = True
    Koska Excel.Workbook Dim objLibroExcel = m_Excel.Workbooks.Add
    Koska Excel.Worksheet Dim objHojaExcel = objLibroExcel.Worksheets (1)
    Kun objHojaExcel
    . Visible = Excel.XlSheetVisibility.xlSheetVisible
    . Aktivoi ()
    "Header
    . Range ("A1: L1"). Yhdistä ()
    . Range ("A1: L1"). Value = "instituutti ARGENCAF"
    . Range ("A1: L1"). Font.Bold = True
    . Range ("A1: L1"). Font.Size = 15
    "Tupsu
    . Range ("A2: L2"). Yhdistä ()
    . Range ("A2: L2"). Arvo = title
    . Range ("A2: L2"). Font.Bold = True
    . Range ("A2: L2"). Font.Size = 12

    Const primeraLetra Koska Char = ""
    Int firstNumber lyhyinä = 3
    Dim kirjeen Char-Char Kuten UltimaLetra
    Dim numero As Integer, UltimoNumero As Integer
    Dim Kuten Byte = Asc cod_letra (primeraLetra) - 1
    Dim As String = Application.CurrentCulture.NumberFormat.NumberDecimalSeparator sepDec
    Dim As String = Application.CurrentCulture.NumberFormat.NumberGroupSeparator sepMil
    "Aseta muoto sarakkeita tyttären laskennan
    StrColumna Dim As String = ""
    LetraIzq Dim As String = ""
    Dim Kuten Byte = Asc cod_LetraIzq (primeraLetra) - 1
    Letter = primeraLetra
    Number = firstNumber
    Koska Excel.Range Dim objCelda
    Jokaisesta C DataGridViewColumn In DataGridView1.Columns
    Sitten jos c.Visible
    Jos Letter = "Z" Sitten
    Letter = primeraLetra
    cod_letra = Asc (primeraLetra)
    cod_LetraIzq + = 1
    LetraIzq = Chr (cod_LetraIzq)
    Muu
    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
    Jos c.ValueType Onko GetType (kymmenjärjestelmä) OrElse c.ValueType Onko GetType (Double) sitten
    objCelda.EntireColumn.NumberFormat = "#" + sepMil + "0" + sepDec + "00"
    End If
    End If
    Seuraava

    Koska Excel.Range Dim objRangoEncab =. Range (primeraLetra + Numero.ToString, LetraIzq + Lyrics + Numero.ToString)
    objRangoEncab.BorderAround (1, Excel.XlBorderWeight.xlMedium)
    UltimaLetra = Lähetä
    Dim As String = LetraIzq UltimaLetraIzq

    "LOAD DATA
    Dim i As Integer = numero + 1

    Mukaisesti kullekin luettelossa DataGridViewRow DataGridView1.Rows
    LetraIzq = "'
    cod_LetraIzq = Asc (primeraLetra) - 1
    Letter = primeraLetra
    cod_letra = Asc (primeraLetra) - 1
    Jokaisesta C DataGridViewColumn In DataGridView1.Columns
    Sitten jos c.Visible
    Jos Letter = "Z" Sitten
    Letter = primeraLetra
    cod_letra = Asc (primeraLetra)
    cod_LetraIzq + = 1
    LetraIzq = Chr (cod_LetraIzq)
    Muu
    cod_letra + = 1
    Letter = Chr (cod_letra)
    End If
    strColumna = LetraIzq + Lyrics
    "Täällä pitäisi olla kuormaa
    . Cells (i, strColumna) = IIf (IsDBNull (reg.ToString), "", reg.Cells (c.Index). Arvo)
    ". Cells (i, strColumna) = IIf (IsDBNull (norm. (c.DataPropertyName)), c.DefaultCellStyle.NullValue, reg (c.DataPropertyName))
    ". Alue (strColumna + i, strColumna + i). In ()

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

    "Piirrä riviä sarakkeiden
    LetraIzq = "'
    cod_LetraIzq = Asc ("")
    cod_letra = Asc (primeraLetra)
    Letter = primeraLetra
    Jokaisesta C DataGridViewColumn In DataGridView1.Columns
    Sitten jos c.Visible
    objCelda. = Range (LetraIzq + Lyrics + primerNumero.ToString, LetraIzq + Lyrics + (UltimoNumero - 1). toString)
    objCelda.BorderAround ()
    Jos Letter = "Z" Sitten
    Letter = primeraLetra
    cod_letra = Asc (primeraLetra)
    LetraIzq = Chr (cod_LetraIzq)
    cod_LetraIzq + = 1
    Muu
    cod_letra + = 1
    Letter = Chr (cod_letra)
    End If
    End If
    Seuraava

    "Piirrä paksu ulompi rajan
    Kuten Excel.Range dim objRango =. Alue (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 lähettäjälle System.Object, ByVal e Kuten System.EventArgs) Kahvat ToolStripButton2.Click
    ExportarDatosExcel (DataGridView1 "export")
    End Sub

  12. JuanPeople sanoo:

    EXCELLENT! .... kiitos veli, ja otti 3 päivää moduuli vienti / tuonti Excelin ja mikään ei toiminut .... mutta oma ratkaisusi näen taas tähdet ... Terveisiä Arequipa!: ..

  13. TECKNOCK sanoo:

    Tämä koodi auttoi minua paljon, joten yhteistyötä minun kaksi senttiä:

    On optimoitu "ColumnName" saapuvat ahsta ZZ kolonnin (702 et ai.)

    Nyt saatte koodi:

    Public Function ColumnName (ByVal numero As Integer) As String
    Dim kolonnin (703) Koska merkkijono

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

    Dim i = 27
    For Ltr1 = 1 To 26
    For Ltr2 = 1 To 26
    kolonniin (i) = kolonnin (Ltr1)-kolonnin (Ltr2)
    i + = 1
    Seuraava
    Seuraava

    Return sarake (numero)
    End Function

    • Elisa sanoo:

      TECKNOCK, kiitos paljon avusta!, Mutta pitää muistaa, että jos kirja luomme on yhteensopiva Excel 97-2003 suurin sarakkeita sallittu on 256 (IV). Aivan kuten kommentin ottamaan tämän huomioon.

      Elisha

  14. raysip sanoo:

    Kun ajaa paikallisesti funcioana oikein, mutta kun en lataa se sivusto ei tuota excel, mutta eivät saa virhettä

  15. Aderson sanoo:

    Etsin haciend maadoitettu my sql

    pidä tein mutta teen aja

  16. Paavali sanoo:

    Tarvitsen apua yrittää tehdä sen kaikin tavoin olette täällä ja saan virheilmoituksen kaikki

  17. Johannes sanoo:

    Hand, olet täydellinen funca maksimi.

  18. Neji sanoo:

    erittäin hyvä, onnittelut ovat parhaiten post Olen lukenut ja kuullut

  19. Patricia sanoo:

    Kiitos! Se oli erittäin hyödyllinen

  20. f.delgado sanoo:

    Hei koodi ei toimi minulle merkitsee da.Fill virheitä (ds)

    Minä merkitse virhettä ei löytynyt SQLException

    Voitteko auttaa minua

  21. JAV sanoo:

    yksi kysymys voi tehdä suoraan lastaus sql kyselyn Exceliin?

    etukäteen läpi

  22. Delfino Morales sanoo:

    Hei ystävät ensinnäkin sinun agradesco vastauksenne.
    Huomaa, että minulla on ongelma, en löydä viittausta osoitat, olen asentanut Office 2010 ja jota ei ole minun ongelmani.
    agradeseria joitakin neuvoja sinulle.

  23. America sanoo:

    Hei, erittäin hyvä panos on mitä olin etsimässä ... mutta kun ajaa sen kehittämisestä palvelin toimii täydellisesti, mutta kun pääsen web toisesta tietokoneesta ei mitään ... ei virhettä, mutta ei tallenna mitään ...

    Jokainen tietää miten korjata sen?

  24. Azofeifa Hernan sanoo:

    Paljon kiitoksia, auttoi minulle esimerkiksi perusta tuottaa funktion, joka tuottaa minulle Excel-tiedoston, mutta suoraan arvoista tallennetaan verkkoon on mitä dejor asia on hyötyä jollekulle

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / Asetimme mukaisesti sarakeotsikot
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    objHojaExcel.Range ("A1"). Valitse ()
    Dim I As Integer = 0
    Lncol Dim As Integer = 1
    Jokaisen ks dgvSocios.Columns

    Jos dgvSocios.Columns.Item (I). Visible = True sitten
    objHojaExcel.Range (ColumnName (lncol)-1). arvo = dgvSocios.Columns.Item (I). HeaderText
    lncol + = 1
    End If
    I + = 1
    Seuraava
    rivi + = 1

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / Me muotoilla rivin otsikot
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    Koska Excel.Range Dim objRango = objHojaExcel.Range ("A1:" & 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

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / Lataa kaikki rivit datatable
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    ProgressBar1.Maximum = dgvSocios.Rows.Count
    sarake = 0
    ProgressBar1.Value = 0
    ProgressBar1.Visible = True
    Lnfila Dim As Integer = 0
    I = 1
    Kunkin DR dgvSocios.Rows
    sarake = 0

    Jokaisen ks dgvSocios.Columns
    Jos dgvSocios.Columns.Item (sarake). Visible = True sitten
    objHojaExcel.Range (ColumnName (I) ja rivi). Arvo = dgvSocios.Item (sarake, lnfila). Value.ToString
    I + = 1
    End If
    sarake + = 1
    Seuraava
    lnfila + = 1
    rivi + = 1
    ProgressBar1.Value + = 1
    Seuraava

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / Me säädä leveyden automaattisesti
    '/ / Alkaen kaikki pylväät käytetty
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    objRango = objHojaExcel.Range ("A1:" & ColumnName (lncol) & (lnfila + 1). toString)
    objRango.Select ()
    objRango.Columns.AutoFit ()

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / Kerromme Excel näyttää
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    MsgBox ("Vie Exceliin Complete", MsgBoxStyle.Information ". :: Solovb.net ::.")
    m_Excel.Visible = True

  25. Pako sanoo:

    Tuo hieman tätä toimintoa, seuraava koodi estää käyttämällä "Range" jotta ei edellytä toiminto "ColumnName"

    Terveisin,

    Tuonti System.Data
    Tuonti System.Data.SqlClient
    Tuonti Microsoft.Office.Interop.Excel
    Public Module mutil
    Public Sub ExportarDtToExcel (ByVal Dt Kuten System.Data.DataTable, ByVal nimi As String)
    Koska Excel.Application Dim m_Excel
    Koska Excel.Workbook Dim objLibroExcel
    Kuten Taulukon Dim objHojaExcel
    Yrittää
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / Luo Excel-objektin
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    m_Excel = CreateObject ("Excel.Application")
    m_Excel.Workbooks.Add objLibroExcel = ()
    objHojaExcel = objLibroExcel.Worksheets (1)
    objHojaExcel.Name = Title
    objHojaExcel.Visible = Excel.XlSheetVisibility.xlSheetVisible
    objHojaExcel.Activate ()

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / Määrittävät kaksi muuttujaa kontrolloida rivi-ja sarakeosoiterekistereihin
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    Dim rivi As Integer = 1
    Dim sarake As Integer = 1

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / Asetimme mukaisesti sarakeotsikot
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    "ObjHojaExcel.Range (" A1 "). Valitse ()

    objHojaExcel.Cells (rivi, sarake). Valitse ()
    Jokaisen ks Dt.Columns
    objHojaExcel.Cells (rivi, sarake). Arvo = dc.ColumnName
    sarake + = 1
    Seuraava
    rivi + = 1

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / Me muotoilla rivin otsikot
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    Kuten 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

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / Lataa kaikki rivit datatable
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /

    sarake = 1

    Kunkin DR Dt.Rows
    sarake = 1
    Jokaisen ks Dt.Columns
    objHojaExcel.Cells (rivi, sarake). Arvo = dr (dc.ColumnName)
    sarake + = 1
    Seuraava
    rivi + = 1

    Seuraava

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / Me säädä leveyden automaattisesti
    '/ / Alkaen kaikki pylväät käytetty
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    objHojaExcel.Cells objRango = (1, Dt.Columns.Count)
    objRango.Select ()
    objRango.Columns.AutoFit ()

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / Kerromme Excel näyttää
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    MsgBox ("Vie Exceliin Complete" MsgBoxStyle.Information, "Export")
    m_Excel.Visible = True

    Catch ex Koska poikkeus

    MsgBox (ex.ToString)

    Vihdoin

    objHojaExcel = Nothing
    objLibroExcel = Nothing
    m_Excel = Nothing

    Lopeta Kokeile
    End Sub

    End Module

  26. Pamela sanoo:

    joku ystävällisesti selittää nouseva progress1?

Kommentti