تُستخدم ملفات Excel لإدارة البيانات المعقدة مثل ميزانيات الأقسام أو تقارير المبيعات السنوية. قد تكون هناك مواقف يكون لديك فيها نموذج جاهز تريد استخدامه لإنشاء تقرير. لهذا ، يمكنك إنشاء نسخة من ورقة عمل القالب. قد تحتاج أيضًا إلى تنظيم أوراق العمل لتوضيح تدفق البيانات. في مثل هذه الحالات ، يمكنك إعادة ترتيب أوراق العمل وفقًا لمتطلباتك. في ضوء ذلك ، ستتعلم كيفية نسخ أوراق العمل ونقلها برمجيًا باستخدام C ++.
- C ++ API لنسخ أوراق عمل Excel أو نقلها
- نسخ أوراق العمل داخل مصنف Excel باستخدام C ++
- نسخ أوراق العمل من مصنف إلى آخر
- انقل ورقة العمل إلى موضع مختلف باستخدام C ++
- احصل على رخصة مجانية
C ++ API لنسخ أوراق عمل Excel أو نقلها
Aspose.Cells for C ++ هي مكتبة C ++ أصلية تسمح لك بإنشاء وقراءة وتحديث ملفات Excel دون الحاجة إلى تثبيت Microsoft Excel. تدعم واجهة برمجة التطبيقات أيضًا نسخ أوراق عمل 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 اسم الملف) طريقة.
ما يلي هو نموذج التعليمات البرمجية لنسخ ورقة عمل داخل مصنف Excel باستخدام C ++.
// مسار الدليل المصدر.
StringPtr srcDir = new String("SourceDirectory\\");
// مسار دليل الإخراج.
StringPtr outDir = new String("OutputDirectory\\");
// قم بتحميل ملف Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));
// استرجاع أوراق العمل
intrusive_ptr<IWorksheetCollection> sheets = workbook->GetIWorksheets();
// انسخ البيانات إلى ورقة جديدة من ورقة موجودة داخل المصنف.
sheets->AddCopy(new String("Sheet1"));
// احفظ ملف Excel
workbook->Save(outDir->StringAppend(new String("Sample1_out.xlsx")));
نسخ أوراق العمل من مصنف إلى آخر
Aspose.Cells for 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 المصدر) الطريقة.
- أخيرًا ، احفظ ملف Excel الوجهة باستخدام IWorkbook-> Save (intrusiveptrAspose::Cells::Systems::String اسم الملف) طريقة.
ما يلي هو نموذج التعليمات البرمجية لنسخ ورقة عمل من مصنف 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);
// احفظ ملف Excel
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\\");
// قم بتحميل ملف Excel
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);
// احفظ ملف Excel
workbook->Save(outDir->StringAppend(new String("Sample1_out.xlsx")));
احصل على رخصة مجانية
يمكنك تجربة واجهة برمجة التطبيقات بدون قيود التقييم من خلال طلب ترخيص مؤقت مجاني.
استنتاج
في هذه المقالة ، تعلمت كيفية نسخ أوراق العمل داخل مصنف Excel نفسه أو بين المصنفات المختلفة. علاوة على ذلك ، لقد رأيت كيفية تغيير موضع ورقة العمل داخل ملف Excel. يوفر Aspose.Cells for C ++ العديد من الميزات للعمل مع ملفات Excel التي يمكنك استكشافها من خلال زيارة الوثائق الرسمية. في حالة وجود أي أسئلة ، لا تتردد في الاتصال بنا على منتدى الدعم المجاني.