Tự động xuất khẩu Microsoft Excel DataTable

Hôm nay tôi muốn hiển thị một ví dụ đã phục vụ trong một thời gian dài và tôi vẫn còn sử dụng nó.
Chúng tôi sẽ làm một ví dụ xuất khẩu một DataTable Excel đầy đủ bất kể số lượng các cột hoặc các hàng mà có.

Có thể có nhiều cách để làm điều này, nhưng tôi tìm thấy nó thực sự hữu ích kể từ khi phương pháp này làm việc cho bất kỳ phiên bản của Excel. Đối với các vấn đề compatilidad với các phiên bản mới hơn của Excel chỉ xử lý 256 cột.

Điều đầu tiên chúng ta cần là thêm một tham chiếu đến Microsoft.Office.Interop.Excel và chúng ta làm như sau:

Importar referencia a Excel

Nhập khẩu tài liệu tham khảo để Excel

Importar referencia Excel

Nhập khẩu Excel tài liệu tham khảo

Sau đó, chúng ta cần một hình thức, một nút, DataGridViewthanh tiến trình. Chúng ta có thể có như đã thấy trong hình ảnh:

Formulario aplicación para exportar dataset a excel

Ứng dụng hình thức xuất khẩu số liệu để excel

Bây giờ tôi muốn hiển thị tất cả các mã thực sựđơn giản, điều quan trọng nhất thích nghi với bất kỳ bảng. Bạn sẽ có thể tái sử dụng mà không có vấn đề.

 Nhập khẩu System.Data Dịch Lớp Công System.Data.SqlClient Form1 nhập khẩu các ds Microsoft.Office.Interop tư nhân Như New DataSet Private Sub Form1_Load (người gửi ByVal Như System.Object, ByVal e Như System.EventArgs) Handles MyBase.Load / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / '/ / Tạo kết nối và điền vào DataGridView '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / Dim cnn Như SqlConnection New ("Data Source = localhost \ SQLEXPRESS; Initial Catalog = Northwind; an ninh tích hợp = True") Dim da Như New SqlDataAdapter ("Select * từ khách hàng", cnn) cho. Điền (ds) DataGridView1.DataSource = ds.Tables (0) End Sub Private Sub btnExportar_Click (ByVal sender As System.Object, ByVal e Như System.EventArgs) Handles btnExportar.Click / / / / / / / / / / / / / / / / / / / / / / / / / / / / / '/ / Tạo đối tượng Excel / / / / / / / / / / / / / / / / / / / / / / / / / / / / / m_Excel objLibroExcel Dim Dim Dim objHojaExcel m_Excel = CreateObject ("Excel.Application") m_Excel.Workbooks.Add objLibroExcel = () = objLibroExcel.Worksheets objHojaExcel (1) objHojaExcel.Name = "Khách hàng" objHojaExcel.Visible = Excel . XlSheetVisibility.xlSheetVisible objHojaExcel.Activate () '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / '/ / định nghĩa hai biến để kiểm soát hàng và cột' / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / Dim hàng Như Integer = 1 cột Dim As Integer = 1 '/. / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / '/ / Chúng tôi thiết lập phù hợp với các tiêu đề cột '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / objHojaExcel.Range ("A1"). Chọn () Đối với mỗi dc Trong ds.Tables (0). Cột objHojaExcel.Range (ColumnName (cột) & 1). Value = dc.ColumnName cột + = 1 Tiếp theo hàng + = 1 '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / '/ / Chúng tôi định dạng dòng tiêu đề' / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / Dim Như Excel.Range = objHojaExcel.Range objRango ("A1:" & ColumnName (ds.Tables (0) Columns.Count) & "1") objRango.Font Bold = Đúng 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 tất cả các hàng trong DataTable / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / ProgressBar1.Maximum = ds.Tables (0). Rows.Count ProgressBar1.Value cột = 1 = 0 Mỗi cột Hàng dr Trong ds.Tables (0) = 1 Đối với mỗi dc Trong ds.Tables (0). Cột objHojaExcel.Range (ColumnName (cột) và hàng). Giá trị = dr (dc.ColumnName), cột + = 1 hàng + = 1 + = 1 Tiếp ProgressBar1.Value '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / '/ / Chúng tôi điều chỉnh độ rộng tự động cho tất cả các cột được sử dụng' / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / objRango = objHojaExcel.Range ("A1:" các & ColumnName (ds.Tables (0) Columns.Count) & ds.Tables (0) Rows.Count.ToString) objRango.Select () objRango Columns.AutoFit (.) '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /' / / Chúng tôi nói với Excel để hiển thị '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / MsgBox ("Xuất khẩu sang Excel Hoàn thành" , MsgBoxStyle.Information, ":: solovb.net. ::.") m_Excel.Visible = True End Sub Chức năng ColumnName (ByVal số As Integer) Như cột chuỗi Dim (256) cột dây (1) = "A" cột (2) = "B" trụ cột (3) = "C" cột (4) = "D" trụ cột (5) = "E" cột (6) = "F" cột (7) = "G" cột ( 8) = "H" cột (9) = "I" cột (10) = "J" cột (11) = "K" cột (12) = "L" cột (13) = "M" cột (14) = "N" cột (15) = "W" cột (16) = "P" cột (17) = "Q" cột (18) = "R" cột (19) = "S" cột (20) = " T "cột (21) =" U "cột (22) = cột" V "(23) =" W "cột (24) =" X "cột (25) =" Y "cột (26) =" Z " cột (27) = "AA" cột (28) = "AB" cột (29) = "AC" cột (30) = "AD" cột (31) = "AE" cột (32) = "AF" cột ( 33) = "AG" Cột (34) = cột "AH" (35) = "Số" cột (36) = "AJ" cột (37) = "AK" cột (38) = "TO" cột (39) = "AM" cột (40) = cột "NA" (41) = cột "chất độc da cam" (42) = "AP" cột (43) = "AQ" cột (44) = "RA" cột (45) = " AS "cột (46) =" AT "cột (47) =" AU "cột (48) =" AV "cột (49) =" AW "cột (50) =" AX "cột (51) =" AY " cột (52) = "AZ" cột (53) = "BA" cột (54) = "BB" cột (55) = "BC" cột (56) = "BD" cột (57) = "KHÔNG" cột ( 58) = "BF" cột (59) = "BG" cột (60) = "BH" cột (61) = "BI" cột (62) = "BJ" cột (63) = "BK" cột (64) = "BL" cột (65) = "BM" cột (66) = "BN" cột (67) = "BO" cột (68) = cột "BP" (69) = "BQ" cột (70) = " BR "cột (71) =" BS "cột (72) = cột" BT "(73) =" BU "cột (74) =" BV "cột (75) =" BW "cột (76) =" BX " cột (77) = "bởi" cột (78) = "BZ" cột (79) = "CA" cột (80) = "CB" cột (81) = cột "CC" (82) = "CD" cột ( 83) = "CE" cột (84) = "CF" cột (85) = "CG" cột (86) = "CH" cột (87) = "CI" cột (88) = "CJ" cột (89) = "CK" cột (90) = "CL" cột (91) = "CM" cột (92) = "CN" cột (93) = "CO" cột (94) = "CP" cột (95) = " CQ "cột (96) =" CR "cột (97) = cột" CS "(98) =" CT "cột (99) =" CU "cột (100) =" CV "cột (101) =" CW " cột (102) = "CX" cột (103) = "CY" cột (104) = "CZ" cột (105) = "DA" cột (106) = "DB" cột (107) = "DC" cột ( 108) = "DD" cột (109) = "DE" cột (110) = "DF" cột (111) = "DG" cột (112) = "DH" cột (113) = "ID" cột (114) = "DJ" cột (115) = "DK" cột (116) = "DL" cột (117) = "DM" cột (118) = "DN" cột (119) = "DO" cột (120) = " DP "cột (121) =" DQ "cột (122) =" DR "cột (123) =" DS "cột (124) =" DT "cột (125) =" DU "cột (126) =" DV " cột (127) = "DW" cột (128) = "DX" cột (129) = "DY" cột (130) = "DZ" cột (131) = "EA" cột (132) = "EB" cột ( 133) = "EC" cột (134) = "ED" cột (135) = "EE" cột (136) = "EF" cột (137) = "EG" cột (138) = "EH" cột (139) = "EI" cột (140) = "EJ" cột (141) = "EK" cột (142) = "EL" cột (143) = "MS" cột (144) = "IN" cột (145) = " EO "cột (146) =" EP "cột (147) =" EQ "cột (148) = cột" ER "(149) =" ES "cột (150) =" ET "cột (151) =" EU " cột (152) = "EV" cột (153) = "EW" cột (154) = "EX" cột (155) = "EY" cột (156) = "EZ" cột (157) = "FA" cột ( 158) = "FB" cột (159) = "FC" cột (160) = "FD" cột (161) = "FE" cột (162) = "FF" cột (163) = "FG" cột (164) = "FH" cột (165) = "FI" cột (166) = "FJ" cột (167) = "FK" cột (168) = "FL" cột (169) = cột "FM" (170) = " FN "cột (171) =" FO "cột (172) =" FP "cột (173) =" CF "cột (174) =" FR "cột (175) =" FS "cột (176) =" FT " cột (177) = "FU" cột (178) = "FV" cột (179) = "FW" cột (180) = "FX" cột (181) = "năm tài chính" cột (182) = "FZ" cột ( 183) = "GA" cột (184) = "GB" cột (185) = "GC" cột (186) = "GD" cột (187) = "GE" cột (188) = "GF" cột (189) = "GG" cột (190) = "GH" cột (191) = "GI" cột (192) = "GJ" cột (193) = "GK" cột (194) = "GL" cột (195) = " GM "cột (196) =" GN "cột (197) =" GO "cột (198) = cột" GP "(199) =" GQ "cột (200) =" GR "cột (201) =" GS " cột (202) = "GT" cột (203) = "GU" cột (204) = "GV" cột (205) = "GW" cột (206) = "GX" cột (207) = "GY" cột ( 208) = "GZ" cột (209) = "HA" cột (210) = "HB" cột (211) = "HC" cột (212) = cột "HD" (213) = "HE" cột (214) = "HF" cột (215) = "HG" cột (216) = "HH" cột (217) = "HI" cột (218) = "HJ" cột (219) = "HK" cột (220) = " HL "cột (221) =" HM "cột (222) =" HN "cột (223) =" HO "cột (224) =" HP "cột (225) = cột" HQ "(226) =" nhân sự " cột (227) = cột "HS" (228) = "HT" cột (229) = "HU" cột (230) = "HV" cột (231) = "HW" cột (232) = "H" cột ( 233) = "HY" cột (234) = "HZ" cột (235) = "IA" cột (236) = "IB" cột (237) = "IC" cột (238) = cột "ID" (239) = "IE" cột (240) = "IF" cột (241) = "IG" cột (242) = "IH" cột (243) = cột "II" (244) = "IJ" cột (245) = " IK "cột (246) =" IL "cột (247) =" IM "cột (248) =" IN "cột (249) =" IO "cột (250) =" IP "cột (251) =" IQ " cột (252) = "R" cột (253) = "IS" cột (254) = "CNTT" cột (255) = "UI" cột (256) = "IV" Quay trở lại cột (số) End Function End Class 

