יצוא של דף HTML לקובץ CSV - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

יצוא של דף HTML לקובץ CSV


jackhammer

Recommended Posts

שלום לכולם.

 

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

 

ניסיתי לחפש בגוגל אבל כל הפתרונות מערבים PHP או PERL או שפות תכנות אחרות... 

אני לא מפתח ולא ממש מכיר שפות (שפת HTML היא די קלה אז בודק ספצפית מה שאני צריך בשביל הדף שאני בונה).

 

האם יש דרך קלה לעשות את זה?

 

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

 

אשמח לעזרה אם מישהו מכיר.

 

תודה מראש

קישור לתוכן
שתף באתרים אחרים

לא ברור לי איפה קובץ ה-CSV הזה אמור להווצר, אצל המשתמש על המחשב? בשרת?

 

בכל מקרה אתה תצטרך להשתמש בשפת תכנות כלשהי, אין דרך אחרת.

קישור לתוכן
שתף באתרים אחרים

בשרת.

 

קצת יותר פרטים:

 

יש לי סקריפט בפאוורשל שקורא נתונים מקובץ CSV ויוצר משתמשים לפי המידע ממנו.

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

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

 

אני רוצה שהדף HTML הזה יקח את המידע שהם מזינים וישמור אותו בקובץ CSV בשרת מסויים (שמשם אני אכוון את הסקריפט לקרוא את הנתונים).

קישור לתוכן
שתף באתרים אחרים

הורדה סטאטית של קובץ CSV:

<a href="data:text/csv,field1%2Cfield2%0Afoo%2Cbar%0Agoo%2Cgai%0A" download="file.csv">CSV</a>

באופן דינאמי:

function download(text) {
  var element = document.createElement('a');
  element.setAttribute('href', 'data:text/csv,' + encodeURIComponent(text));
  element.setAttribute('download', 'file.csv');
  element.style.display = 'none';
  document.body.appendChild(element);
  element.click();
  document.body.removeChild(element);
}
download('field1,field2\nfoo,bar\ngoo,gai');

 

קישור לתוכן
שתף באתרים אחרים

מהתאור שלך לא ברור לי למה אתה רוצה שהמשתמש יוריד את הקובץ, הוא צריך להווצר בשרת ולהשאר בשרת.

 

בכל מקרה אתה צריך קוד שרץ בשרת ועושה את העבודה אין דרך אחרת, אישית הייתי הולך על javascript (שרת nodejs) כי את השפה הזאת אתה בכל מקרה צריך ללמוד.

קישור לתוכן
שתף באתרים אחרים

ציטוט של etal

מהתאור שלך לא ברור לי למה אתה רוצה שהמשתמש יוריד את הקובץ, הוא צריך להווצר בשרת ולהשאר בשרת.

 

בכל מקרה אתה צריך קוד שרץ בשרת ועושה את העבודה אין דרך אחרת, אישית הייתי הולך על javascript (שרת nodejs) כי את השפה הזאת אתה בכל מקרה צריך ללמוד.

איפה אמרתי שאני רוצה שמשתמש יוריד את הקובץ?

למה אני *בכל מקרה צריך ללמוד*?

 

ציטוט של Jabberwock

הורדה סטאטית של קובץ CSV:


<a href="data:text/csv,field1%2Cfield2%0Afoo%2Cbar%0Agoo%2Cgai%0A" download="file.csv">CSV</a>

באופן דינאמי:


function download(text) {
  var element = document.createElement('a');
  element.setAttribute('href', 'data:text/csv,' + encodeURIComponent(text));
  element.setAttribute('download', 'file.csv');
  element.style.display = 'none';
  document.body.appendChild(element);
  element.click();
  document.body.removeChild(element);
}
download('field1,field2\nfoo,bar\ngoo,gai');

 

 

 

תודה על הדוגמה. 

אפשר קצת הסבר על מה אני רואה שם?

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

קישור לתוכן
שתף באתרים אחרים

זאת דוגמה שמראה איך לגרום לדפדפן להוריד קובץ CSV למחשב ע"י הזנת תכולתו.

חשבתי שאתה רוצה שהמשתמש יוריד את הקובץ.

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

הקוד הסטאטי ב-HTML, הדינמי ב-JavaScript.

 

שאלה: קובץ ה-CSV צריך גם להכיל את המידע הקודם? או רק את המידע החדש?

