היום אני רוצה להראות דוגמא כי שימש לי במשך זמן רב, ובכל זאת אני עדיין משתמש בו.
אנו נעשה למשל לייצא ל-Excel DataTable מלא ללא תלות במספר עמודות או שורות שיש להם.
אולי יש דרכים רבות לעשות זאת, אבל אני מוצא את זה שימושי באמת שכן שיטה זו פועלת על כל גירסה של Excel. בנושאי compatilidad עם גרסאות חדשות יותר של Excel לטפל רק 256 עמודים.
הדבר הראשון שעלינו לעשות הוא להוסיף התייחסות Microsoft.Office.Interop.Excel ואנחנו עושים באופן הבא:

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

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

טופס לייצא בסיס הנתונים ל-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) = "ד" הטור חזרה (מספר) פונקציה סוף סוף כיתה שיטה זו שירתה אותי היטב, ואני מקווה שאתה עושה יותר מדי ... אנא השאירו את הערותיך.
מידע Bitacoras.com ...
דרג ב Bitacoras.com: היי, היום אני רוצה להראות דוגמא כי שימש לי במשך זמן רב, ובכל זאת אני עדיין משתמש בו. אנו נעשה למשל לייצא ל-Excel DataTable מלא ללא קשר למספר העמודות או השורות טנג .....
טוב ...
בהודעה מצוין! תודה עזר לי מלא, אבל יש לי ספק .. כקישור הוא עם SQL .. כיצד ניתן לשנות את שם העמודות!? כי זה מביא את שם בתחומי SQL ..!
אני מקווה ואני לא הבנתי ..
תודה!
אני הולך להציל את ...
בשלב מסוים זה יהיה שימושי ...
האם זה תקף עבור Excel 2007? היו לי בעיות עם היצוא לפתח, כי הוא תקף עבור גירסאות מוקדמות יותר, אך לא עבור 2007. תודה
מקור עצום קוד. שירת אותי היטב. ש 'זה היה מזמן.
אמנם גם צריך ecxel יבוא טבלת הנתונים. אבל יכול להיות סביבתי DataGrid ולאחר מכן לעדכן את DataAdapter וקבלת שינויים datatable יינצלו ב BD ש ... אני מקווה שאוכל לעזור או למצוא .. תודה
היי תודה רבה! זה מעולה!
אבל אני תוהה איפה DataGrid מציין כי נעשה שימוש במקרה שהם Datagrid כמה?
על השולחן אתה בכוננות ...
SELECT * FROM (שם הטבלה)
אם אתה רוצה להגדיר אילו שדות אתה רוצה
בחר (שדות, שדות, שדות) * מהטבלה
ejm
לבחור, מכונית צבע, שנה את המכונית
יש לי בעיה עם זה למשל אני עושה 2 טעויות משתנים DC ו ד"ר, אני יכול לעשות כדי לתקן את זה?
היי, נסה את זה:
עבור כל אחד כמו ד"ר DataRow ב ds.Tables (0). שורות DataColumn עבור DC כל אחד ds.Tables כמו (0). עמודות
אני מקווה שזה ייפתר. ברכות.
Hola.
זה chevere, אבל חלק שם העמודה לא מאוד פונקציונלי.
אני להעלות לבלוג שלי גודל קטנים בהרבה מגבלות קוד וללא
jaysson.blogspot.com
מוכן ועלתה מאמר
http://jaysson.blogspot.com/2010/06/columnas-es-excel.html
מאמר טוב, אבל יש לי בעיה במחשב שלי עם Excel 2007 עובד בצורה חלקה, אבל עם מחשבים עם Excel 2003 או מוקדם יותר לא עובד. מישהו יודע אם הבעיה של הספריות מיובאים, כי אתה רומז כי כל עובד להצטיין, אבל נתקלתי בבעיה זו.
בואו נראה אם מישהו יכול לפתור את הספק.
תודה.
טוב ...
בהודעה מצוין! תודה עזר לי מלא, אבל יש לי ספק .. כקישור הוא עם SQL .. כיצד ניתן לשנות את שם העמודות!? כי זה מביא את שם בתחומי SQL ..!
אני מקווה ואני לא הבנתי ..
תודה!
אישי תת 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
מעולה!! .... תודה אחי, ולקח 3 ימים עם מודול עבור ייבוא / ייצוא Excel ושום דבר לא עבד .... אבל עם הפתרון שלך אני רואה שוב את הכוכבים ... ברכות מ ארקיפה:! ..
על לא דבר. אני שמח שימש כדוגמה.
שלום תירוץ progressBar1 עולה?? אבל אני מנסה לעשות את אותו חלק blokie
קוד זה עזר לי הרבה, אז אני משתף פעולה עם שני הסנטים שלי:
יש אופטימיזציה "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). רק כהערה לקחת זאת בחשבון.
אלישע
כאשר אני מפעיל funcioana יישום מקומי כראוי, אך כאשר אני מעלה את זה באתר אינטרנט אינו יוצר Excel, אך לא מקבל שגיאה
אני מחפש haciend מוארק ל-SQL שלי
לא כמו שאני עושה, אבל אני אעשה AJA
אני זקוק לעזרה לנסות לעשות את זה כל הדרך שבה אתה נמצא כאן ואני מקבל שגיאה כל
ביד, אתה לכל היותר מושלמת funca.
[...] [...]
טוב, מזל טוב הם בתפקיד הטוב ביותר שקראתי והתייעץ
תודה! זה היה מאוד מועיל
היי קוד לא עובד עלי מסמן שגיאות da.Fill (DS)
אני לסמן את השגיאה לא נמצא SqlException
אתה יכול לעזור לי
שאלה אחת יכול לעשות ישירה שאילתת SQL טוען להצטיין?
לפני כן דרך
שלום לך קודם כל אתה agradesco תרומתכם חברים.
שים לב, יש לי בעיה אני לא יכול למצוא התייחסות שאתה מציין, אני התקנתי אופיס 2010, ואשר אינה יכולה להיות הבעיה שלי.
agradeseria עצה לך.
שלום, תרומה טובה מאוד, זה מה שאני מחפש ... אבל כאשר אני מפעיל את זה משרת את הפיתוח עובד מושלם, אבל כשאני לגשת לאינטרנט ממחשב אחר לא עושה כלום ... לא שגיאה, אלא עושה משהו לא שיא ...
מישהו יודע איך לתקן את זה?
תודה רבה, עזר לי למשל שלך כבסיס ליצירת פונקציה יוצרת לי קובץ 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
להביא מעט עבור פונקציה זו, הקוד הבא מונע שימוש "טווח" לא לדרוש "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
סוף מודול
מישהו מוכן להסביר progress1 עולה?