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:

Importovat odkaz na 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:

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.
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 .....
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!
Chystám se zachránit ...
v určitém okamžiku to bude užitečné ...
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
Vynikajícím zdrojem kód. sloužila mi dobře. q to bylo dávno.
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
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?
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
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?
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.
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
připraven a vystoupil na článek
http://jaysson.blogspot.com/2010/06/columnas-es-excel.html
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.
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!
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
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:! ..
Není zač. Jsem rád, že sloužila jako příklad.
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
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
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
Hledám haciend UZEMNĚNÉ k mému sql
ne jako jsem dělal, ale budu dělat aja
Potřebuji pomoc se snaží udělat každý způsob, jakým se zde a já si všechny chyby
Ruční, jste perfektní funca maximum.
[...] [...]
velmi dobrá, jsou v nejlepším gratulujeme příspěvek jsem četla a konzultovala
Děkuji vám! Bylo to velmi užitečné
Hej kód nefunguje na mě znamená da.Fill chyby (ds)
Já označit chybu nebyl nalezen SQLException
můžete mi pomoci
jedna otázka může přijít do přímého zatížení sql dotaz vyniknout?
předem díky
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.
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?
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
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