קישור לתוכן
שתף באתרים אחרים

ציטוט של Jabberwock

זאת דוגמה שמראה איך לגרום לדפדפן להוריד קובץ CSV למחשב ע"י הזנת תכולתו.

חשבתי שאתה רוצה שהמשתמש יוריד את הקובץ.

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

הקוד הסטאטי ב-HTML, הדינמי ב-JavaScript.

 

שאלה: קובץ ה-CSV צריך גם להכיל את המידע הקודם? או רק את המידע החדש?

 

רק מידע חדש.

בכל פעם שהבחורה ממשאבי אנוש רוצה ליצור יוזר חדש (גיוס), היא תמלא את הFORM בדף הHTML שאני אכין ותלחץ על כפתור "SUBMIT" (או משהו בסגנון).

מאחורי הקלעים אני רוצה שמידע שהיא הזינה בדף הזה ישמרו בקובץ CSV בשרת כלשהוא ואז הסקריפט שלי ידע לקחת את הקובץ וליצור ממנו יוזר בAD...

כל פעם שהיא תמלא את הFORM הזה, ישמר קובץ CSV חדש.

 

מקווה שזה מבהיר יותר טוב את הצורך שלי...

 

קישור לתוכן
שתף באתרים אחרים

ציטוט של jackhammer

איפה אמרתי שאני רוצה שמשתמש יוריד את הקובץ?

סליחה, חשבתי שאתה זה שהבאת את דוגמאות הקוד

 

ציטוט של jackhammer

למה אני *בכל מקרה צריך ללמוד*?

Javascript זאת שפת התכנות היחידה שרצה בדפדפן, ברגע שרוצים לעשות משהו קצת יותר מורכב עם HTML אז אין ברירה אלא לעשות זאת ב-Javascript

 

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

קישור לתוכן
שתף באתרים אחרים

אוקי אז כמו שאמרתי אני לא מפתח. אני איש סיסטם ותשתיות.

שרת אני יכול להרים...

לכתוב קוד שיעשה את זה, קצת פחות.

יש משהו ספציפי שאני יכול ללמוד בJAVASCRIPT כדי לכתוב את זה?

אולי גרסא מקוצרת? חחחח

קישור לתוכן
שתף באתרים אחרים

אני מנסה לחשוב אם יש שפה שבתור איש סיסטם תהיה שימושית בשבילך גם לדברים אחרים, אני מבין שמדובר במערכות בלבד. עקרונית ניתן לעשות את זה ב-powershell (עם מעטפת של C#) אם כי בתור מישהו שבא מפיתוח זה לא פתרון שהייתי בוחר בו, משהו דומה לזה: 

https://www.itdroplets.com/create-a-powershell-web-application/

 

אתה גם לא חייב להתקבע על יצירת קובץ CSV בכלל, לא חסרות דרכים שהתוכנה תדבר ישירות עם AD ותלבצע פעולה של הוספת משתמש.

קישור לתוכן
שתף באתרים אחרים

ציטוט של etal

אני מנסה לחשוב אם יש שפה שבתור איש סיסטם תהיה שימושית בשבילך גם לדברים אחרים, אני מבין שמדובר במערכות Windows בלבד. עקרונית ניתן לעשות את זה ב-powershell (עם מעטפת של C#) אם כי בתור מישהו שבא מפיתוח זה לא פתרון שהייתי בוחר בו, משהו דומה לזה: 

https://www.itdroplets.com/create-a-powershell-web-application/

 

אתה גם לא חייב להתקבע על יצירת קובץ CSV בכלל, לא חסרות דרכים שהתוכנה תדבר ישירות עם AD ותלבצע פעולה של הוספת משתמש.

 

אין לי ספק שעבודה עם קובץ CSV היא לא בהכרח הדרך הכי יעילה או הכי טובה.

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

הבעיה היא שכרגע קליטת הנתונים היא ידנית. כלומר משאבי אנוש מכניסים נתונים לקובץ CSV ושולחים לי ואני פשוט שם אותו בנתיב שהסקריפט מוגדר לקרוא ממנו.

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

 

בקשר לקישור ששלחת לי, קצת בעייתי כי אין לי visual studio לא נראה לי שיקנו לי רק בשביל זה...

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

קישור לתוכן
שתף באתרים אחרים

ארכיון

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

×
  • צור חדש...