המרת Excel ל-CSV ו-CSV ל-Excel באמצעות C++

Excel הוא פורמט פופולרי לשיתוף מידע. אתה עלול למצוא את עצמך במצבים שבהם יש לך נתונים בקובץ Excel(XLS או XLSX) שאתה צריך לייבא למסד נתונים. לשם כך, תצטרך להמיר את קובץ ה-Excel לפורמט CSV. מצד שני, ייתכן שיש לך נתונים בפורמט CSV המיוצאים ממסד נתונים שעליך לבצע מניפולציות נוספות בקובץ Excel. במקרים כאלה, תצטרך להמיר את קובץ ה-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 לפורמט 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 לקובצי 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++.

להלן הקוד לדוגמה להמרת קבצי 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 בפירוט על ידי שימוש בתיעוד הרשמי. בכל שאלה, אנא אל תהסס לפנות אלינו בפורום התמיכה החינמי שלנו.

ראה גם