המרת קובץ excel לתוך database

המרת קובץ excel לתוך database

אני מנסה להמיר קובץ excel ל database. רשמתי את הקוד הבא: string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + filename + ";" + "Extended Properties=Excel 8.0;IMEX=1;"; OleDbDataAdapter myData=new OleDbDataAdapter("SELECT * FROM [Sheet1$]", strConn); DataSet myDataSet = new DataSet(); myData.Fill(myDataSet, "ExcelInfo"); אבל זה לא קולט לי את המחרוזות (קולט רק מספרים ותאריכים) --צירפתי קובץ עם הקוד כתוב יותר נוח
 
הסתדרתי - אבל יש בעיה עחרת

הפתרון היה להוסיף שדה HDR=YES. אבל הבעיה עכשיו: לא ידוע מה שם ה sheet מראש ובקוד הנ"ל צריך לתת את השם שלו. מה עושים? איך מגדירים שימיר את ה sheet הראשון מבלי לדעת איך קוראים לו? תודה
 

Justin Angel

New member
מוצ'ו פרובלמה מואי צ'יקיטה.

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

J u n k y

New member
אלמנטרי, ווטסון

בעצם, לא כ"כ אלנמטרי בהתחשב בזמן שלקח לי למצוא את זה...ל - OleDbConnection יש מתודה שנקראת GetOleDbSchemaTable.תסתכל כאן כדי להבין איך משתמשים בה כדי למצוא את שמות הגליונות שבקובץ. אגב: ברוך הבא לגיהנום שנקרא: יבוא מאקסל. מקום שבו אם הדרייבר נתקל בנתון מסוג שונה מכל השאר בעמודה הוא מחזיר NULL, ועוד כל מיני דברים נחמדים... אצלנו רכשנו קומפוננטה ליבוא מאקסל כדי שהכל יעבוד כמו שצריך.
 
למעלה