مایکروسافت اکسل با استفاده از جداکننده هایی مانند فضای خالی، کاما یا سایر کاراکترها، متن را به چندین ستون تقسیم می کند. این ویژگی می تواند در سناریوهایی مانند تبدیل داده های جدا شده با کاما که از یک جدول پایگاه داده به شکل جدولی صادر می شود مفید باشد. برای این منظور، این مقاله به شما آموزش میدهد که چگونه متن را در فایلهای اکسل با استفاده از C++ به ستونهایی تقسیم کنید.
C++ API برای تقسیم متن به ستون در فایلهای اکسل
ما از Aspose.Cells for C++ API برای تقسیم متن به ستون در فایلهای اکسل استفاده خواهیم کرد. این یک کتابخانه بومی ++C است که به شما امکان می دهد بدون نیاز به نصب مایکروسافت اکسل، فایل های اکسل را ایجاد، بخوانید و اصلاح کنید. میتوانید API را از طریق NuGet نصب کنید یا آن را مستقیماً از بخش Downloads دانلود کنید.
PM> Install-Package Aspose.Cells.Cpp
تقسیم متن به ستون در فایل های اکسل با استفاده از ++C
مراحل زیر برای تقسیم متن به ستون در فایل های اکسل آمده است.
- یک نمونه از کلاس IWorkbook ایجاد کنید.
- با استفاده از روش IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32 index) به کاربرگ جایی که میخواهید متن را تقسیم کنید، دسترسی پیدا کنید.
- داده های نمونه را در کاربرگ قرار دهید.
- یک نمونه از کلاس ITxtLoadOptions ایجاد کنید.
- با استفاده از روش ITxtLoadOptions->SetSeparator(Aspose::Cells::Systems::Char value) کاراکتری را که برای تقسیم متن استفاده می شود، مشخص کنید.
- با استفاده از IWorksheet->GetICells()->TextToColumns(Aspose::Cells::Systems::Int32 row, Aspose::Cells::Systems::Int32 ستون، Aspose::Cells::Systems: متن را به ستون ها تقسیم کنید. :Int32 totalRows، intrusiveptrAspose::Cells::ITxtLoadOptions روش گزینهها).
- فایل اکسل را با استفاده از IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String filename) روش.
کد نمونه زیر نحوه تقسیم متن به ستون در فایل های اکسل با استفاده از C++ را نشان می دهد.
// مسیر دایرکتوری منبع.
StringPtr srcDir = new String("SourceDirectory\\");
// مسیر دایرکتوری خروجی
StringPtr outDir = new String("OutputDirectory\\");
// مسیر فایل اکسل خروجی
StringPtr outputFile = outDir->StringAppend(new String("TextToColumns.xlsx"));
// یک نمونه از کلاس IWorkbook ایجاد کنید
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook();
// به اولین کاربرگ دسترسی پیدا کنید
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// داده های نمونه را اضافه کنید
intrusive_ptr<String> str = new String("John Teal");
worksheet->GetICells()->GetObjectByIndex(new String("A1"))->PutValue(str);
str = new String("Peter Graham");
worksheet->GetICells()->GetObjectByIndex(new String("A2"))->PutValue(str);
str = new String("Brady Cortez");
worksheet->GetICells()->GetObjectByIndex(new String("A3"))->PutValue(str);
str = new String("Mack Nick");
worksheet->GetICells()->GetObjectByIndex(new String("A4"))->PutValue(str);
str = new String("Hsu Lee");
worksheet->GetICells()->GetObjectByIndex(new String("A5"))->PutValue(str);
// یک نمونه از کلاس ITxtLoadOptions ایجاد کنید
intrusive_ptr<ITxtLoadOptions> options = Factory::CreateITxtLoadOptions();
// جداکننده را برای جداسازی متن مشخص کنید
options->SetSeparator(' ');
// تقسیم متن به ستون
worksheet->GetICells()->TextToColumns(0, 0, 5, options);
// فایل اکسل خروجی را ذخیره کنید
workbook->Save(outputFile);
مجوز رایگان دریافت کنید
برای امتحان کردن API بدون محدودیت ارزیابی، میتوانید [یک مجوز موقت رایگان] درخواست کنید.
نتیجه
در این مقاله، نحوه تقسیم متن به چندین ستون در فایل های اکسل با استفاده از C++ را آموختید. شما قطعه کد کامل را به همراه مراحل لازم برای رسیدن به این هدف مشاهده کرده اید. Aspose.Cells برای C++ یک API قوی است که بسیاری از ویژگیهای اضافی را برای خودکارسازی وظایف مرتبط با اکسل شما فراهم میکند. میتوانید با مراجعه به مستندات رسمی API را با جزئیات بررسی کنید. در صورت وجود هرگونه سوال، لطفاً در [تالار گفتمان پشتیبانی رایگان12 ما با ما تماس بگیرید.