Microsoft Excel อนุญาตให้แยกข้อความออกเป็นหลายคอลัมน์โดยใช้ตัวคั่น เช่น ช่องว่าง เครื่องหมายจุลภาค หรืออักขระอื่นๆ คุณลักษณะนี้มีประโยชน์ในสถานการณ์ต่างๆ เช่น การแปลงข้อมูลที่คั่นด้วยเครื่องหมายจุลภาคที่ส่งออกจากตารางฐานข้อมูลเป็นรูปแบบตาราง ด้วยเหตุนี้ บทความนี้จะสอนวิธีแยกข้อความออกเป็นคอลัมน์ในไฟล์ Excel โดยใช้ C++
C ++ API สำหรับแยกข้อความเป็นคอลัมน์ในไฟล์ Excel
เราจะใช้ API Aspose.Cells for C++ เพื่อแยกข้อความออกเป็นคอลัมน์ในไฟล์ Excel เป็นไลบรารี C++ แบบเนทีฟที่ให้คุณสร้าง อ่าน และแก้ไขไฟล์ Excel โดยไม่ต้องติดตั้ง Microsoft Excel คุณสามารถติดตั้ง API ผ่าน NuGet หรือดาวน์โหลดโดยตรงจากส่วน ดาวน์โหลด
PM> Install-Package Aspose.Cells.Cpp
แยกข้อความเป็นคอลัมน์ในไฟล์ Excel โดยใช้ C++
ต่อไปนี้เป็นขั้นตอนในการแยกข้อความออกเป็นคอลัมน์ในไฟล์ Excel
- สร้างอินสแตนซ์ของคลาส IWorkbook
- เข้าถึงแผ่นงานที่คุณต้องการแยกข้อความโดยใช้เมธอด IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32)
- แทรกข้อมูลตัวอย่างลงในแผ่นงาน
- สร้างอินสแตนซ์ของคลาส ITxtLoadOptions
- ระบุอักขระที่จะใช้แยกข้อความโดยใช้เมธอด ITxtLoadOptions->SetSeparator(Aspose::Cells::Systems::Char)
- แยกข้อความออกเป็นคอลัมน์โดยใช้แถว IWorksheet->GetICells()->TextToColumns(Aspose::Cells::Systems::Int32, Aspose::Cells::Systems::Int32 คอลัมน์ Aspose::Cells::Systems: :Int32 totalRows, intrusiveptrAspose::Cells::ITxtLoadOptions ตัวเลือก) วิธีการ
- บันทึกไฟล์ Excel โดยใช้ IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String ชื่อไฟล์) วิธีการ
โค้ดตัวอย่างต่อไปนี้สาธิตวิธีแยกข้อความออกเป็นคอลัมน์ในไฟล์ Excel โดยใช้ C++
// เส้นทางไดเร็กทอรีต้นทาง
StringPtr srcDir = new String("SourceDirectory\\");
// เส้นทางไดเร็กทอรีเอาต์พุต
StringPtr outDir = new String("OutputDirectory\\");
// เส้นทางของไฟล์ excel เอาต์พุต
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);
// บันทึกไฟล์ excel เอาต์พุต
workbook->Save(outputFile);
รับใบอนุญาตฟรี
หากต้องการลองใช้ API โดยไม่มีข้อจำกัดในการประเมิน คุณสามารถขอ ใบอนุญาตชั่วคราวฟรี
บทสรุป
ในบทความนี้ คุณได้เรียนรู้วิธีแยกข้อความออกเป็นหลายคอลัมน์ในไฟล์ Excel โดยใช้ C++ คุณได้เห็นข้อมูลโค้ดที่สมบูรณ์พร้อมกับขั้นตอนที่จำเป็นเพื่อให้บรรลุเป้าหมายนี้ Aspose.Cells for C++ เป็น API ที่มีประสิทธิภาพซึ่งมีคุณสมบัติเพิ่มเติมมากมายสำหรับการทำงานที่เกี่ยวข้องกับ Excel ของคุณโดยอัตโนมัติ คุณสามารถสำรวจ API โดยละเอียดได้โดยไปที่ เอกสารอย่างเป็นทางการ ในกรณีที่มีคำถามใดๆ โปรดติดต่อเราได้ที่ ฟอรัมสนับสนุนฟรี