איך יודעים איזה using נחוץ?

גרי רשף

New member
איך יודעים איזה using נחוץ?

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

yuval k

New member
אתה מתכוון לרפרנס?

בד"כ אמור להיות כתוב.. בכל אופן, עבודה מול אופיס אמורה לעבוד החל מ-Office 2003, לפי מה שכתוב על זה במסדן. ה-DLL שאתה צריך לעשות אליו רפרנס הוא microsoft.office.interop.excel.dll (היה כתוב שם רק Excel Interop Assembly, כך שמעט חיפוש כן היה דרוש הפעם).
 

pagis

New member
התממשקות לאופיס

אני לא יודע מה זה בכלל workbooks אבל התממשקות לאופיס מ דוט נט אפשרית מאוד גם בגרסאות אופיס מוקדמות (רק שזה קצת, ממש קצת, מורכב). כעקרון אם אתה רוצה להתממשק ל DATA שייצר יישום אופיס הכי פשוט זה דרך ODBC, ואם אתה רוצה להתממשק לאפליקציה עצמה אז יש מלא win32 dll's. השאלה היא מה בדיוק אתה רוצה לעשות בהתממשקות הזו לאופיס.
 

yuval k

New member
התכוונתי למה שהיה כתוב בלינק

שכחתי לציין
 

גרי רשף

New member
יצוא נתונים ל-Excel

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

pagis

New member
דרך ה ADO.NET

ה provider של האקסל הוא:
"Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=C:\Spreadsheets\calculations.xls;" & _ "Extended Properties=Excel 8.0"​
 

גרי רשף

New member
זה טוב בשביל לקרוא נתונים..

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

pagis

New member
מה שאתה יכל לעשות

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

מנסיוני, התחברות לאקסל כמסד נתונים היא בעייתית. יש שם הרבה עניינים לא פתורים, כמו שמירת מספרים כטקסט, או טקסט כמספרים... ולאחר חיפושים ב MSDN מצאתי שזה מה יש (כלומר ההסברים עצמם מתארים את ההתנהגות הבעייתית הזו, וכרגיל, זה לא באג, זה פיצ'ר...). אישית, מתוך VB6, פתרתי את זה ע"י קריאת הנתונים מהאקסל לתוך מערך דו מימדי (מסוג Variant, שזה על הפנים, אני יודע). כנ"ל לגבי כתיבת נתונים: מגדירים Range ו"שופכים" אליו מערך דו מימדי מסוג Variant. אני מאמין שעקרונית, אותו פתרון יכול להיות שימושי גם בסביבת דוט נט. עוד לא ניסיתי, אבל זה נראה לי אפשרי.
 

גרי רשף

New member
עדיין לגבי עבודה מול Office

כל הדוגמאות שמצאתי לגבי כתיבת נתונים לתוך Excel עושות שימוש זה או אחר ב- Interop.Office.dll או ב- Interop.Excel.dll. יצרתי אליהם Refference בפרוייקט אך זה לא עובד. האם זה בגלל ש-Office 2003 אינו מותקן אצלי אלא רק Office 2000? ניסיתי להיעזר בהצעתו של pgis אך היא טובה רק לקריאת נתונים מה-Excel על ידי פקודת Select ולא לשינוי. הערה- את ה-dll-ים הנ"ל הורדתי יחד עם דוגמה מהאינטרנט והם לא היו אצלי לפני כן.
 
למעלה