העתק או העבר גליונות עבודה של Excel

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

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

ראה גם