Excel เป็นรูปแบบยอดนิยมสำหรับการแบ่งปันข้อมูล คุณอาจพบว่าตัวเองอยู่ในสถานการณ์ที่คุณมีข้อมูลในไฟล์ Excel(XLS หรือ XLSX) ที่คุณต้องนำเข้าไปยังฐานข้อมูล ในการทำเช่นนี้ คุณจะต้องแปลงไฟล์ Excel เป็นรูปแบบ CSV ในทางกลับกัน คุณอาจมีข้อมูลในรูปแบบ CSV ที่ส่งออกจากฐานข้อมูลที่คุณต้องจัดการเพิ่มเติมในไฟล์ Excel ในกรณีดังกล่าว คุณจะต้องแปลงไฟล์ CSV เป็นรูปแบบ Excel ในบทความนี้ คุณจะได้เรียนรู้วิธีดำเนินการแปลงทั้งสองนี้ทางโปรแกรมโดยใช้ C++
- C ++ API เพื่อแปลงไฟล์ Excel เป็น CSV และไฟล์ CSV เป็นรูปแบบ Excel
- การแปลงไฟล์ Excel เป็นรูปแบบ CSV โดยใช้ C++
- แปลงแผ่นงาน Excel เป็นไฟล์ CSV
- การแปลงไฟล์ CSV เป็นรูปแบบ Excel โดยใช้ C++
- รับใบอนุญาตฟรี
C ++ API เพื่อแปลงไฟล์ Excel เป็น CSV และไฟล์ CSV เป็นรูปแบบ Excel
Aspose.Cells for C++ เป็นไลบรารี่ C++ ดั้งเดิมที่ให้คุณสร้าง อ่าน และแก้ไขไฟล์ Excel นอกจากนี้ API ยังรองรับการแปลงไฟล์ Excel เป็นรูปแบบ CSV และในทางกลับกัน คุณสามารถติดตั้ง API ผ่าน NuGet หรือดาวน์โหลดโดยตรงจากส่วน ดาวน์โหลด
PM> Install-Package Aspose.Cells.Cpp
การแปลงไฟล์ Excel เป็นรูปแบบ CSV โดยใช้ C++
การแปลงไฟล์ Excel เป็นรูปแบบ CSV เป็นเรื่องง่ายด้วย Aspose.Cells for C++ API ต่อไปนี้เป็นขั้นตอนในการแปลงไฟล์ Excel เป็นรูปแบบ CSV โดยใช้ C++
- โหลดไฟล์ Excel โดยใช้คลาส IWorkbook
- บันทึกไฟล์เป็น CSV โดยใช้ IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String fileName, Aspose::Cells::SaveFormat saveFormat) เมธอด
ต่อไปนี้คือโค้ดตัวอย่างในการแปลงไฟล์ Excel เป็นรูปแบบ CSV
// เส้นทางไดเร็กทอรีต้นทาง
StringPtr srcDir = new String("SourceDirectory\\");
// เส้นทางไดเร็กทอรีเอาต์พุต
StringPtr outDir = new String("OutputDirectory\\");
// โหลดไฟล์ Excel อินพุต
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));
// บันทึกไฟล์ CSV เอาต์พุต
workbook->Save(outDir->StringAppend(new String("Sample1_out.csv")), SaveFormat_CSV);
แปลงแผ่นงาน Excel เป็นไฟล์ CSV
ตัวอย่างก่อนหน้านี้แปลงเฉพาะเวิร์กชีตแรก ถ้าไฟล์ Excel มีหลายเวิร์กชีต ในกรณีที่คุณต้องการแปลงแผ่นงานหลายแผ่นเป็นรูปแบบ CSV คุณสามารถทำตามขั้นตอนต่อไปนี้
- โหลดไฟล์ Excel โดยใช้คลาส IWorkbook
- ดึงแผ่นงานโดยใช้เมธอด IWorkbook->GetIWorksheets()
- วนซ้ำแผ่นงานที่ได้รับ
- ภายในลูป คุณสามารถระบุตรรกะที่กำหนดเองของคุณเพื่อแปลงแผ่นงานเฉพาะเป็นไฟล์ CSV ในการสาธิตนี้ แผ่นงานทั้งหมดจะถูกแปลงเป็นไฟล์ CSV
- ดึงแผ่นงานที่จะแปลงโดยใช้เมธอด IWorkbook->GetIWorksheets()->GetObjectByIndex (Aspose::Cells::Systems::Int32)
- สร้างอินสแตนซ์ของคลาส IWorkbook เพื่อแสดงไฟล์ CSV ใหม่
- คัดลอกเวิร์กชีตที่ดึงมาก่อนหน้านี้ไปยังอินสแตนซ์สมุดงานใหม่โดยใช้ [IWorkbook->GetIWorksheets()->GetObjectByIndex(0)->Copy (intrusiveptrAspose::Cells::IWorksheet sourceSheet) 12 เมธอด
- บันทึกสมุดงานใหม่เป็น CSV โดยใช้ IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName, Aspose::Cells::SaveFormat saveFormat) เมธอด
ต่อไปนี้คือโค้ดตัวอย่างในการแปลงแผ่นงาน Excel เป็นไฟล์ CSV โดยใช้ 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<Aspose::Cells::Systems::Text::StringBuilder> stringBuilder = new Aspose::Cells::Systems::Text::StringBuilder();
for (int sheet = 0; sheet < sheets->GetCount(); sheet++)
{
// ดึงแผ่นงานเพื่อคัดลอก
intrusive_ptr<IWorksheet> worksheet = sheets->GetObjectByIndex(sheet);
// สร้างอินสแตนซ์ของคลาส IWorkbook เพื่อแสดงสมุดงานใหม่
intrusive_ptr<IWorkbook> newWorkbook = Factory::CreateIWorkbook();
// คัดลอกเวิร์กชีตที่ดึงมาก่อนหน้านี้ไปยังเวิร์กบุ๊กใหม่
newWorkbook->GetIWorksheets()->GetObjectByIndex(0)->Copy(worksheet);
// ล้างตัวสร้างสตริงและสร้างเส้นทางเอาต์พุตด้วยการต่อสตริง
stringBuilder->Clear();
stringBuilder->Append(outDir);
stringBuilder->Append((StringPtr)new String("Sample1_sheet_"));
stringBuilder->Append(sheet);
stringBuilder->Append((StringPtr)new String("_out.csv"));
// บันทึกไฟล์ CSV เอาต์พุต
newWorkbook->Save(stringBuilder->ToString(), SaveFormat_CSV);
}
การแปลงไฟล์ CSV เป็นรูปแบบ Excel โดยใช้ C++
ต่อไปนี้เป็นขั้นตอนในการแปลงไฟล์ CSV เป็นรูปแบบ Excel โดยใช้ C++
- สร้างอินสแตนซ์ของคลาส ILoadOptions
- สร้างวัตถุของคลาส IWorkbook โดยใช้อินสแตนซ์ ILoadOptions ที่สร้างขึ้นก่อนหน้านี้
- บันทึกไฟล์ในรูปแบบ Excel โดยใช้ IWorkbook->Save (intrusiveptrAspose::Cells::Systems::String fileName, Aspose::Cells::SaveFormat saveFormat) เมธอด
ต่อไปนี้คือโค้ดตัวอย่างในการแปลงไฟล์ CSV เป็นรูปแบบ Excel โดยใช้ C++
// เส้นทางไดเร็กทอรีต้นทาง
StringPtr srcDir = new String("SourceDirectory\\");
// เส้นทางไดเร็กทอรีเอาต์พุต
StringPtr outDir = new String("OutputDirectory\\");
// สร้างวัตถุ CSV LoadOptions
intrusive_ptr<ILoadOptions> loadOptions = Factory::CreateILoadOptions(LoadFormat_CSV);
// โหลดไฟล์ Excel อินพุต
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.csv")), loadOptions);
// บันทึกไฟล์ CSV เอาต์พุต
workbook->Save(outDir->StringAppend(new String("Sample1_out.xlsx")), SaveFormat_Xlsx);
รับใบอนุญาตฟรี
คุณสามารถลองใช้ API ได้โดยไม่มีข้อจำกัดในการประเมินโดยขอ ใบอนุญาตชั่วคราวฟรี
บทสรุป
ในบทความนี้ คุณได้เรียนรู้วิธีแปลงไฟล์ Excel เป็นรูปแบบ CSV และไฟล์ CSV เป็นรูปแบบ Excel (XLS/XLSX) โดยใช้ C++ Aspose.Cells for C++ เป็น API ขนาดใหญ่ที่มีคุณลักษณะเพิ่มเติมมากมายสำหรับการทำงานกับไฟล์ Excel คุณสามารถสำรวจ API โดยละเอียดได้โดยใช้ เอกสารอย่างเป็นทางการ ในกรณีที่มีคำถามใดๆ โปรดติดต่อเราได้ที่ ฟอรัมสนับสนุนฟรี