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:

Uvoz referencu za Excel

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

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.
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 .....
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!
Idem za spremanje ...
u nekom trenutku to će biti koristan ...
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
Strašan izvorni kod. me dobro služio. q je to odavno.
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
Hi Puno hvala! ovo izvrsno!
No, pitam se gdje je DataGrid navodi da se u slučaju koji su nekoliko DataGrid?
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
Imam problem sa ovom primjeru sam napraviti 2 pogreške u varijablama dc i dr., ja mogu učiniti da to popraviti?
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.
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
spremni i ode u članku
http://jaysson.blogspot.com/2010/06/columnas-es-excel.html
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.
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!
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
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! ..
Nema na čemu. Drago mi je da služi kao primjer.
Pozdrav izgovor za izlazećeg progressBar1? ali ja sam pokušava učiniti u tom dijelu blokie
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
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
Kad sam pokrenuti lokalnu primjenu funcioana ispravno, ali kad sam ga upload na web stranici ne stvara Excel, ali ne dobijete pogrešku
Ja sam obličje haciend Temeljena na moj SQL
ne kao i radi, ali ja ću Aja
Trebam pomoć pokušati učiniti svaki put ste ovdje i ja dobiti greška sve
S druge strane, ti si savršen funca maksimum.
[...] [...]
jako dobro, čestitam su u najboljem mjestu sam čitati i konzultirati
Hvala! To je vrlo korisno
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
jedno pitanje može izravno učitava sql upit za Excel?
unaprijed kroz
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.
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?
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
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
netko molim vas objasniti diže progress1?