עבור לתוכן

המרת טבלת EXCEL לטבלה שבתוך הDATABASE בASP.NET

Featured Replies

פורסם

בDATABASE שלי יש טבלת PRODUCTS עם שדות כמו שם, מחיר, תמונה וכו'.

יש לי קובץ אקסל עם טור ארוך של שמות מוצרים, אך אין באפשרותי להעתיק את כולם לטבלה בDATABASE כי היא פותחת שורה כל פעם - פעם אחת. האם ניתן להמיר את כל הEXCEL לטבלה לDATABASE?

פורסם

כן...תחפש על זה בגוגל יש מיליון דוגמאות...

http://www.codeproject.com/KB/database/SqlBulkCopy.aspx

אתה יכול לקרוא קובץ EXCEL ומן הסתם יכול לכתוב לתוך DB........

פורסם
  • מחבר

איפה עלי לרשום את קטעי הקוד? סתם בCLASS שמתחשק לי ?

אגב בכל הקוד לא מצויין מקום אחד בו עליי לרשום את הכתובת של קובץ הXCEL שבמחשב שלי, אז מאיפה הוא יקח את הנתונים?

פורסם

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

אני לא יודע בעל פה איך משתמשים בזה אבל העקרון פשוט וברור...

1. לקרוא את התוכן של הקובץ

2. להכניס את הנתונים לDB

לקרוא מתוך אקסל זה לא בעיה הנה קוד


OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Book1.xls;Extended Properties=Excel 8.0");

OleDbDataAdapter da = new OleDbDataAdapter("select * from MyObject", con);

DataTable dt = new DataTable();da.Fill(dt);

ולכתוב לDB אתה אמור לדעת אם אתה כותב לASP.NET ....

בהצלחה

פורסם

סתם שאלה למה לא להשתמש בExcel בשביל לעשות זאת?

אתה יכול ליצור חיבור למסד נתונים באקסל ולעשות כל דבר שתרצה דרכו....

פורסם
  • מחבר

באמת? אפשר להוסיף את קובץ האקסל לפרוייקט כאילו הוספתי מסד נתונים SQL? אם כך זה פותר את כל הבעיה! אני לא צריך להמיר שום דבר לטבלה. אבל אם כך יש לי כמה שאלות חשובות:

האם השאילתות שלי, שעשיתי על הטבלה, יעבדו על קובץ האקסל? הרי בביטוי FROM צריכים לציין מהי הטבלה, וכעת הנתונים לא יהיו כלל בטבלה אלה בקובץ.

בנוסף, האם כדי לקשר את האקסל אני פשוט מוסיף CONNECTION STRING רגיל כמו שאני מקשר מסד נתונים חדש?

פורסם

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

בכל מקרה גם אם האקסל ישמש בעתיד לעדכון נתונים, אל תעשה את זה ברמת הקוד זה דבילי, תעשה את זה ברמת האקסל - הממשק הדיפולטי יספיק, ואם אתה צריך משהו קצת יותר חכם אז VBA באקסל עצמו מעבר לכך אל תסתכך עם קריאת קובץ אקסל עם ASP.NET זה פשוט תכנון לקוי.

פורסם
  • מחבר

ממה שאני מבין ממך אני בסוף כן צריך להעביר את המידע מהאקסל לטבלה בDB.

אני רק חייב לציין משהו קטן, אני עובד על פרוייקט של כיתה י"ב, כך שאני לא ממש יודע יותר מדי על תיכנות אתרים ולומד משהו חדש משיעור לשיעור בכיתה, כך שרוב ההסברים שניתנו לי כאן - אני ממש לא הצלחתי להבין. בפשטות - איפה עלי לרשום את הקוד הנ"ל כדי שכל המידע מהקובץ ירשם בטבלת המוצרים של הפרוייקט שלי? http://www.codeproject.com/KB/database/SqlBulkCopy.aspx

לאחר שארשום אותו - מיד עם הרצת האתר המידע יועבר? תודה.

פורסם

אוקיי בוא נשאל אותך שוב? האם החלק של העתקת התוכן מהאקסל הוא חלק מהמשימה(שצריך לבצע אותה עם קוד)? או לא? אם לא תפתח את גיליון האקסל במחשב שבו אתה מפתח, לך ללשונית Data תחלץ על Connect to SQL Server וסע.

אם זה חלק מהמשימה אתה תצתרך לחשוב על איך אתה עושה את זה, אבל שוב זה ממש לא הגיוני כיוון שהדבר הזה לא אמור להיות מבוצע בצד השרת ע"י קוד ASP, זה טמטום, צד השרת אמור לנהל את הבקשות של הלקוח, לא לבצע דברים אחרים בשותף, כל פעולה שלא קשורה בצורה ישירה לטיפול בלקוחות מקומה לא בקוד של האתר שלך אלא במקום אחר.

פורסם
  • מחבר

אני לא חושב שהבנת מה אני רוצה.

אני צריך לבנות פרוייקט 5 יחידות ובחרתי לבנות אתר למכירת חלקי אופנועים. אני מחזיק בDATABASE של האתר טבלה בשם PRODUCTS בה יש רשימה של כל החלקים שאני מוכר. מדובר באוסף מרשים של 1000 חלקים, אולם זאת התאוריה, טרם מלאתי את שדות הטבלה.

כל רשימת שמות החלקים - יש לי כבר מסודרת בטור ארוך בקובץ אקסל, וכל מה שאני רוצה לעשות זה להעתיק את 1000 השמות לטבלת הPRODUCTS בפרוייקט שלי.

הבעיה - אי אפשר, אין אפשרות להעתיק את כולם אלא חייבים למלות שדה שדה ידנית. אני מחפש דרך מהירה להעתיק את כל ה1000.

ואני שואל - מהי הדרך?

פורסם

:s07:

1) אתה לא יודע לכתוב SQL statement כי זה פשוט מצחיק, עזוב אקסל קח String Array תעשה ותדחוף אותם איתו, תפתח SQL Managment Studio ותעשה Copy Paste יש כלכך כלכך הרבה דרכים לעשות את זה שזה פשוט עצוב שאתה מדבר איתי על "שורה שורה".

2) כמו שאמרתי תפתח אקסל, לך ללשונית DATA, תתחבר למסד הנתונים שאותו אתה רצה לאכלס וסע.

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

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים