Excel הוא פורמט פופולרי לשיתוף מידע. אתה עלול למצוא את עצמך במצבים שבהם יש לך נתונים בקובץ Excel(XLS או XLSX) שאתה צריך לייבא למסד נתונים. לשם כך, תצטרך להמיר את קובץ ה-Excel לפורמט CSV. מצד שני, ייתכן שיש לך נתונים בפורמט CSV המיוצאים ממסד נתונים שעליך לבצע מניפולציות נוספות בקובץ Excel. במקרים כאלה, תצטרך להמיר את קובץ ה-CSV לפורמט Excel. במאמר זה תלמדו כיצד לבצע את שתי ההמרות הללו באופן פרוגרמטי באמצעות C++.
- C++ API להמרת קבצי Excel ל-CSV וקבצי CSV לפורמט Excel
- המרת קבצי Excel לפורמט CSV באמצעות C++
- המרת גליונות עבודה של Excel לקובצי CSV
- המרת קבצי CSV לפורמט Excel באמצעות C++
- קבל רישיון חינם
C++ API להמרת קבצי Excel ל-CSV וקבצי CSV לפורמט Excel
Aspose.Cells for C++ היא ספריית C++ מקורית המאפשרת לך ליצור, לקרוא ולשנות קובצי Excel. יתר על כן, ה-API תומך בהמרת קבצי Excel לפורמט CSV ולהיפך. אתה יכול להתקין את ה-API דרך NuGet או להוריד אותו ישירות מהקטע הורדות.
PM> Install-Package Aspose.Cells.Cpp
המרת קבצי Excel לפורמט CSV באמצעות C++
המרת קבצי Excel לפורמט CSV היא קלה עם Aspose.Cells for C++ API. להלן השלבים להמרת קבצי Excel לפורמט CSV באמצעות C++.
- טען את קובץ ה-Excel באמצעות המחלקה IWorkbook.
- שמור את הקובץ כ-CSV באמצעות IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String fileName, Aspose::Cells::SaveFormat saveFormat) שיטה.
להלן הקוד לדוגמה להמרת קבצי Excel לפורמט CSV.
// נתיב ספריית המקור.
StringPtr srcDir = new String("SourceDirectory\\");
// נתיב ספריית פלט.
StringPtr outDir = new String("OutputDirectory\\");
// טען את קובץ הקלט של Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));
// שמור קובץ CSV פלט
workbook->Save(outDir->StringAppend(new String("Sample1_out.csv")), SaveFormat_CSV);
המרת גליונות עבודה של Excel לקובצי CSV
הדוגמה הקודמת ממירה רק את גליון העבודה הראשון אם קובץ ה-Excel מכיל גליונות עבודה מרובים. במקרה שאתה רוצה להמיר גליונות עבודה מרובים לפורמט CSV, אתה יכול לבצע את השלבים הבאים.
- טען את קובץ ה-Excel באמצעות המחלקה IWorkbook.
- אחזר את גליונות העבודה באמצעות השיטה IWorkbook->GetIWorksheets().
- עברו בלולאה בין גליונות העבודה שאוחזרו.
- בתוך הלולאה, אתה יכול לציין את ההיגיון המותאם אישית שלך כדי להמיר גליונות עבודה ספציפיים לקובצי CSV. בהדגמה זו, כל דפי העבודה מומרים לקבצי CSV.
- אחזר את גליון העבודה להמרה באמצעות שיטת IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- צור מופע של המחלקה IWorkbook כדי לייצג קובץ CSV חדש.
- העתק את גליון העבודה שאוחזר בעבר למופע חוברת העבודה החדש באמצעות IWorkbook->GetIWorksheets()->GetObjectByIndex(0)->Copy (intrusiveptrAspose::Cells::IWorksheet שיטת sourceSheet).
- שמור את חוברת העבודה החדשה כ-CSV באמצעות IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName, Aspose::Cells::SaveFormat saveFormat) שיטה.
להלן הקוד לדוגמה להמרת גליונות עבודה של Excel לקובצי CSV באמצעות C++.
// נתיב ספריית המקור.
StringPtr srcDir = new String("SourceDirectory\\");
// נתיב ספריית פלט.
StringPtr outDir = new String("OutputDirectory\\");
// טען את קובץ האקסל
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));
// אחזר את דפי העבודה של חוברת העבודה.
intrusive_ptr<IWorksheetCollection> sheets = workbook->GetIWorksheets();
// צור אובייקט של בונה מחרוזות עבור שרשרות מחרוזות.
intrusive_ptr<Aspose::Cells::Systems::Text::StringBuilder> stringBuilder = new Aspose::Cells::Systems::Text::StringBuilder();
for (int sheet = 0; sheet < sheets->GetCount(); sheet++)
{
// אחזר את גליון העבודה להעתקה
intrusive_ptr<IWorksheet> worksheet = sheets->GetObjectByIndex(sheet);
// צור מופע של מחלקת IWorkbook כדי לייצג את חוברת העבודה החדשה
intrusive_ptr<IWorkbook> newWorkbook = Factory::CreateIWorkbook();
// העתק את גליון העבודה שאוחזר בעבר לחוברת העבודה החדשה
newWorkbook->GetIWorksheets()->GetObjectByIndex(0)->Copy(worksheet);
// נקה את בונה מחרוזות וצור נתיב פלט עם שרשורי מחרוזות.
stringBuilder->Clear();
stringBuilder->Append(outDir);
stringBuilder->Append((StringPtr)new String("Sample1_sheet_"));
stringBuilder->Append(sheet);
stringBuilder->Append((StringPtr)new String("_out.csv"));
// שמור קובץ CSV פלט
newWorkbook->Save(stringBuilder->ToString(), SaveFormat_CSV);
}
המרת קבצי CSV לפורמט Excel באמצעות C++
להלן השלבים להמרת קבצי CSV לפורמט Excel באמצעות C++.
- צור מופע של המחלקה ILoadOptions.
- צור אובייקט של המחלקה IWorkbook באמצעות המופע ILoadOptions שנוצר קודם לכן.
- שמור את הקובץ בפורמט Excel באמצעות IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName, Aspose::Cells::SaveFormat saveFormat) שיטה.
להלן הקוד לדוגמה להמרת קבצי CSV לפורמט Excel באמצעות C++.
// נתיב ספריית המקור.
StringPtr srcDir = new String("SourceDirectory\\");
// נתיב ספריית פלט.
StringPtr outDir = new String("OutputDirectory\\");
// צור אובייקט CSV LoadOptions
intrusive_ptr<ILoadOptions> loadOptions = Factory::CreateILoadOptions(LoadFormat_CSV);
// טען את קובץ הקלט של Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.csv")), loadOptions);
// שמור קובץ CSV פלט
workbook->Save(outDir->StringAppend(new String("Sample1_out.xlsx")), SaveFormat_Xlsx);
קבל רישיון חינם
אתה יכול לנסות את ה-API ללא מגבלות הערכה על ידי בקשת [רישיון זמני בחינם].18
סיכום
במאמר זה, למדת כיצד להמיר קבצי Excel לפורמט CSV וקבצי CSV לפורמט Excel (XLS/XLSX) באמצעות C++. Aspose.Cells for C++ הוא ממשק API עצום המספק תכונות נוספות רבות לעבודה עם קבצי Excel. אתה יכול לחקור את ה-API בפירוט על ידי שימוש בתיעוד הרשמי. בכל שאלה, אנא אל תהסס לפנות אלינו בפורום התמיכה החינמי שלנו.