DataTable εξάγονται αυτόματα στο Microsoft Excel

Σήμερα θέλω να δείξω ένα παράδειγμα που με έχει υπηρετήσει για πολύ καιρό και είμαι ακόμα χρησιμοποιώντας.
Θα κάνουμε ένα παράδειγμα για την εξαγωγή ενός DataTable στο Excel πλήρη ανεξάρτητα από τον αριθμό των στηλών ή των γραμμών που έχετε.

Μπορεί να υπάρχουν πολλοί τρόποι να γίνει αυτό, αλλά θεωρώ ότι είναι πραγματικά χρήσιμο δεδομένου ότι αυτή η μέθοδος λειτουργεί για οποιαδήποτε έκδοση του Excel. Για λόγους Compatil με νέες εκδόσεις του Excel χειρίζονται μόνο 256 στήλες.

Το πρώτο πράγμα που χρειαζόμαστε είναι να προστεθεί μια αναφορά στην Microsoft.Office.Interop.Excel και να κάνουμε ως εξής:

Importar referencia a Excel

Αναφορά Εισαγωγή στο Excel

Importar referencia Excel

Εισαγωγή Excel αναφοράς

Στη συνέχεια, χρειαζόμαστε μια φόρμα, ένα κουμπί, ένα DataGridView και μια γραμμή προόδου. Μπορούμε να έχουμε, όπως φαίνεται στην εικόνα:

Formulario aplicación para exportar dataset a excel

Έντυπο αίτησης για την εξαγωγή σύνολο δεδομένων για να υπερέχει