Phương pháp này đã phục vụ tốt cho tôi và tôi hy vọng bạn làm quá ... xin vui lòng để lại bình luận của bạn.

31 hồi đáp tới "Tự động xuất khẩu DataTable Microsoft Excel"

  1. Thông tin Bitacoras.com ...

    Tỷ lệ trong Bitacoras.com: Hi, Hôm nay tôi muốn hiển thị một ví dụ đã phục vụ trong một thời gian dài và tôi vẫn còn sử dụng nó. Chúng tôi sẽ làm một ví dụ xuất khẩu một DataTable Excel đầy đủ bất kể số lượng các cột hoặc các hàng mà Teng .....

    • Carlos Linares nói:

      Tốt ...

      Tuyệt vời bài! Cảm ơn bạn đã giúp tôi đầy đủ, nhưng tôi có một nghi ngờ .. Khi liên kết với sql .. Làm thế nào để đổi tên các cột! Bởi vì nó mang lại tên của các lĩnh vực sql ..!

      Tôi hy vọng và tôi đã hiểu ..

      Cảm ơn bạn!

  2. DENKO nói:

    Tôi sẽ tiết kiệm ...
    tại một số điểm nó sẽ hữu ích ...

  3. Victor nói:

    Có giá trị trong Excel 2007? Tôi đã có vấn đề với xuất khẩu để phát triển, nó có hợp lệ cho các phiên bản trước đó, nhưng không phải cho năm 2007. Thanks

  4. John nói:

    Mã nguồn to lớn. phục vụ tốt cho tôi. q nó dài quá hạn.

  5. John nói:

    Mặc dù cũng cần ecxel nhập khẩu của một bảng dữ liệu. nhưng có thể là môi trường cho lưới dữ liệu và sau đó cập nhật DataAdapter và chấp nhận thay đổi trong DataTable sẽ được lưu lại trong bd q ... Tôi hy vọng tôi có thể giúp hoặc để tìm .. cảm ơn

  6. jose nói:

    Hi Rất cám ơn! này tuyệt vời!
    Nhưng tôi tự hỏi DataGrid quy định cụ thể được sử dụng trong trường hợp một số DataGrid là ai?

    • Carlos Linares nói:

      Trên bảng bạn đang trên cuộc gọi ...

      chọn * từ (bảng tên)

      Nếu bạn muốn chỉ định các lĩnh vực mà bạn muốn

      chọn (các lĩnh vực, lĩnh vực, lĩnh vực) từ bảng
      ejm
      chọn xe, màu sắc, năm từ xe hơi

  7. beto cho biết:

    Tôi có một vấn đề với ví dụ này tôi thực hiện 2 lỗi trong các biến dc và dr, tôi có thể làm gì để sửa chữa nó?

    • Elisha nói:

      Hi, hãy thử này:
      Đối với Mỗi dr Như DataRow ds.Tables (0). Hàng và DataColumn Mỗi dc Trong ds.Tables (0). Cột

      Tôi hy vọng rằng điều này được giải quyết. Chúc mừng.

  8. Jason nói:

    hola.
    chevere, nhưng một phần của tên cột không phải là rất chức năng.
    Tôi sẽ tải lên blog của tôi nhỏ hơn nhiều mã giới hạn kích thước và không có

    jaysson.blogspot.com

  9. Rodrigo cho biết:

    Bài viết tốt, nhưng tôi có một vấn đề trên máy tính của tôi với Excel 2007 công trình thuận lợi, nhưng với các máy tính với Excel 2003 hoặc sớm hơn không làm việc. Bất cứ ai biết nếu vấn đề của các thư viện được nhập khẩu, kể từ khi bạn ngụ ý rằng làm việc cho bất kỳ excel, nhưng tôi đã gặp phải vấn đề này.

    Hãy xem nếu ai đó có thể giải quyết nghi ngờ.
    Cảm ơn bạn.

  10. Carlos Linares nói:

    Tốt ...

    Tuyệt vời bài! Cảm ơn bạn đã giúp tôi đầy đủ, nhưng tôi có một nghi ngờ .. Khi liên kết với sql .. Làm thế nào để đổi tên các cột! Bởi vì nó mang lại tên của các lĩnh vực sql ..!

    Tôi hy vọng và tôi đã hiểu ..

    Cảm ơn bạn!

  11. Alexander nói:

    Public Sub ExportarDatosExcel (ByVal DataGridView1 là DataGridView tiêu đề ByVal Như String)
    Như Excel.Application Dim m_Excel
    m_Excel.Cursor = Excel.XlMousePointer.xlWait
    m_Excel.Visible = True
    Như Excel.Workbook objLibroExcel Dim = m_Excel.Workbooks.Add
    Như Excel.Worksheet Dim objHojaExcel objLibroExcel.Worksheets (1)
    Với objHojaExcel
    Visible =. Excel.XlSheetVisibility.xlSheetVisible
    Khởi động (.)
    'Đầu đề
    Range ("A1: L1"). Hợp nhất ()
    . Range ("A1: L1") Giá trị = "VIỆN ARGENCAF".
    Range ("A1: L1). Font.Bold = True
    . Range ("A1: L1") Font.Size = 15.
    'Chùm
    Range ("A2: L2"). Hợp nhất ()
    Range ("A2: L2"). Value =
    Range ("A2: L2"). Font.Bold = True
    Range ("A2: L2"). Font.Size = 12

    Const primeraLetra Như Char = "A"
    Const firstNumber Như ngắn = 3
    Dim thư Như Char, Char Như UltimaLetra
    Số Dim Như Integer, UltimoNumero Như Integer
    Dim Như Byte = Asc cod_letra (primeraLetra) - 1
    Dim Như chuỗi sepDec Application.CurrentCulture.NumberFormat.NumberDecimalSeparator
    Dim Như chuỗi sepMil Application.CurrentCulture.NumberFormat.NumberGroupSeparator
    'Thiết lập định dạng của các cột của con gái của tính toán
    StrColumna Dim As String = ""
    LetraIzq Dim As String = ""
    Dim Như Byte = Asc cod_LetraIzq (primeraLetra) - 1
    Thư = primeraLetra
    Số = firstNumber
    Như Excel.Range Dim objCelda
    Đối với mỗi c Như DataGridViewColumn Trong DataGridView1.Columns
    Sau đó, nếu c.Visible
    Nếu Thư = "Z" Sau đó,
    Thư = primeraLetra
    cod_letra = Asc (primeraLetra)
    cod_LetraIzq + = 1
    LetraIzq = Chr (cod_LetraIzq)
    Khác
    cod_letra + = 1
    Thư = Chr (cod_letra)
    Cuối Nếu
    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
    Nếu c.ValueType GetType (thập phân) OrElse c.ValueType GetType (Double) Sau đó
    objCelda.EntireColumn.NumberFormat = "#" + sepMil + "0" + sepDec + "00"
    Cuối Nếu
    Cuối Nếu
    Tiếp theo

    Như Excel.Range Dim objRangoEncab = Range (primeraLetra + Numero.ToString, LetraIzq + Lyrics + Numero.ToString).
    objRangoEncab.BorderAround (1, Excel.XlBorderWeight.xlMedium)
    UltimaLetra = Send
    Dim Như String = LetraIzq UltimaLetraIzq

    'LOAD DATA
    Dim i Như Integer = Số + 1

    Đối với mỗi danh Như DataGridViewRow DataGridView1.Rows
    LetraIzq = ""
    cod_LetraIzq = Asc (primeraLetra) - 1
    Thư = primeraLetra
    cod_letra = Asc (primeraLetra) - 1
    Đối với mỗi c Như DataGridViewColumn Trong DataGridView1.Columns
    Sau đó, nếu c.Visible
    Nếu Thư = "Z" Sau đó,
    Thư = primeraLetra
    cod_letra = Asc (primeraLetra)
    cod_LetraIzq + = 1
    LetraIzq = Chr (cod_LetraIzq)
    Khác
    cod_letra + = 1
    Thư = Chr (cod_letra)
    Cuối Nếu
    strColumna = LetraIzq + Lyrics
    "Ở đây cần là tải
    Cells (i, strColumna) = IIf (IsDBNull (reg.ToString), "", reg.Cells (c.Index). Giá trị gia tăng)
    Cells (i, strColumna) = IIf (IsDBNull (reg. (c.DataPropertyName)), c.DefaultCellStyle.NullValue, reg (c.DataPropertyName))
    'Range (strColumna + i, strColumna + i). ()

    Cuối Nếu
    Tiếp theo
    Như Excel.Range Dim objRangoReg =. Phạm vi (primeraLetra + i.ToString, i.ToString strColumna +)
    objRangoReg.Rows.BorderAround ()
    objRangoReg.Select ()
    i + = 1
    Tiếp theo
    UltimoNumero = I

    "Vẽ đường của các cột
    LetraIzq = ""
    cod_LetraIzq = Asc ("A")
    cod_letra = Asc (primeraLetra)
    Thư = primeraLetra
    Đối với mỗi c Như DataGridViewColumn Trong DataGridView1.Columns
    Sau đó, nếu c.Visible
    . objCelda = Phạm vi (LetraIzq + Lyrics + primerNumero.ToString, LetraIzq + Lyrics + (UltimoNumero - 1) ToString)
    objCelda.BorderAround ()
    Nếu Thư = "Z" Sau đó,
    Thư = primeraLetra
    cod_letra = Asc (primeraLetra)
    LetraIzq = Chr (cod_LetraIzq)
    cod_LetraIzq + = 1
    Khác
    cod_letra + = 1
    Thư = Chr (cod_letra)
    Cuối Nếu
    Cuối Nếu
    Tiếp theo

    'Vẽ dày bên ngoài biên giới
    Như 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)
    Với End

    m_Excel.Cursor = Excel.XlMousePointer.xlDefault
    End Sub

    ToolStripButton2_Click_1 Private Sub (ByVal sender As System.Object, ByVal e Như System.EventArgs) Handles ToolStripButton2.Click
    ExportarDatosExcel (DataGridView1, "xuất khẩu")
    End Sub

  12. JuanPeople nói:

    TUYỆT VỜI! .... nhờ anh em, và mất 3 ngày với một mô-đun cho nhập khẩu / xuất khẩu Excel và không có gì làm việc .... nhưng với giải pháp của bạn, tôi nhìn thấy một lần nữa các ngôi sao ... lời chúc mừng từ Arequipa: ..

  13. TECKNOCK nói:

    Mã này đã giúp tôi rất nhiều, vì vậy tôi hợp tác với hai xu của tôi:

    Tối ưu hóa các "ColumnName" đến ahsta ZZ cột (702 et al.)

    Ở đây tôi cung cấp cho bạn các mã:

    Chức năng ColumnName (ByVal số As Integer) As String
    Dim cột (703) As String

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

    Dim i = 27
    Đối với Ltr1 = 1 - 26
    Đối với Ltr2 = 1 - 26
    cột (i) = cột (Ltr1) các cột (Ltr2)
    i + = 1
    Tiếp theo
    Tiếp theo

    Quay trở lại cột (số)
    Cuối Chức năng

    • Elisha nói:

      TECKNOCK, cảm ơn bạn rất nhiều để giúp đỡ, Nhưng hãy nhớ rằng nếu cuốn sách chúng tôi tạo ra là tương thích với định dạng Excel 97-2003 cột tối đa cho phép là 256 (IV). Cũng giống như một bình luận này vào tài khoản.

      Elisha

  14. raysip nói:

    Khi tôi chạy funcioana ứng dụng địa phương một cách chính xác, nhưng khi tôi tải nó lên trên một trang web không tạo ra excel, nhưng không nhận được lỗi

  15. Aderson nói:

    Tôi đang tìm haciend Một căn cứ sql của tôi

    không giống như tôi đã làm nhưng tôi sẽ làm aja

  16. Paul nói:

    Tôi cần giúp đỡ cố gắng làm mọi cách mà bạn đang ở đây và tôi nhận được lỗi tất cả

  17. JOHN nói:

    Tay, bạn funca hoàn hảo tối đa.

  18. Neji nói:

    rất tốt, xin chúc mừng trong bài tốt nhất Tôi đã đọc và tham khảo ý kiến

  19. Patricia cho biết:

    Cảm ơn bạn! Nó rất hữu ích

  20. f.delgado nói:

    Mã không làm việc trên tôi đánh dấu một lỗi da.Fill (ds)

    Tôi đánh dấu các lỗi không tìm thấy SqlException

    bạn có thể giúp tôi

  21. JAV nói:

    một câu hỏi có thể trực tiếp tải sql truy vấn để nổi trội?

    trước thông qua

  22. Delfino Morales nói:

    xin chào người bạn đầu tiên của tất cả các agradesco khoản đóng góp của bạn.
    Lưu ý rằng tôi có một vấn đề tôi không thể tìm thấy các tài liệu tham khảo cho thấy, tôi đã cài đặt văn phòng năm 2010 và không có thể là vấn đề của tôi.
    agradeseria một số lời khuyên cho bạn.

  23. Mỹ nói:

    Xin chào, đóng góp rất tốt là những gì tôi đang tìm kiếm ... nhưng khi tôi chạy nó từ máy chủ phát triển hoạt động hoàn hảo, nhưng khi tôi truy cập web từ máy tính khác, không có gì ... không có lỗi, nhưng bất cứ điều gì không phải là kỷ lục ...

    Bất cứ ai cũng biết làm thế nào để sửa chữa nó?

  24. Azofeifa Hernan nói:

    Cảm ơn bạn rất nhiều, đã giúp tôi ví dụ của bạn như là một cơ sở để tạo ra một chức năng mà tạo ra cho tôi một tập tin Excel nhưng trực tiếp từ các giá trị được lưu trữ trong một lưới điện là dejor trường hợp là hữu ích cho một người nào đó

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / Chúng tôi thiết lập phù hợp với các tiêu đề cột
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    objHojaExcel.Range ("A1"). Chọn ()
    Dim I As Integer = 0
    Lncol Dim As Integer = 1
    Đối với mỗi dc Trong dgvSocios.Columns

    Nếu dgvSocios.Columns.Item (I). Visible = True Sau đó,
    objHojaExcel.Range (ColumnName (lncol) & 1). Giá trị = dgvSocios.Columns.Item (I). HeaderText
    lncol + = 1
    Cuối Nếu
    I + = 1
    Tiếp theo
    hàng + = 1

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / Chúng tôi định dạng các tiêu đề hàng
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    Như 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.

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    / / Load tất cả các hàng trong DataTable
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    ProgressBar1.Maximum = dgvSocios.Rows.Count
    cột = 0
    ProgressBar1.Value = 0
    ProgressBar1.Visible = True
    Lnfila Dim As Integer = 0
    Tôi = 1
    Đối với mỗi dr Trong dgvSocios.Rows
    cột = 0

    Đối với mỗi dc Trong dgvSocios.Columns
    Nếu dgvSocios.Columns.Item (cột). Visible = True Sau đó,
    objHojaExcel.Range (ColumnName (I) & hàng). Value = dgvSocios.Item (cột, lnfila). Value.ToString
    I + = 1
    Cuối Nếu
    cột + = 1
    Tiếp theo
    lnfila + = 1
    hàng + = 1
    ProgressBar1.Value + = 1
    Tiếp theo

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / Chúng tôi điều chỉnh độ rộng tự động
    / / Từ tất cả các cột được sử dụng
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    objRango = objHojaExcel.Range ("A1:" & ColumnName (lncol) (lnfila + 1) ToString.)
    objRango.Select ()
    objRango.Columns.AutoFit ()

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / Chúng tôi nói với Excel để hiển thị
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    MsgBox ("xuất khẩu để Excel Complete", MsgBoxStyle.Information, ":: Solovb.net. ::.")
    m_Excel.Visible = True

Bình luận