יצוא אוטומטי ל-Microsoft Excel DataTable

היום אני רוצה להראות דוגמא כי שימש לי במשך זמן רב, ובכל זאת אני עדיין משתמש בו.
אנו נעשה למשל לייצא ל-Excel DataTable מלא ללא תלות במספר עמודות או שורות שיש להם.

אולי יש דרכים רבות לעשות זאת, אבל אני מוצא את זה שימושי באמת שכן שיטה זו פועלת על כל גירסה של Excel. בנושאי compatilidad עם גרסאות חדשות יותר של Excel לטפל רק 256 עמודים.

הדבר הראשון שעלינו לעשות הוא להוסיף התייחסות Microsoft.Office.Interop.Excel ואנחנו עושים באופן הבא:

Importar referencia a Excel

ייבוא ​​התייחסות Excel

Importar referencia Excel

ייבוא ​​Excel התייחסות

אז אנחנו צריכים סוג, כפתור, dataGridView בר התקדמות. אנחנו יכולים לראות בתמונה:

Formulario aplicación para exportar dataset a excel

טופס לייצא בסיס הנתונים ל-Excel

עכשיו אני רוצה להראות את כל קוד הוא פשוט באמת הדבר החשוב ביותר הוא שהיא מתאימה את עצמה כל שולחן. תוכלו לעשות שימוש חוזר ללא כל בעיה.

 יבוא System.Data מייבאת המעמד הציבורי System.Data.SqlClient Form1 יבוא DS פרטיות Microsoft.Office.Interop החל במערך חדש פרטי (ByVal השולח כמו System.Object, ByVal e כמו System.EventArgs) תת Form1_Load מטפל "MyBase.Load / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / צור קשר ולמלא DataGridView "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / דים CNN כפי SqlConnection חדש ("מקור נתונים = localhost \ sqlexpress; קטלוג ראשוני = Northwind: אבטחה משולבת = True") דה דים כפי SqlDataAdapter חדש ("SELECT * FROM לקוחות", CNN) נותן. מלא (DS) DataGridView1.DataSource ds.Tables = (0) End Sub Private Sub btnExportar_Click (ByVal השולח כמו System.Object, ByVal e כמו System.EventArgs) ידיות btnExportar.Click "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / יצירת אובייקט Excel "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / דים סאם m_Excel objLibroExcel דים objHojaExcel m_Excel = CreateObject ("Excel.Application") m_Excel.Workbooks.Add objLibroExcel = () = objLibroExcel.Worksheets objHojaExcel (1) objHojaExcel.Name = "לקוחות" objHojaExcel.Visible = Excel . XlSheetVisibility.xlSheetVisible objHojaExcel.Activate () "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / להגדיר שני משתנים כדי לשלוט שורה ועמודה "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / דים בשורה כעמודה 1 = מספר שלם דים כמספר שלם = 1 "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / הקמנו קו עם כותרות העמודות של / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / objHojaExcel.Range ("A1"). בחר () עבור כל אחד ds.Tables DC (0). עמודות objHojaExcel.Range (ColumnName (עמודה) & 1). ערך = dc.ColumnName טור + = 1 בשורה הבא + = 1 "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / אנו לעצב את שורת הכותרות "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / דים כפי Excel.Range = objHojaExcel.Range objRango ("A1". & ColumnName (ds.Tables (0) Columns.Count) & "1") objRango.Font . מודגש = 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 = objRango.Cells.Borders Excel.XlLineStyle.xlContinuous (Excel . XlBordersIndex.xlEdgeTop). LineStyle = objRango.Cells.Borders Excel.XlLineStyle.xlContinuous (Excel.XlBordersIndex.xlEdgeBottom). LineStyle Excel.XlLineStyle.xlContinuous = "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / טען את כל השורות ב datatable "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / ProgressBar1.Maximum = ds.Tables (0). Rows.Count ProgressBar1.Value טור = 1 = 0 עבור כל עמודה שורות ד"ר ב ds.Tables (0). = 1 DC עבור כל אחד ds.Tables (0). עמודות objHojaExcel.Range (ColumnName (עמודה) & שורה). ערך = ד"ר (dc.ColumnName) טור + = 1 שורה הבא + = 1 + 1 = הבא ProgressBar1.Value "/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / אנו להתאים את רוחב באופן אוטומטי "/ / עבור כל העמודות המשמשות" / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / objRango = objHojaExcel.Range ("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 Function Sub ColumnName אישי (מספר ByVal כמספר שלם) כעמודה מחרוזת דים (256) כעמודה מחרוזת (1) = "" (2) טור = "B" עמוד (3) = "C" טור (4) = "D" העמוד (5) = "E" טור (6) = "F" טור (7) = "G" טור ( 8) = "H" טור (9) = "אני" טור (10) = "J" טור (11) = "K" טור (12) = "L" טור (13) = "M" טור (14) = "N" טור (15) = "W" טור (16) = "P" טור (17) = "Q" טור (18) = "R" טור (19) = "S" טור (20) = " T "טור (21) =" U "טור (22) =" V "טור (23) =" W "טור (24) =" X "טור (25) =" Y "בטור (26) =" Z " (27) הטור = "AA" טור (28) = "א.ב." טור (29) = "AC" טור (30) = "AD" טור (31) = "AE" טור (32) = "AF" טור ( 33) = "AG" טור (34) = "אה" טור (35) = "מספר" טור (36) = "AJ" טור (37) = "AK" טור (38) = "עד" טור (39) = "AM" טור (40) = "NA" טור (41) = "AO" טור (42) = "AP" טור (43) = "א.ק." טור (44) = "RA" טור (45) = " AS "טור (46) =" את "טור (47) =" AU "טור (48) =" אב "טור (49) =" אה "טור (50) =" AX "טור (51) =" איי " (52) הטור = "AZ" טור (53) = "תואר ראשון" טור (54) = "BB" טור (55) = "לפני הספירה" טור (56) = "BD" טור (57) = "להיות" טור ( 58) = "BF" טור (59) = "בריטיש גז" טור (60) = "BH" טור (61) = טור "בזק בינלאומי" (62) = טור "ב"ג" (63) = "BK" טור (64) = "BL" טור (65) = "BM" טור (66) = "BN" טור (67) = "BO" טור (68) = "BP" טור (69) = "BQ" טור (70) = " BR "טור (71) =" BS "טור (72) =" BT "טור (73) =" רגיל "טור (74) =" BV "טור (75) =" BW "טור (76) =" BX " (77) הטור = הטור "על ידי" (78) = "BZ" טור (79) = "קליפורניה" טור (80) = "CB" טור (81) = "CC" טור (82) = "תקליטור" טור ( 83) = "לספירה" טור (84) = "CF" טור (85) = "CG" טור (86) = "CH" טור (87) = "CI" טור (88) = "CJ" טור (89) = "CK" טור (90) = "CL" טור (91) = "CM" טור (92) = "CN" טור (93) = "CO" טור (94) = "CP" טור (95) = " CQ "טור (96) =" CR "טור (97) =" מדעי המחשב "טור (98) =" CT "טור (99) =" CU "טור (100) =" קורות חיים "עמודה (101) =" CW " (102) טור = "CX" טור (103) = "CY" טור (104) = "CZ" טור (105) = "התובע" טור (106) = "DB" טור (107) = "DC" טור ( 108) = "DD" טור (109) = "דה" טור (110) = "DF" טור (111) = "DG" טור (112) = "ד"ה" טור (113) = "ID" טור (114) = "DJ" טור (115) = "DK" טור (116) = "DL" טור (117) = טור "DM" (118) = "DN" טור (119) = טור "לעשות" (120) = " העקורים "טור (121) =" DQ "טור (122) =" ד"ר "טור (123) =" DS "טור (124) =" DT "טור (125) =" דו "טור (126) =" DV " (127) טור = "ד"ו" טור (128) = "DX" טור (129) = "די" טור (130) = "DZ" טור (131) = "EA" טור (132) = "EB" טור ( 133) = "EC" טור (134) = "ED" טור (135) = "א 'א'" טור (136) = "EF" טור (137) = "למשל" טור (138) = "אה" טור (139) = "EI" טור (140) = "EJ" טור (141) = "EK" טור (142) = "אל" טור (143) = "טרשת נפוצה" טור (144) = טור "IN" (145) = " איו "טור (146) =" EP "טור (147) =" EQ "טור (148) =" ER "טור (149) =" ES "טור (150) =" ET "טור (151) =" האיחוד האירופי " (152) טור = "EV" טור (153) = "EW" טור (154) = טור "אקס" (155) = "איי" טור (156) = "EZ" טור (157) = "FA" טור ( 158) = "FB" טור (159) = "מועדון הכדורגל" טור (160) = "FD" טור (161) = "FE" טור (162) = "FF" טור (163) = "FG" טור (164) = "FH" טור (165) = "FI" טור (166) = "FJ" טור (167) = "FK" טור (168) = "FL" טור (169) = "FM" טור (170) = " FN "טור (171) =" FO "טור (172) =" FP "טור (173) =" CF "טור (174) =" FR "טור (175) =" FS "טור (176) =" FT " (177) טור = "פו" טור (178) = "ע"ע" טור (179) = "FW" טור (180) = "FX" טור (181) = "פ.י." טור (182) = "FZ" טור ( 183) = "GA" טור (184) = "GB" טור (185) = "GC" טור (186) = "ה '" טור (187) = "ג'נרל אלקטריק" טור (188) = "GF" טור (189) = "GG" טור (190) = "GH" טור (191) = "GI" טור (192) = "GJ" טור (193) = "GK" טור (194) = "GL" טור (195) = " ג'נרל מוטורס "טור (196) =" GN "טור (197) =" GO "טור (198) =" GP "טור (199) =" GQ "טור (200) =" GR "טור (201) =" GS " עמודה (202) = "GT" טור (203) = "גו" טור (204) = "GV" טור (205) = "GW" טור (206) = "GX" טור (207) = "GY" טור ( 208) = "GZ" טור (209) = "הא" טור (210) = "HB" טור (211) = "HC" טור (212) = "HD" טור (213) = "הוא" טור (214) = "HF" טור (215) = "ה"ג" טור (216) = "ההורס" טור (217) = "היי" עמודה (218) = "HJ" טור (219) = "HK" עמודה (220) = " HL "טור (221) =" HM "טור (222) =" ח.נ. "טור (223) =" HO "טור (224) =" HP "טור (225) =" מטה "טור (226) =" משאבי אנוש " (227) טור = "HS" טור (228) = "HT" טור (229) = "האוניברסיטה העברית" עמודה (230) = "HV" טור (231) = "HW" עמודה (232) = "H" טור ( 233) = "היי" עמודה (234) = "HZ" טור (235) = "IA" טור (236) = "IB" טור (237) = "IC" טור (238) = "ID" טור (239) = "IE" טור (240) = "אם" טור (241) = "IG" טור (242) = "IH" טור (243) = "II" טור (244) = "IJ" טור (245) = " IK "טור (246) =" IL "טור (247) =" IM "טור (248) =" "טור (249) =" IN IO "טור (250) =" "טור (251) =" IP-IQ " עמודה (252) = "R" עמודה (253) = "האם" טור (254) = "IT" טור (255) = "ממשק משתמש" טור (256) = "ד" הטור חזרה (מספר) פונקציה סוף סוף כיתה 

שיטה זו שירתה אותי היטב, ואני מקווה שאתה עושה יותר מדי ... אנא השאירו את הערותיך.

34 תגובות ל "באופן אוטומטי ייצוא DataTable ל-Microsoft Excel"

  1. Bitacoras.com אומר:

    מידע Bitacoras.com ...

    דרג ב Bitacoras.com: היי, היום אני רוצה להראות דוגמא כי שימש לי במשך זמן רב, ובכל זאת אני עדיין משתמש בו. אנו נעשה למשל לייצא ל-Excel DataTable מלא ללא קשר למספר העמודות או השורות טנג .....

    • קרלוס לינארס, אומר:

      טוב ...

      בהודעה מצוין! תודה עזר לי מלא, אבל יש לי ספק .. כקישור הוא עם SQL .. כיצד ניתן לשנות את שם העמודות!? כי זה מביא את שם בתחומי SQL ..!

      אני מקווה ואני לא הבנתי ..

      תודה!

  2. Denko אומר:

    אני הולך להציל את ...
    בשלב מסוים זה יהיה שימושי ...

  3. ויקטור אומר:

    האם זה תקף עבור Excel 2007? היו לי בעיות עם היצוא לפתח, כי הוא תקף עבור גירסאות מוקדמות יותר, אך לא עבור 2007. תודה

  4. ג 'ון אומר:

    מקור עצום קוד. שירת אותי היטב. ש 'זה היה מזמן.

  5. ג 'ון אומר:

    אמנם גם צריך ecxel יבוא טבלת הנתונים. אבל יכול להיות סביבתי DataGrid ולאחר מכן לעדכן את DataAdapter וקבלת שינויים datatable יינצלו ב BD ש ... אני מקווה שאוכל לעזור או למצוא .. תודה

  6. חוזה אומר:

    היי תודה רבה! זה מעולה!
    אבל אני תוהה איפה DataGrid מציין כי נעשה שימוש במקרה שהם Datagrid כמה?

    • קרלוס לינארס, אומר:

      על השולחן אתה בכוננות ...

      SELECT * FROM (שם הטבלה)

      אם אתה רוצה להגדיר אילו שדות אתה רוצה

      בחר (שדות, שדות, שדות) * מהטבלה
      ejm
      לבחור, מכונית צבע, שנה את המכונית

  7. בטו אמר:

    יש לי בעיה עם זה למשל אני עושה 2 טעויות משתנים DC ו ד"ר, אני יכול לעשות כדי לתקן את זה?

    • אלישע אומר:

      היי, נסה את זה:
      עבור כל אחד כמו ד"ר DataRow ב ds.Tables (0). שורות DataColumn עבור DC כל אחד ds.Tables כמו (0). עמודות

      אני מקווה שזה ייפתר. ברכות.

  8. ג'ייסון אומר:

    Hola.
    זה chevere, אבל חלק שם העמודה לא מאוד פונקציונלי.
    אני להעלות לבלוג שלי גודל קטנים בהרבה מגבלות קוד וללא

    jaysson.blogspot.com

  9. רודריגו אומר:

    מאמר טוב, אבל יש לי בעיה במחשב שלי עם Excel 2007 עובד בצורה חלקה, אבל עם מחשבים עם Excel 2003 או מוקדם יותר לא עובד. מישהו יודע אם הבעיה של הספריות מיובאים, כי אתה רומז כי כל עובד להצטיין, אבל נתקלתי בבעיה זו.

    בואו נראה אם ​​מישהו יכול לפתור את הספק.
    תודה.

  10. קרלוס לינארס, אומר:

    טוב ...

    בהודעה מצוין! תודה עזר לי מלא, אבל יש לי ספק .. כקישור הוא עם SQL .. כיצד ניתן לשנות את שם העמודות!? כי זה מביא את שם בתחומי SQL ..!

    אני מקווה ואני לא הבנתי ..

    תודה!

  11. אלכסנדר אומר:

    אישי תת ExportarDatosExcel (ByVal DataGridView1 כמו הכותרת, DataGridView ByVal כמחרוזת)
    כמו חדש Excel.Application דים m_Excel
    = m_Excel.Cursor Excel.XlMousePointer.xlWait
    m_Excel.Visible = True
    כמו Excel.Workbook דים objLibroExcel = m_Excel.Workbooks.Add
    כמו Excel.Worksheet דים objHojaExcel = objLibroExcel.Worksheets (1)
    עם objHojaExcel
    . גלוי = Excel.XlSheetVisibility.xlSheetVisible
    . הפעלה ()
    "כותרת
    . טווח ("A1: L1"). מיזוג ()
    . טווח ("A1: L1"). ערך = "מכון ARGENCAF"
    . טווח ("A1: L1"). Font.Bold = True
    . טווח ("A1: L1"). Font.Size = 15
    "ציצת
    . טווח ("A2: L2"). מיזוג ()
    . טווח ("A2: L2"). ערך = כותרת
    . טווח ("A2: L2"). Font.Bold = True
    . טווח ("A2: L2"). Font.Size = 12

    Const primeraLetra כמו שאר = ""
    FirstNumber const כפי קצר = 3
    מכתב עמום כמו תו, תו כמו UltimaLetra
    מספר דים כמספר שלם, כמספר שלם UltimoNumero
    דים כמו Byte = ASC cod_letra (primeraLetra) - 1
    דים כמחרוזת = Application.CurrentCulture.NumberFormat.NumberDecimalSeparator sepDec
    דים כמחרוזת = Application.CurrentCulture.NumberFormat.NumberGroupSeparator sepMil
    "סט בפורמט העמודים של בתו של חישוב
    StrColumna דים כמחרוזת = ""
    LetraIzq דים כמחרוזת = ""
    דים כמו Byte = ASC cod_LetraIzq (primeraLetra) - 1
    מכתב = primeraLetra
    = FirstNumber מספר
    כמו Excel.Range דים 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)
    סוף אם
    strColumna = LetraIzq + מילים + 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"
    סוף אם
    סוף אם
    הבא

    כמו Excel.Range דים objRangoEncab =. טווח (primeraLetra + Numero.ToString, LetraIzq + מילים Numero.ToString +)
    objRangoEncab.BorderAround (1, Excel.XlBorderWeight.xlMedium)
    UltimaLetra = שלח
    דים כמחרוזת = LetraIzq UltimaLetraIzq

    של לטעון נתונים
    דים אני כמו מספר = מספר שלם + 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)
    סוף אם
    strColumna LetraIzq = + מילים
    "כאן צריך להיות עומס
    תאים. (אני, strColumna) = IIF (IsDBNull (reg.ToString), "", reg.Cells (c.Index). ערך)
    ". תאים (אני, strColumna) = IIF (IsDBNull (reg. (c.DataPropertyName)), c.DefaultCellStyle.NullValue, רג (c.DataPropertyName))
    ". טווח (strColumna + I, strColumna + I). ב ()

    סוף אם
    הבא
    כמו Excel.Range דים objRangoReg =. טווח (primeraLetra + i.ToString, i.ToString strColumna +)
    objRangoReg.Rows.BorderAround ()
    objRangoReg.Select ()
    אני + = 1
    הבא
    UltimoNumero = אני

    "לצייר קווים של העמודות
    LetraIzq = ""
    cod_LetraIzq = ASC ("")
    cod_letra = ASC (primeraLetra)
    מכתב = primeraLetra
    עבור C כמו כל DataGridViewColumn ב DataGridView1.Columns
    אז אם c.Visible
    . objCelda = טווח (LetraIzq + מילים + primerNumero.ToString, 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)
    סוף אם
    סוף אם
    הבא

    "צייר את הגבול החיצוני עבה
    כמו Excel.Range דים objRango = טווח. (PrimeraLetra + primerNumero.ToString, UltimaLetra UltimaLetraIzq + + (UltimoNumero -. 1) ToString)
    objRango.Select ()
    objRango.Columns.AutoFit ()
    objRango.Columns.BorderAround (1, Excel.XlBorderWeight.xlMedium)
    סוף עם

    = m_Excel.Cursor Excel.XlMousePointer.xlDefault
    End Sub

    ToolStripButton2_Click_1 תת פרטיים (ByVal השולח כמו System.Object, ByVal e כמו System.EventArgs) ידיות ToolStripButton2.Click
    ExportarDatosExcel (DataGridView1, "יצוא")
    End Sub

  12. JuanPeople אומר:

    מעולה!! .... תודה אחי, ולקח 3 ימים עם מודול עבור ייבוא ​​/ ייצוא Excel ושום דבר לא עבד .... אבל עם הפתרון שלך אני רואה שוב את הכוכבים ... ברכות מ ארקיפה:! ..

  13. TECKNOCK אומר:

    קוד זה עזר לי הרבה, אז אני משתף פעולה עם שני הסנטים שלי:

    יש אופטימיזציה "ColumnName" להגיע ahsta טור ZZ (702 ואח'.)

    כאן אני נותן לכם את הקוד:

    פונקציה ColumnName אישי (מספר ByVal כמספר שלם) כמחרוזת
    טור דים (703) כמחרוזת

    טור (1) = ""
    עמודה (2) = "B"
    טור (3) = "C"
    עמודה (4) = "D"
    טור (5) = "E"
    עמודה (6) = "F"
    טור (7) = "G"
    עמודה (8) = "H"
    עמודה (9) = "אני"
    (10) הטור = "J"
    עמודה (11) = "K"
    (12) הטור = "L"
    עמודה (13) = "M"
    (14) הטור = "N"
    עמודה (15) = "O"
    עמודה (16) = "P"
    (17) הטור = "ש"
    עמודה (18) = "R"
    עמודה (19) = "S"
    עמודה (20) = "T"
    עמודה (21) = "U"
    עמודה (22) = "V"
    עמודה (23) = "W"
    עמודה (24) = "X"
    (25) הטור = "Y"
    עמודה (26) = "Z"

    דים אני = 27
    עבור Ltr1 = 1 עד 26
    עבור Ltr2 = 1 עד 26
    (i) עמודה = עמודה (Ltr1) & עמודה (Ltr2)
    אני + = 1
    הבא
    הבא

    חזור העמודה (מספר)
    סוף פונקציה

    • אלישע אומר:

      TECKNOCK, תודה רבה על העזרה!, אבל יש לזכור כי אם אנו יוצרים את הספר תואם Excel 97-2003 העמודות המרבי המותר הוא 256 (ל-IV). רק כהערה לקחת זאת בחשבון.

      אלישע

  14. raysip אומר:

    כאשר אני מפעיל funcioana יישום מקומי כראוי, אך כאשר אני מעלה את זה באתר אינטרנט אינו יוצר Excel, אך לא מקבל שגיאה

  15. Aderson אומר:

    אני מחפש haciend מוארק ל-SQL שלי

    לא כמו שאני עושה, אבל אני אעשה AJA

  16. פול אומר:

    אני זקוק לעזרה לנסות לעשות את זה כל הדרך שבה אתה נמצא כאן ואני מקבל שגיאה כל

  17. ג'ון אומר:

    ביד, אתה לכל היותר מושלמת funca.

  18. neji אומר:

    טוב, מזל טוב הם בתפקיד הטוב ביותר שקראתי והתייעץ

  19. פטרישיה אומר:

    תודה! זה היה מאוד מועיל

  20. f.delgado אומר:

    היי קוד לא עובד עלי מסמן שגיאות da.Fill (DS)

    אני לסמן את השגיאה לא נמצא SqlException

    אתה יכול לעזור לי

  21. jav אומר:

    שאלה אחת יכול לעשות ישירה שאילתת SQL טוען להצטיין?

    לפני כן דרך

  22. דלפינו מוראלס אומר:

    שלום לך קודם כל אתה agradesco תרומתכם חברים.
    שים לב, יש לי בעיה אני לא יכול למצוא התייחסות שאתה מציין, אני התקנתי אופיס 2010, ואשר אינה יכולה להיות הבעיה שלי.
    agradeseria עצה לך.

  23. אמריקה אומרת:

    שלום, תרומה טובה מאוד, זה מה שאני מחפש ... אבל כאשר אני מפעיל את זה משרת את הפיתוח עובד מושלם, אבל כשאני לגשת לאינטרנט ממחשב אחר לא עושה כלום ... לא שגיאה, אלא עושה משהו לא שיא ...

    מישהו יודע איך לתקן את זה?

  24. Azofeifa הרנן אומר:

    תודה רבה, עזר לי למשל שלך כבסיס ליצירת פונקציה יוצרת לי קובץ Excel אלא ישירות את הערכים המאוחסנים ברשת היא מה במקרה dejor שימושית למישהו

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / קבענו קו עם כותרות העמודות
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    objHojaExcel.Range ("A1"). בחר ()
    אני דים כמספר שלם = 0
    Lncol דים כמספר שלם = 1
    עבור DC כל אחד dgvSocios.Columns

    אם dgvSocios.Columns.Item (אני). גלוי = נכון אז
    objHojaExcel.Range (ColumnName (lncol) & 1). ערך = dgvSocios.Columns.Item (אני). HeaderText
    lncol + = 1
    סוף אם
    אני + = 1
    הבא
    בשורה + = 1

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / אנו לעצב את כותרות השורות
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    כמו Excel.Range דים 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

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / טען את כל השורות ב datatable
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    ProgressBar1.Maximum = dgvSocios.Rows.Count
    טור = 0
    ProgressBar1.Value = 0
    ProgressBar1.Visible = True
    Lnfila דים כמספר שלם = 0
    אני = 1
    עבור כל אחד ד"ר ב dgvSocios.Rows
    טור = 0

    עבור DC כל אחד dgvSocios.Columns
    אם dgvSocios.Columns.Item (טור). גלוי = נכון אז
    objHojaExcel.Range (ColumnName (אני) & שורה). ערך = dgvSocios.Item (עמודה, lnfila). Value.ToString
    אני + = 1
    סוף אם
    טור + = 1
    הבא
    lnfila + = 1
    בשורה + = 1
    ProgressBar1.Value + = 1
    הבא

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / אנו להתאים את רוחב באופן אוטומטי
    '/ / מכל העמודים המשמשים
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    objRango = objHojaExcel.Range ("A1:" & ColumnName (lncol) & (lnfila + 1) ToString.)
    objRango.Select ()
    objRango.Columns.AutoFit ()

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / אנו אומרים Excel כדי להציג
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    MsgBox ("ייצא ל-Excel השלם", MsgBoxStyle.Information ". :: Solovb.net ::").
    m_Excel.Visible = True

  25. Pako אומר:

    להביא מעט עבור פונקציה זו, הקוד הבא מונע שימוש "טווח" לא לדרוש "ColumnName" הפונקציה

    בברכה,

    יבוא System.Data
    יבוא System.Data.SqlClient
    יבוא Microsoft.Office.Interop.Excel
    מודול אישי mutil
    אישי תת ExportarDtToExcel (ByVal Dt כפי הכותרת System.Data.DataTable ByVal, כמחרוזת)
    כמו Excel.Application דים m_Excel
    כמו Excel.Workbook דים objLibroExcel
    כמו עבודה דים objHojaExcel
    לנסות
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / יצירת אובייקט Excel
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    m_Excel = CreateObject ("Excel.Application")
    m_Excel.Workbooks.Add objLibroExcel = ()
    objHojaExcel = objLibroExcel.Worksheets (1)
    objHojaExcel.Name = כותרת
    objHojaExcel.Visible = Excel.XlSheetVisibility.xlSheetVisible
    objHojaExcel.Activate ()

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / להגדיר שני משתנים כדי לשלוט שורה ועמודה
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    בשורה דים כמספר שלם = 1
    טור דים כמספר שלם = 1

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / קבענו קו עם כותרות העמודות
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    "ObjHojaExcel.Range (" A1 "). בחר ()

    objHojaExcel.Cells (עמודה שורה). select ()
    עבור DC כל אחד Dt.Columns
    objHojaExcel.Cells (עמודה שורה). ערך = dc.ColumnName
    טור + = 1
    הבא
    בשורה + = 1

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / אנו לעצב את כותרות השורות
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    כמו Excel.Range = עמום 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

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / טען את כל השורות ב datatable
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /

    טור = 1

    עבור כל אחד ד"ר ב Dt.Rows
    טור = 1
    עבור DC כל אחד Dt.Columns
    objHojaExcel.Cells (עמודה שורה). ערך = ד"ר (dc.ColumnName)
    טור + = 1
    הבא
    בשורה + = 1

    הבא

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / אנו להתאים את רוחב באופן אוטומטי
    '/ / מכל העמודים המשמשים
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    objHojaExcel.Cells objRango = (1, Dt.Columns.Count)
    objRango.Select ()
    objRango.Columns.AutoFit ()

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / אנו אומרים Excel כדי להציג
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    MsgBox ("ייצא ל-Excel השלם" MsgBoxStyle.Information, "ייצוא")
    m_Excel.Visible = True

    תפוס לשעבר כחריג

    MsgBox (ex.ToString)

    בסופו של דבר

    objHojaExcel שום דבר =
    objLibroExcel שום דבר =
    m_Excel שום דבר =

    נסו לסיים את
    End Sub

    סוף מודול

  26. פמלה אומר:

    מישהו מוכן להסביר progress1 עולה?

הערה