فایل های اکسل برای مدیریت داده های پیچیده مانند بودجه بخش ها یا گزارش های فروش سالانه استفاده می شود. ممکن است شرایطی وجود داشته باشد که شما یک الگوی آماده داشته باشید که بخواهید از آن برای ایجاد گزارش استفاده کنید. برای این کار می توانید یک کپی از کاربرگ الگو ایجاد کنید. همچنین ممکن است لازم باشد کاربرگ ها را سازماندهی کنید تا جریان داده ها را نشان دهید. برای چنین مواردی، می توانید برگه ها را مطابق با نیاز خود مرتب کنید. با توجه به این موضوع، نحوه کپی و جابجایی کاربرگ ها را به صورت برنامه نویسی با استفاده از C++ یاد خواهید گرفت.
- C++ API برای کپی یا انتقال کاربرگ های Excel
- کاربرگها را در یک کتاب کار اکسل با استفاده از C++ کپی کنید
- کاربرگ ها را از یک کتاب کار به کتاب دیگر کپی کنید
- کاربرگ را با استفاده از C++ به یک موقعیت متفاوت منتقل کنید
- مجوز رایگان دریافت کنید
C++ API برای کپی یا انتقال کاربرگ های Excel
Aspose.Cells for C++ یک کتابخانه بومی C++ است که به شما امکان میدهد بدون نیاز به نصب Microsoft Excel فایلهای Excel را ایجاد، بخوانید و بهروزرسانی کنید. API همچنین از کپی و جابجایی کاربرگ های Excel پشتیبانی می کند. میتوانید API را از طریق NuGet نصب کنید یا آن را مستقیماً از بخش Downloads دانلود کنید.
PM> Install-Package Aspose.Cells.Cpp
کاربرگها را در یک کتاب کار اکسل با استفاده از C++ کپی کنید
مراحل زیر برای کپی کاربرگ ها در یک کتاب کار اکسل آمده است.
- فایل اکسل را با استفاده از کلاس IWorkbook بارگیری کنید.
- مجموعه کاربرگ را با استفاده از روش IWorkbook->GetIWorksheets() بازیابی کنید.
- کپی کاربرگ مورد نیاز را با استفاده از IWorksheetCollection->AddCopy (intrusiveptr) اضافه کنیدAspose::Cells::Systems::String SheetName) روش.
- در نهایت، فایل اکسل را با استفاده از 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();
// داده ها را از یک برگه موجود در کتاب کار به یک برگه جدید کپی کنید.
sheets->AddCopy(new String("Sheet1"));
// فایل اکسل را ذخیره کنید
workbook->Save(outDir->StringAppend(new String("Sample1_out.xlsx")));
کاربرگ ها را از یک کتاب کار به کتاب دیگر کپی کنید
Aspose.Cells برای C++ همچنین به شما اجازه می دهد تا کاربرگ ها را بین دو فایل اکسل کپی کنید. مراحل زیر برای کپی یک کاربرگ از یک فایل اکسل به فایل دیگر است.
- ابتدا فایل های اکسل مبدا و مقصد را با استفاده از کلاس IWorkbook بارگیری کنید.
- مجموعه کاربرگ کتاب کار منبع را با استفاده از روش IWorkbook->GetIWorksheets() بازیابی کنید.
- برگهای را که میخواهید کپی کنید با استفاده از روش IWorksheetCollection->GetObjectByIndex (Aspose::Cells::Systems::Int32 index) بازیابی کنید.
- با استفاده از IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index)->Copy (intrusiveptr) کاربرگ را در کتاب مقصد کپی کنید.Aspose::Cells::IWorksheet sourceSheet) روش.
- در نهایت، فایل اکسل مقصد را با استفاده از IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String filename) روش.
کد زیر نمونه ای برای کپی یک کاربرگ از یک کتاب کار اکسل به دیگری با استفاده از C++ است.
// مسیر دایرکتوری منبع.
StringPtr srcDir = new String("SourceDirectory\\");
// مسیر دایرکتوری خروجی
StringPtr outDir = new String("OutputDirectory\\");
// فایل اکسل منبع را بارگیری کنید
intrusive_ptr<IWorkbook> sourceWorkbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));
// فایل اکسل مقصد را بارگیری کنید
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++ به یک موقعیت متفاوت منتقل کنید
مراحل زیر برای تغییر موقعیت کاربرگ در کتاب کار اکسل آورده شده است.
- فایل اکسل را با استفاده از کلاس IWorkbook بارگیری کنید.
- مجموعه کاربرگ را با استفاده از روش IWorkbook->GetIWorksheets() بازیابی کنید.
- برگهای را که میخواهید جابجا کنید با استفاده از روش IWorksheetCollection->GetObjectByIndex (Aspose::Cells::Systems::Int32 index) بازیابی کنید.
- کاربرگ را با استفاده از روش IWorksheet->MoveTo (Aspose::Cells::Systems::Int32 index) به محل مورد نظر منتقل کنید.
- در نهایت، فایل اکسل را با استفاده از 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 را بدون محدودیت ارزیابی امتحان کنید.
نتیجه
در این مقاله، نحوه کپی کردن کاربرگ ها را در همان کتاب کار اکسل یا بین کارنامه های مختلف یاد گرفته اید. علاوه بر این، نحوه تغییر موقعیت کاربرگ را در یک فایل اکسل مشاهده کرده اید. Aspose.Cells برای C++ بسیاری از ویژگیهای بیشتری را برای کار با فایلهای اکسل فراهم میکند که میتوانید با مراجعه به مستندات رسمی آنها را بررسی کنید. در صورت وجود هرگونه سوال، لطفاً در [تالار گفتمان پشتیبانی رایگان20 با ما تماس بگیرید.