מדריך זה שלב אחר שלב מתאר כיצד להתחבר ל- Microsoft Excel, לאחזר נתוני גיליונות ולאפשר עריכת נתונים באמצעות DBGrid. תמצא גם רשימה של השגיאות הנפוצות ביותר שעשויות להופיע בתהליך, וכן כיצד להתמודד איתן.
מה מכוסה למטה:
- שיטות להעברת נתונים בין Excel ל- דלפי. כיצד להתחבר ל- Excel עם ADO (אובייקטי נתונים של ActiveX) ודלפי.
- יצירת עורך גיליון אלקטרוני של Excel באמצעות דלפי ו- ADO
- אחזור הנתונים מ- Excel. כיצד להפנות לטבלה (או טווח) בחוברת עבודה של Excel.
- דיון על סוגי שדות Excel (עמודה)
- כיצד לשנות גיליונות אקסל: ערוך, הוסף ומחק שורות.
- העברת נתונים מיישום דלפי ל- Excel. כיצד ליצור גיליון עבודה ולמלא אותו בנתונים מותאמים אישית ממסד נתונים של MS Access.
כיצד להתחבר ל- Microsoft Excel
Microsoft Excel הוא מחשבון גיליון אלקטרוני חזק וכלי ניתוח נתונים. מכיוון ששורות ועמודות בגליון עבודה של Excel קשורים קשר הדוק לשורות ועמודות בטבלת מסד נתונים, מפתחים רבים מוצאים לנכון להעביר את הנתונים שלהם לחוברת עבודה של Excel למטרות ניתוח; ולאחזר נתונים ליישום אחר כך.
הגישה הנפוצה ביותר להחלפת נתונים בין היישום שלך ל- Excel היא
אוטומציה. אוטומציה מספקת דרך לקרוא נתוני אקסל באמצעות מודל אובייקטים של Excel לצלילה בגליון העבודה, לחילוץ הנתונים שלה ולהצגתם בתוך רכיב דמוי רשת, כלומר DBGrid או StringGrid.אוטומציה מעניקה לך את הגמישות הגדולה ביותר לאיתור הנתונים בחוברת העבודה, כמו גם היכולת לעצב את גליון העבודה ולבצע הגדרות שונות בזמן הריצה.
כדי להעביר את הנתונים שלך ל- Excel וממנו ללא אוטומציה, אתה יכול להשתמש בשיטות אחרות כגון:
- כתוב נתונים לקובץ טקסט מופרד בפסיק, ואפשר ל- Excel לנתח את הקובץ לתאים
- העבר נתונים באמצעות DDE (Dynamic Data Exchange)
- העבר את הנתונים לגליון עבודה וממנו באמצעות ADO
העברת נתונים באמצעות ADO
מכיוון שאקסל תואם את JET OLE DB, אתה יכול להתחבר אליו עם דלפי באמצעות ADO (dbGO או AdoExpress) ואז לאחזר את הנתונים של גליון העבודה למערכת נתונים של ADO על ידי הנפקת שאילתת SQL (בדיוק כמו שתפתחו מערך נתונים כנגד כל בסיס נתונים שולחן).
בדרך זו, כל השיטות והתכונות של אובייקט ADODataset זמינות לעיבוד נתוני Excel. במילים אחרות, באמצעות רכיבי ADO מאפשרים לך לבנות יישום שיכול להשתמש בחוברת עבודה של Excel כמסד הנתונים. עובדה חשובה נוספת היא ש- Excel הוא תהליך שאינו מתהליך שרת ActiveX. ADO מפעיל בתהליך וחוסך את התקורה של שיחות יקרות מחוץ לתהליך.
כשאתה מתחבר ל- Excel באמצעות ADO, אתה יכול להחליף נתונים גולמיים רק מחוברת עבודה ומחוצה לה. לא ניתן להשתמש בחיבור ADO לצורך עיצוב גיליונות או ליישום נוסחאות לתאים. עם זאת, אם אתה מעביר את הנתונים שלך לגליון עבודה שעוצב מראש, הפורמט נשמר. לאחר הוספת הנתונים מהיישום שלך ל- Excel, אתה יכול לבצע כל עיצוב מותנה באמצעות מאקרו (שהוקלט מראש) בגליון העבודה.
אתה יכול להתחבר ל- Excel באמצעות ADO עם שני ספקי ה- OLE DB שהם חלק מ- MDAC: Microsoft Jet OLE DB Provider או ספק OLE DB של Microsoft עבור מנהלי התקנים ODBC. אנו נתמקד בספק Jet OLE DB, בו ניתן להשתמש כדי לגשת לנתונים בספרי עבודה של Excel באמצעות מנהלי התקנים של ISAM (Indexed Sequential Access Method).
טיפ: ראה את קורס מתחילים לדלפי תכנות מסד נתונים של ADO אם אתה חדש ב- ADO.
קסם החיבור
המאפיין ConnectionString אומר ל- ADO כיצד להתחבר למקור הנתונים. הערך המשמש ל- ConnectionString מורכב מארעון אחד או יותר ש- ADO משתמש בו כדי ליצור את החיבור.
בדלפי, רכיב ה- TADOConnection מכיל את אובייקט החיבור ADO; ניתן לשתף אותו באמצעות מערכי נתונים רבים של ADO (TADOTable, TADOQuery וכו ') באמצעות מאפייני החיבור שלהם.
כדי להתחבר ל- Excel, מחרוזת חיבור תקפה כוללת רק שני פיסות מידע נוספות - הנתיב המלא לחוברת העבודה ולגרסת קובץ האקסל.
מחרוזת חיבור לגיטימית יכולה להיראות כך:
ConnectionString: = 'ספק = מיקרוסופט. מטוס סילון. OLEDB.4.0; מקור נתונים = C: \ MyWorkBooks \ myDataBook.xls; מאפיינים מורחבים = Excel 8.0; ';
בעת חיבור לתבנית מסד נתונים חיצונית הנתמכת על ידי Jet, יש להגדיר את המאפיינים המורחבים עבור החיבור. במקרה שלנו, כשאתה מתחבר ל"מסד נתונים של Excel "משתמשים במאפיינים מורחבים להגדרת גרסת קובץ ה- Excel.
עבור חוברת עבודה של Excel95, ערך זה הוא "Excel 5.0" (ללא הציטוטים); השתמש "Excel 8.0" עבור Excel 97, Excel 2000, Excel 2002 ו- ExcelXP.
חשוב: עליך להשתמש בספק Jet 4.0 מכיוון ש- Jet 3.5 אינו תומך במנהלי התקנים של ISAM. אם תגדיר את ספק הג'ט לגירסה 3.5, תקבל את השגיאה "לא יכול היה למצוא ISAM להתקנה".
נכס מורחב נוסף של Jet הוא "HDR =". "HDR = כן" פירושו שיש שורת כותרות בטווח, כך שה- Jet לא יכלול את השורה הראשונה של הבחירה במערך הנתונים. אם צוין "HDR = לא", הספק יכלול את השורה הראשונה של הטווח (או טווח בשם) למערך הנתונים.
השורה הראשונה בטווח נחשבת כברירת מחדל לשורת הכותרת ("HDR = כן"). לכן, אם יש לך כותרת עמודה, אינך צריך לציין ערך זה. אם אין לך כותרות עמודות, עליך לציין "HDR = לא".
עכשיו כשאתה מסודר, זה החלק בו הדברים נעשים מעניינים מכיוון שאנו מוכנים כעת לקוד כלשהו. בואו נראה כיצד ליצור עורך גיליון אלקטרוני פשוט של Excel באמצעות דלפי ו- ADO.
הערה: עליך להמשיך גם אם חסר לך ידע בתכנות ADO ו- Jet. כפי שתראו, עריכת חוברת עבודה של Excel היא פשוטה כמו עריכת נתונים מכל בסיס נתונים רגיל.