Τώρα θέλω να δείξω όλες τις κώδικας είναι πραγματικά απλή πιο σημαντικό πράγμα είναι ότι προσαρμόζεται σε κάθε τραπέζι. Θα είμαι σε θέση να επαναχρησιμοποιηθούν χωρίς προβλήματα.

 Οι εισαγωγές εισαγωγές System.Data Εισαγωγές System.Data.SqlClient Δημόσια Class Form1 Private DS Microsoft.Office.Interop Όπως DataSet Νέα Private Sub Form1_Load (ByVal αποστολέα Όπως System.Object, ByVal e Όπως System.EventArgs) Πόμολα 'MyBase.Load / / / / /////////////////////////////////////////////// '/ Δημιουργούμε τη σύνδεση και να γεμίσει το DataGridView'////////////////////////////////////////// Dim CNN Όπως Νέα //////// SqlConnection («Πηγή των δεδομένων = localhost \ SQLEXPRESS? Αρχική Κατάλογος = Northwind? Ολοκληρωμένη Ασφάλεια = True") Dim da Όπως Νέα SqlDataAdapter ("* Επιλογή από πελάτες", CNN) δίνει. Συμπληρώστε (DS) DataGridView1.DataSource = ds.Tables (0) End Sub Private Sub btnExportar_Click (ByVal αποστολέα Όπως System.Object, ByVal e Όπως System.EventArgs) Λαβές btnExportar.Click'/////////// / ////////////////// '/ Δημιουργήστε το αντικείμενο του Excel'//////////////////////// Δημ. Δημ. objLibroExcel ///// Δημ. objHojaExcel m_Excel m_Excel = CreateObject ("Excel.Application") m_Excel.Workbooks.Add objLibroExcel = () = objLibroExcel.Worksheets objHojaExcel (1) objHojaExcel.Name = "Πελάτες" objHojaExcel.Visible = Excel . XlSheetVisibility.xlSheetVisible objHojaExcel.Activate ()'//////////////////////////////////////// / ///////////////// '/ ορίσετε δύο μεταβλητές για τον έλεγχο'///////////////////// γραμμή και στήλη //////////////////////////////////// Dim σειρά As Integer = 1 Dim στήλη As Integer = 1 "/ //////////////////////////////////////////////// »/ / Θέτουμε τη γραμμή με τις επικεφαλίδες στήλης'//////////////////////////////////////// ///////// objHojaExcel.Range («Α1»). Επιλέξτε () Για κάθε dc Σε ds.Tables (0). objHojaExcel.Range Στήλες (ColumnName (στήλη) & 1). Value = dc.ColumnName στήλη + = 1 Επόμενη σειρά + = 1'//////////////////////////////////////// «///// / / Εμείς μορφή τους τίτλους γραμμών'//////////////////////////////// Όπως Excel.Range Δημ. objRango ///////////// = objHojaExcel.Range ("A1:". & ColumnName (ds.Tables (0) Columns.Count) & "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 όλες τις γραμμές στο datatable'////////////// //////////////////////////// ProgressBar1.Maximum = ds.Tables (0). Rows.Count ProgressBar1.Value στήλη = 1 = 0 Για κάθε dr Σε ds.Tables (0). Γραμμές στήλη = 1 για κάθε dc Σε ds.Tables (0). Στήλες objHojaExcel.Range (ColumnName (στήλη) και γραμμή). Value = dr (dc.ColumnName) στήλη + = 1 Επόμενη σειρά + = 1 + = 1 Επόμενη ProgressBar1.Value'//////////////////////////////////// / / / / Ορίστε το πλάτος αυτόματα »/ / για όλες τις στήλες που χρησιμοποιούνται'//////////////////////////////// ////// objHojaExcel.Range objRango = ("A1:«.. & ColumnName (ds.Tables (0) Columns.Count) & ds.Tables (0) Rows.Count.ToString) objRango.Select () objRango . Columns.AutoFit ()'///////////////////////////////////// '/ / πείτε '///////////////////////////////////// οθόνη Excel MsgBox ("Εξαγωγή στο Excel Πλήρης" , MsgBoxStyle.Information, "::. solovb.net ::.") m_Excel.Visible = True End Sub Δημόσια ColumnName Function (ByVal αριθμός As Integer) As String Dim στήλη (256) Όπως Στήλη String (1) =" A " Στήλη (2) = "B" στη στήλη (3) = "Γ" στη στήλη (4) = "D" στη στήλη (5) = "E" στη στήλη (6) = "F" στη στήλη (7) = "G" στήλη ( 8) = "Χ" στη στήλη (9) = "Ι" στη στήλη (10) = "J" στη στήλη (11) = "Κ" στη στήλη (12) = "L" στη στήλη (13) = "M" στη στήλη (14) = "Ν" στη στήλη (15) = "O" στη στήλη (16) = "Ρ" στη στήλη (17) = "Q" στη στήλη (18) = "R" στη στήλη (19) = "S" στη στήλη (20) = " Τ "στήλη (21) =" U "στη στήλη (22) =" V "στη στήλη (23) =" W "στη στήλη (24) =" X "στη στήλη (25) =" Y "στη στήλη (26) =" Z " στήλη (27) = "AA" στη στήλη (28) = "AB" στη στήλη (29) = "AC" στη στήλη (30) = "AD" στήλη (31) = "ΑΕ" στη στήλη (32) = "AF" στήλη ( 33) = "AG" Στήλη (34) = "AH" στη στήλη (35) = "AI" στη στήλη (36) = "AJ" στη στήλη (37) = "AK" στη στήλη (38) = "ΤΟ" στη στήλη (39) = "AM" στη στήλη (40) = "ΝΑ" στη στήλη (41) = "AO" στη στήλη (42) = "AP" στη στήλη (43) = "AQ" στη στήλη (44) = "AR" στη στήλη (45) = " AS "στη στήλη (46) =" ΑΤ "στήλη (47) =" ΑΕ "στη στήλη (48) =" AV "στη στήλη (49) =" AW "στη στήλη (50) =" AX "στη στήλη (51) =" AY " στήλη (52) = "Ω" στη στήλη (53) = "BA" στη στήλη (54) = "BB" στη στήλη (55) = "π.Χ." στη στήλη (56) = "BD" στη στήλη (57) = "BE" στήλη ( 58) = "BF" στη στήλη (59) = "BG" στη στήλη (60) = "BH" στη στήλη (61) = "BI" στη στήλη (62) = "BJ" στη στήλη (63) = "BK" στη στήλη (64) = "BL" στη στήλη (65) = "BM" στη στήλη (66) = "ΒΝ" στη στήλη (67) = "BO" στη στήλη (68) = "BP" στη στήλη (69) = "BQ" στη στήλη (70) = " BR "στη στήλη (71) =" BS "στη στήλη (72) =" BT "στη στήλη (73) =" BU "στη στήλη (74) =" BV "στη στήλη (75) =" BW "στη στήλη (76) =" BX " στήλη (77) = "ΑΠΟ" στη στήλη (78) = "BZ" στη στήλη (79) = "CA" στη στήλη (80) = "CB" στη στήλη (81) = "CC" στη στήλη (82) = "CD" στη στήλη ( 83) = "CE" στη στήλη (84) = "CF" στη στήλη (85) = "CG" στη στήλη (86) = "CH" στη στήλη (87) = "Γ" στη στήλη (88) = "CJ" στη στήλη (89) = "CK" στη στήλη (90) = "CL" στη στήλη (91) = "CM" στη στήλη (92) = "ΣΟ" στη στήλη (93) = "CO" στη στήλη (94) = "CP" στη στήλη (95) = " CQ "στη στήλη (96) =" CR "στη στήλη (97) =" CS "στη στήλη (98) =" CT "στη στήλη (99) =" CU "στήλη (100) =" βιογραφικό "στήλη (101) =" CW " στήλη (102) = "CX" στήλη (103) = "CY" στήλη (104) = "CZ" στήλη (105) = "DA" στήλη (106) = "DB" στήλη (107) = "DC" στήλη ( 108) = "DD" στήλη (109) = "DE" στήλη (110) = «DF» στη στήλη (111) = "ΓΔ" στήλη (112) = "DH" στήλη (113) = "ID" στήλη (114) = "DJ" στήλη (115) = "DK" στήλη (116) = "DL" στη στήλη (117) = "DM" στήλη (118) = "DN" στήλη (119) = "DO" στήλη (120) = " Α.Σ. «στήλη (121) =" DQ "στήλη (122) =" DR "στήλη (123) =" DS "στήλη (124) =" DT "στήλη (125) =" DU "στήλη (126) =" DV " στήλη (127) = "DW" στήλη (128) = "DX" στήλη (129) = "DY" στήλη (130) = "DZ" στήλη (131) = "EA" στη στήλη (132) = "EB" στήλη ( 133) = "ΕΚ" στήλη (134) = "ED" στήλη (135) = "EE" στήλη (136) = "EF" στήλη (137) = "EG" στήλη (138) = "EH" στήλη (139) = "ΕΙ" στήλη (140) = "EJ" στήλη (141) = "EK" στήλη (142) = "EL" στήλη (143) = "MS" στήλη (144) = "IN" στήλη (145) = " EO "στήλη (146) =" EP "στήλη (147) =" EQ "στήλη (148) =" ER "στήλη (149) =" ES "στήλη (150) =" ET "στήλη (151) =" ΕΕ " στήλη (152) = "EV" στη στήλη (153) = "EW" στήλη (154) = "EX" στήλη (155) = "ΕΥ" στήλη (156) = "EZ" στήλη (157) = "FA" στήλη ( 158) = "FB" στήλη (159) = "FC" στήλη (160) = "FD" στήλη (161) = "FE" στήλη (162) = "FF" στήλη (163) = "FG" στήλη (164) = "FH" στήλη (165) = "FI" στη στήλη (166) = "FJ" στήλη (167) = "FK" στήλη (168) = "FL" στήλη (169) = "FM" στη στήλη (170) = " FN "στήλη (171) =" ΓΙΑ "στήλη (172) =" ΠΠ "στήλη (173) =" CF "στήλη (174) =" FR "στήλη (175) =" FS "στήλη (176) =" FT " στήλη (177) = "FU" στήλη (178) = "FV" στήλη (179) = "FW" στήλη (180) = "FX" στη στήλη (181) = "FY" στήλη (182) = "FZ" στήλη ( 183) = "GA" στήλη (184) = "GB" στήλη (185) = "GC" στήλη (186) = "GD" στήλη (187) = "GE" στήλη (188) = "GF" στήλη (189) = "GG" στήλη (190) = "GH" στήλη (191) = "GI" στήλη (192) = "GJ" στήλη (193) = "GK" στήλη (194) = "GL" στήλη (195) = " GM "στήλη (196) =" GN "στήλη (197) =" GO "στήλη (198) =" GP "στήλη (199) =" GQ "στήλη (200) =" GR "στήλη (201) =" GS " στήλη (202) = "GT" στήλη (203) = "GU" στήλη (204) = "GV" στήλη (205) = "GW" στήλη (206) = "GX" στήλη (207) = "GY" στήλη ( 208) = "GZ" στήλη (209) = "HA" στη στήλη (210) = "ΗΒ" στήλη (211) = "HC" στήλη (212) = "HD" στη στήλη (213) = "HE" στήλη (214) = "HF" στήλη (215) = "HG" στήλη (216) = "HH" στήλη (217) = "HI" στήλη (218) = "HJ" στήλη (219) = "HK" στήλη (220) = " hl "στη στήλη (221) =" HM "στήλη (222) =" HN "στήλη (223) =" HO "στήλη (224) =" HP "στη στήλη (225) =" HQ "στη στήλη (226) =" HR " στήλη (227) = "HS" στήλη (228) = "HT" στήλη (229) = "HU" στήλη (230) = "HV" στήλη (231) = "HW" στήλη (232) = "H" στη στήλη ( 233) = "HY" στήλη (234) = "HZ" στήλη (235) = "IA" στήλη (236) = "IB" στήλη (237) = "IC" στήλη (238) = "ID" στήλη (239) = "ΑΠ" στήλη (240) = "ΕΑΝ" στήλη (241) = "IG" στήλη (242) = "IH" στήλη (243) = "II" στήλη (244) = "I" στη στήλη (245) = " IK "στήλη (246) =" IL "στήλη (247) =" IM "στήλη (248) =" IN "στήλη (249) =" IO "στήλη (250) =" IP "στη στήλη (251) =" IQ " στήλη (252) = "IR" στήλη (253) = "ΚτΠ" στήλη (254) = "IT" στη στήλη (255) = "UI" στήλη (256) = "IV" στήλη Return (αριθμός) End Function End Class 

