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

By | 7 בספטמבר 2020

השתמשתי בשיטה הזו בהרבה הזדמנויות ואתמול שוב, הפעם עבור משהו שאני יכול להראות.

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

האתר כולל רשימה ארוכה של חותמים והזהירו אותי מראש שיתווספו אליה שמות.

את נייר העמדה קיבלתי במסמך Word ובתוך המסמך רשימת חותמים בטבלה.

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

העתקתי את רשימת השמות והתפקידים מ Word לאקסל.

בטור C יצרתי נוסחה פשוטה שיוצרת קוד HTML מהערכים.

="<p class = 'name'>" & A1 & "</p><p class = 'institute'>" & B1 & "</p>"

התוצאה היא

<p class = 'name'>ד״ר ירון בר-לביא</p><p class = 'institute'>יו"ר איגוד רופאי טיפול נמרץ בישראל</p>

עכשיו, כל מה שהייתי צריך לעשות זה להעתיק ולהדביק את טור C לתוך עורך הקוד.

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

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

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

מקווה שתקבלו השראה ותשתמשו בשיטה בפעם הבאה שיהיה לכם צורך ליצור קוד המשלב דאטה.

4 thoughts on “שימוש באקסל ליצירת קוד המכיל מידע

  1. אחד

    פתרון טוב שמראה שימוש יצירתי בכלים זמינים. אבל אם כבר עשית את זה כמה פעמים, לא כדאי ללמוד להשתמש ב-regex?

    אני [חנן] אוהב תגובות כאלה שמניחות שאני לא יודע regex ולא שקלתי להשתמש בזה.
    נראה אם יהיה לי כוח לכתוב את התשובה הטרחנית שלי עד הסוף.

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

    regex (מניח שימוש ב ++Notepad)
    מדביק את המידע למסמך חדש.
    בהנחה שיש שני טורי מידע, אני צריך לבצע חיפוש והחלפה על תחילת השורה ^, האמצע בין שני הטורים t/ וסיום השורה $
    שלוש פעולות
    אם זה לא מצליח בפעם הראשונה, אני צריך לבטל את הפעולה כדי לבצע את ההחלפה שוב.
    אחרי שעברו כמה איטרציות והכל יצא כמו שאני רוצה, איך אני שומר את הפעולות לפעם הבאה?
    אפשר להקליט מקרו
    אפשר לשמור את הטקסט להחלפה בקובץ נפרד, לזכור איפה הוא ואז לבצע שלוש פעמים חיפוש והחלפה
    אפשר לקחת את הקוד מהדוגמה הקודמת ושוב לבצע שלוש פעמים חיפוש והחלפה.
    או שאפשר להשתמש באקסל.

    regex (מניח שימוש באיזו שפת סקריפטינג)
    מעתיק את הנתונים לקובץ טקסט.
    כותב קוד שקורא את קובץ הטקסט, עובר שורה שורה ומבצע את החיפוש וההחלפה.
    לאן הקוד שולח את התוצאה?
    אם למסך, צריך לגלול את המסך ולהעתיק את כל הפלט.
    אם הקוד שומר את התוצאה בקובץ נפרד, מעתיק ממנו.
    מריץ את זה כמה פעמים עד שיוצא נכון.
    בפעם הבאה, אני צריך לזכור שני דברים – את שם קובץ הסקריפט ואת שם קובץ הנתונים. או שאני שולח את שם הקובץ כפרמטר. לא זוכר איזו מהאפשרויות. צריך לפתוח את הקוד כדי להיזכר.
    או שאפשר להשתמש באקסל.

    כמו כן
    PERL problems

  2. רענן אבידור

    קול.
    עשיתי את זה פעם קצת אחרת. לקחתי אקסל ושמרתי אותו כ-csv.
    כתבתי פונקציה שהופכת את ה-csv ל-json ו-json קל להפוך ל-html.

  3. חנן כהן Post author

    אני [חנן] אוהב תגובות כאלה שמניחות שאני לא יודע regex ולא שקלתי להשתמש בזה.
    נראה אם יהיה לי כוח לכתוב את התשובה הטרחנית שלי עד הסוף.

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

    regex (מניח שימוש ב ++Notepad)
    מדביק את המידע למסמך חדש.
    בהנחה שיש שני טורי מידע, אני צריך לבצע חיפוש והחלפה על תחילת השורה ^, האמצע בין שני הטורים t/ וסיום השורה $
    שלוש פעולות
    אם זה לא מצליח בפעם הראשונה, אני צריך לבטל את הפעולה כדי לבצע את ההחלפה שוב.
    אחרי שעברו כמה איטרציות והכל יצא כמו שאני רוצה, איך אני שומר את הפעולות לפעם הבאה?
    אפשר להקליט מקרו
    אפשר לשמור את הטקסט להחלפה בקובץ נפרד, לזכור איפה הוא ואז לבצע שלוש פעמים חיפוש והחלפה
    אפשר לקחת את הקוד מהדוגמה הקודמת ושוב לבצע שלוש פעמים חיפוש והחלפה.
    או שאפשר להשתמש באקסל.

    regex (מניח שימוש באיזו שפת סקריפטינג)
    מעתיק את הנתונים לקובץ טקסט.
    כותב קוד שקורא את קובץ הטקסט, עובר שורה שורה ומבצע את החיפוש וההחלפה.
    לאן הקוד שולח את התוצאה?
    אם למסך, צריך לגלול את המסך ולהעתיק את כל הפלט.
    אם הקוד שומר את התוצאה בקובץ נפרד, מעתיק ממנו.
    מריץ את זה כמה פעמים עד שיוצא נכון.
    בפעם הבאה, אני צריך לזכור שני דברים – את שם קובץ הסקריפט ואת שם קובץ הנתונים. או שאני שולח את שם הקובץ כפרמטר. לא זוכר איזו מהאפשרויות. צריך לפתוח את הקוד כדי להיזכר.
    או שאפשר להשתמש באקסל.

  4. אילן

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

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *