کپی کردن سطرها و ستون ها یک کار رایج است که هنگام کار با فایل های اکسل انجام می شود. ممکن است شرایطی وجود داشته باشد که شما نیاز داشته باشید سطرها یا ستون‌ها را در فایل‌های اکسل به صورت برنامه‌نویسی کپی کنید. برای چنین مواردی، این مقاله به شما آموزش می دهد که چگونه ردیف ها و ستون ها را در فایل های اکسل با استفاده از C++ کپی کنید.

C++ API برای کپی کردن سطرها و ستون ها در فایل های اکسل

Aspose.Cells for C++ یک کتابخانه بومی C++ است که به شما امکان می‌دهد بدون نیاز به نصب Microsoft Excel فایل‌های Excel را ایجاد، بخوانید و اصلاح کنید. API همچنین امکان کپی ردیف ها و ستون ها را در فایل های اکسل فراهم می کند. می‌توانید API را از طریق NuGet نصب کنید یا آن را مستقیماً از بخش Downloads دانلود کنید.

PM> Install-Package Aspose.Cells.Cpp

یک ردیف را در یک فایل اکسل با استفاده از C++ کپی کنید

در زیر تصویر فایل اکسل منبع است که در مثال های زیر از آن استفاده خواهیم کرد.

کاربرگ منبع

مراحل زیر برای کپی کردن یک ردیف در یک فایل اکسل با استفاده از C++ است.

کد نمونه زیر نحوه کپی کردن یک ردیف در یک فایل اکسل با استفاده از C++ را نشان می دهد.

// مسیر دایرکتوری منبع.
StringPtr srcDir = new String("SourceDirectory\\Excel\\");

// مسیر دایرکتوری خروجی
StringPtr outDir = new String("OutputDirectory\\");

// فایل اکسل ورودی را بارگیری کنید
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));

// اولین کاربرگ را دریافت کنید
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// ردیف را کپی کنید
worksheet->GetICells()->CopyIRow(worksheet->GetICells(), 1, 15);

// فایل اکسل را ذخیره کنید
workbook->Save(outDir->StringAppend(new String("CopyRow_out.xlsx")));
تصویری که ردیف کپی شده را نشان می دهد

تصویری که ردیف کپی شده را نشان می دهد

کپی کردن چندین ردیف در یک فایل اکسل با استفاده از ++C

برای کپی کردن چندین ردیف، از روش CopyIRows استفاده می‌کنیم که یک پارامتر اضافی را می‌پذیرد که تعداد کل ردیف‌هایی که باید کپی شوند را نشان می‌دهد. برای کپی کردن چند ردیف، مراحل زیر را دنبال کنید.

  • فایل اکسل را با استفاده از کلاس IWorkbook بارگیری کنید.
  • کاربرگ را که می‌خواهید ردیف‌ها را در آن کپی کنید، بازیابی کنید.
  • سطرها را با استفاده از CopyIRows(intrusiveptrAspose::Cells::ICells sourceCells، Aspose::Cells::Systems::Int32 sourceRowIndex، Aspose::Cells::Systems::Int32 destinationRowIndex، Aspose::Cells::Systems::Int32 rowNumber) روش.
  • فایل اکسل را با استفاده از IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String filename) روش.

کد نمونه زیر نحوه کپی کردن چندین ردیف در یک فایل اکسل را با استفاده از C++ نشان می دهد.

// مسیر دایرکتوری منبع.
StringPtr srcDir = new String("SourceDirectory\\Excel\\");

// مسیر دایرکتوری خروجی
StringPtr outDir = new String("OutputDirectory\\");

// فایل اکسل ورودی را بارگیری کنید
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));

// اولین کاربرگ را دریافت کنید
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// سطرها را کپی کنید
worksheet->GetICells()->CopyIRows(worksheet->GetICells(), 1, 15, 3);

// فایل اکسل را ذخیره کنید
workbook->Save(outDir->StringAppend(new String("CopyRows_out.xlsx")));
تصویری که ردیف های کپی شده را نشان می دهد

تصویری که ردیف های کپی شده را نشان می دهد

با استفاده از C++ یک ستون را در یک فایل اکسل کپی کنید

در زیر مراحل کپی کردن یک ستون واحد در یک فایل اکسل با استفاده از C++ آمده است.

کد نمونه زیر نحوه کپی کردن یک ستون را در یک فایل اکسل با استفاده از C++ نشان می دهد.

// مسیر دایرکتوری منبع.
StringPtr srcDir = new String("SourceDirectory\\Excel\\");

// مسیر دایرکتوری خروجی
StringPtr outDir = new String("OutputDirectory\\");

// فایل اکسل ورودی را بارگیری کنید
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));

// اولین کاربرگ را دریافت کنید
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// ستون را کپی کنید
worksheet->GetICells()->CopyIColumn(worksheet->GetICells(), 0, 6);

// فایل اکسل را ذخیره کنید
workbook->Save(outDir->StringAppend(new String("CopyColumn_out.xlsx")));
تصویر ستون کپی شده را نشان می دهد

تصویر ستون کپی شده را نشان می دهد

کپی کردن چندین ستون در یک فایل اکسل با استفاده از ++C

برای کپی کردن چندین ستون، از روش CopyIColumns استفاده می‌کنیم که یک پارامتر اضافی را می‌پذیرد که تعداد کل ستون‌های کپی را نشان می‌دهد. برای کپی چند ستون، مراحل زیر را دنبال کنید.

  • فایل اکسل را با استفاده از کلاس IWorkbook بارگیری کنید.
  • برگه‌ای را که می‌خواهید ستون‌ها را در آن کپی کنید، بازیابی کنید.
  • ستون ها را با استفاده از CopyIColumns(intrusiveptrAspose::Cells::ICells sourceCells، Aspose::Cells::Systems::Int32 sourceColumnIndex، Aspose::Cells::Systems::Int32 destinationColumnIndex، Aspose::Cells::Systems::Int32 columnNumber) روش.
  • فایل اکسل را با استفاده از IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String filename) روش.

کد نمونه زیر نحوه کپی کردن چندین ستون را در یک فایل اکسل با استفاده از C++ نشان می دهد.

// مسیر دایرکتوری منبع.
StringPtr srcDir = new String("SourceDirectory\\Excel\\");

// مسیر دایرکتوری خروجی
StringPtr outDir = new String("OutputDirectory\\");

// فایل اکسل ورودی را بارگیری کنید
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));

// اولین کاربرگ را دریافت کنید
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);

// کپی ستون ها
worksheet->GetICells()->CopyIColumns(worksheet->GetICells(), 0, 6, 3);

// فایل اکسل را ذخیره کنید
workbook->Save(outDir->StringAppend(new String("CopyColumns_out.xlsx")));
تصویری که ستون های کپی شده را نشان می دهد

تصویری که ستون های کپی شده را نشان می دهد

مجوز رایگان دریافت کنید

برای امتحان کردن API بدون محدودیت ارزیابی، می توانید [مجوز موقت رایگان] را درخواست کنید.

نتیجه

در این مقاله با نحوه کپی کردن سطرها و ستون ها در فایل اکسل با استفاده از ++C آشنا شده اید. نمونه کدهای به اشتراک گذاشته شده نحوه کپی کردن سطرها و ستون های تک و چندگانه در یک فایل اکسل را نشان می دهد. برای رسیدن به این هدف از Aspose.Cells برای C++ API استفاده کردیم. این یک API قوی است که بسیاری از ویژگی های اضافی را برای کار با فایل های اکسل فراهم می کند. می‌توانید با مراجعه به مستندات رسمی API را با جزئیات بررسی کنید. در صورت وجود هرگونه سوال، لطفاً با ما در تالار گفتمان پشتیبانی رایگان تماس بگیرید.

همچنین ببینید