Η μέθοδος αυτή με έχει εξυπηρετήσει καλά και σας ελπίδας ... αφήστε τα σχόλιά σας.

27 απαντήσεις σε "DataTable εξάγονται αυτόματα στο Microsoft Excel"

  1. Bitacoras.com λέει:

    Bitacoras.com Πληροφορίες ...

    Τιμή στο Bitacoras.com: Hello: Σήμερα θέλω να δείξω ένα παράδειγμα που με έχει υπηρετήσει για πολύ καιρό και είμαι ακόμα χρησιμοποιώντας. Θα κάνουμε ένα παράδειγμα για την εξαγωγή ενός DataTable στο Excel πλήρη ανεξάρτητα από τον αριθμό των στηλών ή των γραμμών που έχουν ... ..

    • Carlos Linares λέει:

      Καλή ...

      Πολύ καλή θέση! Σας ευχαριστώ με βοήθησε η πλήρης, αλλά έχω ένα μεγάλο ερώτημα .. Δεδομένου ότι αυτή η σύνδεση με τον SQL .. Πώς μπορώ να αλλάξω το όνομα των στηλών!; Λόγω του ότι φέρει το όνομα των πεδίων στην SQL ..!

      Ας ελπίσουμε ότι έχω καταλάβει ..

      Σας ευχαριστούμε!

  2. Denko λέει:

    Πάω να σώσει ...
    σε κάποιο σημείο θα ήταν χρήσιμο ...

  3. Victor λέει:

    Είναι καλό για το Excel 2007; Είχα προβλήματα με τις εξαγωγές για την ανάπτυξη, ότι ισχύει για παλαιότερες εκδόσεις, αλλά όχι για το 2007. Ευχαριστίες

  4. Γιάννης λέει:

    Τεράστια πηγαίο κώδικα. σερβίρεται με καλά. q ήταν εδώ και καιρό.

  5. Γιάννης λέει:

    Αλλά έχουν επίσης την εισαγωγή ενός ecxel πίνακα δεδομένων. Ambien, αλλά θα μπορούσε να είναι μια datagrid και μετά την ενημέρωση του DataAdapter και την αποδοχή των αλλαγών θα είναι εξοικονόμηση datatable σε q BD ... Ελπίζω να μπορέσω να βοηθήσει ή να είναι σε θέση να βρει .. ευχαριστίες

  6. jose λέει:

    Γεια σας ευχαριστώ πολύ! αυτό το μεγάλο!
    Αλλά αναρωτιέμαι το οποίο ορίζει ότι χρησιμοποιείται σε περίπτωση DataGrid που είναι αρκετά DataGrid;

    • Carlos Linares λέει:

      Από τον πίνακα που καλείτε ...

      * Επιλέξτε από (όνομα του πίνακα)

      Εάν θέλετε να καθορίσετε ποια πεδία θέλετε

      Επιλέξτε (πεδία, τα πεδία, τα πεδία) * από τον πίνακα
      ejm
      Επιλέξτε το χρώμα του αυτοκινήτου, ανιόντα από τα οχήματα

  7. Μπέτο, δήλωσε:

    Έχω ένα πρόβλημα με αυτό το παράδειγμα να κάνω 2 DC λάθη σε μεταβλητές και dr, που μπορώ να κάνω για να το διορθώσω;

    • Ελισσαιέ λέει:

      Γεια σας, δοκιμάστε το εξής:
      Για κάθε dr Όπως DataRow Σε ds.Tables (0). Γραμμές και DataColumn Για Κάθε DC Σε ds.Tables ως (0). Στήλες

      Ελπίζω ότι αυτό έχει επιλυθεί. Χαιρετισμούς.

  8. Jason λέει:

    γεια.
    Αυτό chevere, αλλά μέρος του ονόματος της στήλης δεν είναι πολύ λειτουργικό.
    Θα ανεβάσετε στο blog μου ένα πολύ μικρότερο περιορισμοί μεγέθους κώδικα και χωρίς να

    jaysson.blogspot.com

  9. Jason λέει:

    έτοιμη και ανέβηκε το άρθρο

    http://jaysson.blogspot.com/2010/06/columnas-es-excel.html

  10. Rodrigo λέει:

    Καλό το άρθρο, αλλά έχω ένα πρόβλημα στον υπολογιστή μου με το Excel 2007 δουλεύει μια χαρά, αλλά οι υπολογιστές με το Excel 2003 ή νωρίτερα δεν θα λειτουργήσει. Καθένας ξέρει εάν το πρόβλημα των βιβλιοθηκών που εισάγονται, όπως δίνετε να καταλάβουμε ότι τα έργα για οποιαδήποτε Excel, αλλά έχω συναντήσει αυτό το πρόβλημα.

    Ας δούμε αν κάποιος μπορεί να λύσει την αμφιβολία.
    Σας ευχαριστώ.

  11. Carlos Linares λέει:

    Καλή ...

    Πολύ καλή θέση! Σας ευχαριστώ με βοήθησε η πλήρης, αλλά έχω ένα μεγάλο ερώτημα .. Δεδομένου ότι αυτή η σύνδεση με τον SQL .. Πώς μπορώ να αλλάξω το όνομα των στηλών!; Λόγω του ότι φέρει το όνομα των πεδίων στην SQL ..!

    Ας ελπίσουμε ότι έχω καταλάβει ..

    Σας ευχαριστούμε!

  12. Αλέξανδρος λέει:

    Δημόσια Sub ExportarDatosExcel (ByVal DataGridView1 Όπως DataGridView, ByVal τίτλος Όπως String)
    Όπως Νέα Excel.Application Δημ. m_Excel
    m_Excel.Cursor = Excel.XlMousePointer.xlWait
    m_Excel.Visible = True
    Όπως Excel.Workbook Δημ. = m_Excel.Workbooks.Add objLibroExcel
    Όπως Excel.Worksheet Δημ. = objLibroExcel.Worksheets objHojaExcel (1)
    Με objHojaExcel
    . Visible = Excel.XlSheetVisibility.xlSheetVisible
    . Ενεργοποίηση ()
    «Κεφαλίδα
    . Εύρος ("A1: L1"). Συγχώνευση ()
    . Εύρος ("A1: L1"). Value = "ΙΝΣΤΙΤΟΥΤΟ ARGENCAF"
    . Εύρος ("A1: L1"). Font.Bold = True
    . Εύρος ("A1: L1"). Font.Size = 15
    «Tuft
    . Εύρος ("A2: L2"). Συγχώνευση ()
    . Εύρος ("A2: L2"). Value = τίτλος
    . Εύρος ("A2: L2"). Font.Bold = True
    . Εύρος ("A2: L2"). Font.Size = 12

    Const primeraLetra Όπως Χαρ = "Α"
    Const firstNumber Όπως Σύντομη = 3
    Dim επιστολή Όπως Χαρ, Χαρ Όπως UltimaLetra
    Dim Αριθμός As Integer, UltimoNumero As Integer
    Dim Όπως Byte = Asc cod_letra (primeraLetra) - 1
    Dim As String = Application.CurrentCulture.NumberFormat.NumberDecimalSeparator sepDec
    Dim As String = Application.CurrentCulture.NumberFormat.NumberGroupSeparator sepMil
    «Ορισμός της μορφής στήλη της κόρης του υπολογισμού
    StrColumna Dim As String = ""
    LetraIzq Dim As String = ""
    Dim Όπως Byte = Asc cod_LetraIzq (primeraLetra) - 1
    Επιστολή = primeraLetra
    Αριθμός = firstNumber
    Όπως Excel.Range Dim objCelda
    Για κάθε c Όπως DataGridViewColumn Σε DataGridView1.Columns
    Στη συνέχεια, αν c.Visible
    Αν Επιστολή = "Z" Τότε
    Επιστολή = primeraLetra
    cod_letra = Asc (primeraLetra)
    cod_LetraIzq + = 1
    LetraIzq = Chr (cod_LetraIzq)
    Αλλού
    cod_letra + = 1
    Επιστολή = Chr (cod_letra)
    End If
    strColumna = LetraIzq + Lyrics + Numero.ToString
    objCelda =. Εύρος (strColumna, Type.Missing)
    objCelda.Value = c.HeaderText
    objCelda.EntireColumn.Font.Size = 8
    «ObjCelda.EntireColumn.NumberFormat = c.DefaultCellStyle.Format
    Αν c.ValueType Είναι gettype (Δεκαδικός) OrElse c.ValueType Είναι gettype (Διπλό) Στη συνέχεια,
    objCelda.EntireColumn.NumberFormat = "#" sepMil + + "0" + sepDec + "00"
    End If
    End If
    Επόμενη

    Όπως Excel.Range Δημ. objRangoEncab =. Εμβέλειας (primeraLetra + Numero.ToString, LetraIzq + στίχοι Numero.ToString +)
    objRangoEncab.BorderAround (1, Excel.XlBorderWeight.xlMedium)
    UltimaLetra = Αποστολή
    Dim As String = LetraIzq UltimaLetraIzq

    «Δεδομένα φορτίου
    Dim i As Integer = Αριθμός + 1

    Για κάθε Στον κατάλογο Όπως DataGridViewRow DataGridView1.Rows
    LetraIzq = ""
    cod_LetraIzq = Asc (primeraLetra) - 1
    Επιστολή = primeraLetra
    cod_letra = Asc (primeraLetra) - 1
    Για κάθε c Όπως DataGridViewColumn Σε DataGridView1.Columns
    Στη συνέχεια, αν c.Visible
    Αν Επιστολή = "Z" Τότε
    Επιστολή = primeraLetra
    cod_letra = Asc (primeraLetra)
    cod_LetraIzq + = 1
    LetraIzq = Chr (cod_LetraIzq)
    Αλλού
    cod_letra + = 1
    Επιστολή = Chr (cod_letra)
    End If
    strColumna = LetraIzq + Lyrics
    «Βάρος εδώ θα πρέπει να
    . Κύτταρα (i, strColumna) = IIf (IsDBNull (reg.ToString), "", reg.Cells (c.Index). Αξία)
    ». Κύτταρα (i, strColumna) = IIf (IsDBNull (Καν. (c.DataPropertyName)), c.DefaultCellStyle.NullValue, Καν. (c.DataPropertyName))
    ». Εύρος (strColumna + i, strColumna + i). Στο ()

    End If
    Επόμενη
    Όπως Excel.Range Δημ. objRangoReg =. Εμβέλειας (primeraLetra + i.ToString, i.ToString strColumna +)
    objRangoReg.Rows.BorderAround ()
    objRangoReg.Select ()
    i = 1 +
    Επόμενη
    UltimoNumero = i

    «Σχεδιάστε τις γραμμές των στηλών
    LetraIzq = ""
    cod_LetraIzq = Asc ("A")
    cod_letra = Asc (primeraLetra)
    Επιστολή = primeraLetra
    Για κάθε c Όπως DataGridViewColumn Σε DataGridView1.Columns
    Στη συνέχεια, αν c.Visible
    objCelda =. Εύρος (+ Lyrics + primerNumero.ToString LetraIzq, LetraIzq Στίχοι + + (UltimoNumero -. 1) toString)
    objCelda.BorderAround ()
    Αν Επιστολή = "Z" Τότε
    Επιστολή = primeraLetra
    cod_letra = Asc (primeraLetra)
    LetraIzq = Chr (cod_LetraIzq)
    cod_LetraIzq + = 1
    Αλλού
    cod_letra + = 1
    Επιστολή = Chr (cod_letra)
    End If
    End If
    Επόμενη

    «Σχεδιάστε το παχύ εξωτερικά σύνορα
    Όπως Excel.Range Δημ. objRango =. Εμβέλειας (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
    Sub End

    ToolStripButton2_Click_1 Private Sub (ByVal αποστολέα Όπως System.Object, ByVal e Όπως System.EventArgs) Λαβές ToolStripButton2.Click
    ExportarDatosExcel (DataGridView1, "εξαγωγή")
    Sub End

  13. JuanPeople λέει:

    ΕΞΑΙΡΕΤΙΚΗ!! .... ευχαριστεί τον αδελφό, είχα 3 ημέρες με μια ενότητα για την εισαγωγή / εξαγωγή Excel και τίποτα δεν λειτούργησε .... αλλά με τη λύση σας βλέπω ξανά τα αστέρια ... Χαιρετίσματα από Αρεκίπα !!!:..

  14. TECKNOCK λέει:

    Ο κωδικός αυτός με βοήθησε πολύ, γι 'αυτό το έργο με δύο σεντ μου:

    I βελτιστοποιηθεί η "ColumnName" για να πάρει τη στήλη ahsta ZZ (702 στήλες.)

    Εδώ σας δίνω τον κωδικό:

    Δημόσια ColumnName Λειτουργία (ByVal αριθμός As Integer) As String
    Dim στήλη (703) Όπως String

    Στήλη (1) = "A"
    Στήλη (2) = "B"
    στήλη (3) = "Γ"
    Στήλη (4) = "D"
    Στήλη (5) = "E"
    στήλη (6) = "F"
    Στήλη (7) = "Ζ"
    Στήλη (8) = "H"
    στήλη (9) = "Ι"
    Στήλη (10) = "J"
    Στήλη (11) = "Κ"
    Στήλη (12) = "L"
    Στήλη (13) = "Μ"
    στήλη (14) = "Ν"
    Στήλη (15) = "Ο"
    στήλη (16) = "P"
    στήλη (17) = "Q"
    Στήλη (18) = "R"
    στήλη (19) = "S"
    Στήλη (20) = "T"
    στήλη (21) = "U"
    στήλη (22) = "V"
    στήλη (23) = "W"
    στήλη (24) = "X"
    στήλη (25) = "Y"
    στήλη (26) = "Z"

    Dim i = 27
    Για Ltr1 = 1 έως 26
    Για Ltr2 = 1 έως 26
    στήλη (i) στη στήλη = (Ltr1) και στη στήλη (Ltr2)
    i = 1 +
    Επόμενη
    Επόμενη

    Επιστροφή στη στήλη (αριθμός)
    Function End

    • Ελισσαιέ λέει:

      TECKNOCK, σας ευχαριστώ πολύ για τη βοήθεια!, Όμως, να έχετε κατά νου ότι, αν το βιβλίο πιστεύω ότι είναι συμβατή με το Excel 97-2003 στήλες το μέγιστο επιτρεπόμενο είναι 256 (έως IV). Ακριβώς όπως ένα σχόλιο λάβουν έτσι αυτό υπόψη.

      Elisha

  15. raysip λέει:

    Κατά την εκτέλεση της εφαρμογής σε τοπικό επίπεδο funcioana σωστά, αλλά όταν πηγαίνω σε μια ιστοσελίδα δεν παράγει το Excel, αλλά δεν παίρνουν λάθος

  16. Aderson λέει:

    ματιά, κάνω μια γειωμένη στην SQL μου

    Θα κάνω δεν αρέσει να κάνω, αλλά aja estubo

  17. Παύλος λέει:

    Χρειάζομαι βοήθεια για να προσπαθήσουμε να κάνουμε όλες τις μορφές που είναι εδώ και να πάρω ένα σφάλμα όλα

  18. Γιάννης λέει:

    Χέρι, είστε η τέλεια λειτουργία μέγιστο.

  19. neji λέει:

    πολύ καλά, συγχαρητήρια είναι στην καλύτερη θέση που έχω διαβάσει και να ζητείται η γνώμη

  20. Patricia λέει:

    Σας ευχαριστούμε! Ήταν πολύ χρήσιμο

  21. f.delgado λέει:

    Ακούω τον κωδικό έργα κάνω λάθη στην da.Fill (DS)

    I σήμα το σφάλμα δεν βρέθηκε SqlException

    Μπορείτε να με βοηθήσετε

Σχόλιο