המרת גיליון של Microsoft Excel (קובץ XLS) לקובץ מופרד באמצעות Comma (CSV) הוא קל יחסית בעת שימוש במוצר Office, אך ייתכן שמשימה מייגעת של מתכנתים תעשה זאת בשורת הפקודה. המצב עשוי להגיע כאשר יש לך קובץ XLS ואתה צריך למלא את מסד הנתונים ממנו לאחר עיצוב הנתונים. המרת XLS ל CSV היא הדרך האידיאלית כאן כמו CSV הוא פורמט זה יכול בקלות להיות מניפולציה בכל שפה, להיות זה Shell, Perl, Ruby, Python או Java. בהודעה זו, נראה את הדרכים הטובות ביותר להמיר את קובץ XLS ל- CSV ואנו נדון גם בעד ונגד השימוש בשיטות אלה.

catdoc (ב C)

כלי שורת הפקודה הראשונה אנחנו הולכים לדבר על זה הוא catdoc. הכלי נכתב ב- C על ידי VB VBner.

1.1 כיצד להתקין אותו:

הורד את הכלי מכאן. עבור לספריית ההורדות שלך והתרחק ממנה. ניתן להשתמש בפקודות הבאות (במקרה שאתה נתקל בבעיה):

 gunzip catdoc-0.94.2.tar.gz זפת xvf catdoc-0.94.2.tar 

עכשיו יש לנו ספריית catdoc-0.94.2 . עבור לספריה זו והפעל את הפקודות הבאות כדי להתקין אותה:

 ./configure להפוך את ההתקנה 

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

1.2 כיצד להשתמש בו:

קיימות מספר אפשרויות להפעלת הפקודה. אני אספר את האפשרויות שעובדות הכי טוב עבור ההמרה של Microsoft Excel:

 xls2csv -x "Path_of_Your_XLS_File" -s cp1252 -d 8859-1> "Path_of_Your_CSV_File" 

הערה האפשרות " --s " ו- " d " (מייצג מקור ויעד). אפשרויות אלה משמשות לציון איזה קידוד תווים משמש בקובץ המקור ומה יהיה קידוד התווים עבור קובץ היעד. כאן השתמשתי cpl1252 אשר קידוד אופי אופי ו 8859-1 אשר משמש קידוד אופי מערב אירופה. באפשרותך להשתמש באפשרויות אחרות הזמינות באמצעות פקודת העזרה.

 xls2csv --help 

1.3 יתרונות וחסרונות:

יתרונות : התקנה ישירה קדימה

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

xls2csv (ב- Perl)

הכלי השני שאנחנו הולכים לדבר עליו הוא סקריפט Perl xls2csv שנכתב על ידי קן Prows ב Perl.

2.1 כיצד להתקין אותו:

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

 Perl Makefile.PL להפוך את הבדיקה לעשות להתקין 

זכור כי סקריפט Perl זה משתמש במספר מודולים אחרים של Perl:

 אזור :: לקודד Unicode :: מפה גיליון אלקטרוני :: ParseExcel טקסט :: CSV_XS 

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

2.2 כיצד להשתמש בו:

ניתן להשתמש בפקודה הבאה כדי להמיר את Excel Excel ל- csv:

 xls2csv -x "Path_of_Your_XLS_File" -b cp1252 -w WorkSheetName -c "Path_of_Your_CSV_File"-8859-1 

אפשרות x ו- c (כלומר xls ו- csv) משמשים לקביעת קובצי הקלט והפלט כאשר b ו- a (פירושו לפני ואחרי) משמשים לציון קידוד התווים המתאים. יש לנו להשתמש באותו קידוד אופי כמו בכלי הקודם.

2.3 יתרונות וחסרונות:

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

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

יש כמה דרכים אחרות גם כן. כמה סקריפטים ב Python ו- Java זמינים גם לשימוש אבל הם לא טובים כמו שני אלה דנו כאן. אני מקווה שהמאמר פותר את הבעיה שלך. שאלה והצעות תמיד יתקבלו בברכה. לחיים :)