
קובצי אקסל משמשים לניהול נתונים מורכבים כגון תקציבים מחלקים או דוחות מכירות שנתיים. ייתכנו מצבים שבהם יש לך תבנית מוכנה שברצונך להשתמש בה ליצירת דוח. לשם כך, תוכל ליצור עותק של גליון העבודה של התבנית. ייתכן שיהיה עליך גם לארגן את דפי העבודה כדי להדגים את זרימת הנתונים. במקרים כאלה, אתה יכול לסדר מחדש את דפי העבודה בהתאם לדרישות שלך. לאור זאת, תלמד כיצד להעתיק ולהזיז גליונות עבודה באופן תוכנתי באמצעות C++.
- C++ API להעתקה או העברה של גליונות עבודה של Excel
- העתק גליונות עבודה בתוך חוברת עבודה של Excel באמצעות C++
- העתק גליונות עבודה מחוברת עבודה אחת לאחרת
- העבר את גליון העבודה למיקום אחר באמצעות C++
- קבל רישיון חינם
C++ API להעתקה או העברה של גליונות עבודה של Excel
Aspose.Cells for C++ היא ספריית C++ מקורית המאפשרת לך ליצור, לקרוא ולעדכן קבצי Excel מבלי לדרוש התקנה של Microsoft Excel. ה-API תומך גם בהעתקה והעברה של גליונות עבודה של Excel. אתה יכול להתקין את ה-API דרך NuGet או להוריד אותו ישירות מהקטע הורדות.
PM> Install-Package Aspose.Cells.Cpp
העתק גליונות עבודה בתוך חוברת עבודה של Excel באמצעות C++
להלן השלבים להעתקת גליונות עבודה בתוך חוברת עבודה של Excel.
- טען את קובץ ה-Excel באמצעות המחלקה IWorkbook.
- אחזר את אוסף גליונות העבודה באמצעות השיטה IWorkbook->GetIWorksheets().
- הוסף את העותק של גליון העבודה הנדרש באמצעות IWorksheetCollection->AddCopy (intrusiveptrAspose::Cells::Systems::String sheetName) שיטה.
- לבסוף, שמור את קובץ ה-Excel באמצעות IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName) שיטה.
להלן הקוד לדוגמה להעתקת גליון עבודה בחוברת עבודה של Excel באמצעות 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();
// העתק נתונים לגיליון חדש מגיליון קיים בחוברת העבודה.
sheets->AddCopy(new String("Sheet1"));
// שמור את קובץ האקסל
workbook->Save(outDir->StringAppend(new String("Sample1_out.xlsx")));
העתק גליונות עבודה מחוברת עבודה אחת לאחרת
Aspose.Cells עבור C++ מאפשר לך גם להעתיק גליונות עבודה בין שני קבצי Excel. להלן השלבים להעתקת גליון עבודה מקובץ Excel אחד לאחר.
- ראשית, טען את קובצי המקור והיעד של Excel באמצעות המחלקה IWorkbook.
- אחזר את אוסף גליונות העבודה של חוברת העבודה במקור באמצעות השיטה IWorkbook->GetIWorksheets().
- אחזר את גליון העבודה שברצונך להעתיק באמצעות שיטת IWorksheetCollection->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- העתק את גליון העבודה לחוברת העבודה של היעד באמצעות IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index)->Copy (intrusiveptrAspose::Cells::IWorksheet שיטת sourceSheet).
- לבסוף, שמור את קובץ היעד של Excel באמצעות IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName) שיטה.
להלן הקוד לדוגמה להעתקת גליון עבודה מחוברת עבודה אחת של Excel לאחרת באמצעות C++.
// נתיב ספריית המקור.
StringPtr srcDir = new String("SourceDirectory\\");
// נתיב ספריית פלט.
StringPtr outDir = new String("OutputDirectory\\");
// טען את קובץ המקור של Excel
intrusive_ptr<IWorkbook> sourceWorkbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));
// טען את קובץ היעד של Excel
intrusive_ptr<IWorkbook> destinationWorkbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("book1.xlsx")));
// אחזר את גליונות העבודה של חוברת עבודה מקור
intrusive_ptr<IWorksheetCollection> sheets = sourceWorkbook->GetIWorksheets();
// אחזר את גליון העבודה שברצונך להעתיק
intrusive_ptr<IWorksheet> worksheet = sheets->GetObjectByIndex(0);
// העתק את גליון העבודה שאוחזר בעבר לחוברת העבודה החדשה
destinationWorkbook->GetIWorksheets()->GetObjectByIndex(0)->Copy(worksheet);
// שמור את קובץ האקסל
destinationWorkbook->Save(outDir->StringAppend(new String("book1_out.xlsx")));
העבר את גליון העבודה למיקום אחר באמצעות C++
להלן השלבים לשינוי המיקום של גליון העבודה בחוברת עבודה של Excel.
- טען את קובץ ה-Excel באמצעות המחלקה IWorkbook.
- אחזר את אוסף גליונות העבודה באמצעות השיטה IWorkbook->GetIWorksheets().
- אחזר את גליון העבודה שברצונך להעביר באמצעות שיטת IWorksheetCollection->GetObjectByIndex (Aspose::Cells::Systems::Int32 index).
- העבר את גליון העבודה למיקום הרצוי בשיטת IWorksheet->MoveTo (Aspose::Cells::Systems::Int32 index).
- לבסוף, שמור את קובץ ה-Excel באמצעות IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName) שיטה.
להלן הקוד לדוגמה להעברת גליון העבודה למיקום אחר באותה חוברת עבודה באמצעות 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<IWorksheet> sheet = sheets->GetObjectByIndex(0);
// העבר את הגיליון הראשון למיקום השני בחוברת העבודה.
sheet->MoveTo(1);
// שמור את קובץ האקסל
workbook->Save(outDir->StringAppend(new String("Sample1_out.xlsx")));
קבל רישיון חינם
אתה יכול לנסות את ה-API ללא מגבלות הערכה על ידי בקשת [רישיון זמני בחינם].18
סיכום
במאמר זה, למדת כיצד להעתיק גליונות עבודה בתוך אותה חוברת עבודה של Excel או בין חוברות עבודה שונות. יתר על כן, ראית כיצד לשנות את המיקום של גליון העבודה בתוך קובץ Excel. Aspose.Cells for C++ מספק תכונות רבות נוספות לעבודה עם קובצי Excel שתוכלו לחקור על ידי ביקור בתיעוד הרשמי. בכל שאלה, אנא אל תהסס לפנות אלינו בפורום התמיכה החינמי שלנו.