มีหลายสาเหตุในการแปลงไฟล์ Excel เป็นรูปภาพ ตัวอย่างเช่น คุณสามารถเพิ่มรูปภาพไปยังหน้าเว็บ, PDF, เอกสาร Word, งานนำเสนอ PowerPoint เป็นต้น ในบทความนี้ คุณจะได้เรียนรู้วิธีการแปลงไฟล์ Excel เป็นภาพด้วย C++
C ++ Excel เป็น Image Converter API
Aspose.Cells for C++ เป็นไลบรารี C++ ดั้งเดิมที่ช่วยให้คุณสามารถสร้าง จัดการ และแปลงสเปรดชีตโดยไม่ต้องใช้ Microsoft Excel หรือ Office Automation นอกจากนี้ API ยังให้การสนับสนุนในตัวเพื่อแปลงสเปรดชีต Excel เป็นรูปแบบต่างๆ อีกด้วย คุณสามารถติดตั้ง Aspose.Cells for C++ API ได้โดยใช้แพ็คเกจ NuGet หรือ ดาวน์โหลด API โดยตรง
การแปลง Excel เป็นรูปภาพด้วย C++
Aspose.Cells for C++ ช่วยให้คุณสามารถแปลงสเปรดชีต Excel เป็นรูปแบบรูปภาพยอดนิยมต่างๆ ต่อไปนี้คือรูปแบบภาพเอาต์พุตที่รองรับ:
คุณสามารถใช้ขั้นตอนต่อไปนี้เพื่อแปลงไฟล์ Excel เป็นรูปภาพ
- ขั้นแรก โหลดไฟล์ Excel ด้วยคลาส IWorkbook
- สร้างอินสแตนซ์ของคลาส IImageOrPrintOptions
- ตั้งค่าประเภทภาพโดยผ่านการแจงนับ ImageFormat ไปยังเมธอด IImageOrPrintOptions->SetImageFormat()
- ตั้งค่าตัวเลือกอื่นๆ เช่น ความละเอียดแนวนอนและแนวตั้งด้วยคลาส IImageOrPrintOptions
- สร้างอินสแตนซ์ของคลาส IWorksheet ด้วยเวิร์กชีตที่คุณต้องการแปลง
- สร้างวัตถุของคลาส ISheetRender โดยส่งอินสแตนซ์ IWorksheet และ IImageOrPrintOptions เป็นพารามิเตอร์
- รับจำนวนหน้าในแผ่นงานด้วยเมธอด ISheetRender->GetPageCount()
- สุดท้าย วนซ้ำหน้าและบันทึกแต่ละหน้าเป็นรูปภาพด้วยเมธอด ISheetRender->ToImage()
ตัวอย่างโค้ดต่อไปนี้แสดงวิธีการแปลงไฟล์ Excel เป็นรูปภาพโดยใช้ C++
// สำหรับตัวอย่างและไฟล์ข้อมูลทั้งหมด โปรดไปที่ https://github.com/aspose-cells/Aspose.Cells-for-C
// เส้นทางไดเร็กทอรีต้นทาง
StringPtr srcDir = new String("..\\Data\\01_SourceDirectory\\");
// เส้นทางไดเร็กทอรีเอาต์พุต
StringPtr outDir = new String("..\\Data\\02_OutputDirectory\\");
// เส้นทางของไฟล์ Excel ที่ป้อนเข้า
StringPtr sampleConvertingWorksheetToDifferentImageFormats = srcDir->StringAppend(new String("sampleConvertingWorksheetToDifferentImageFormats.xlsx"));
// สร้างสมุดงานที่ว่างเปล่า
intrusive_ptr<Aspose::Cells::IWorkbook> workbook = Factory::CreateIWorkbook(sampleConvertingWorksheetToDifferentImageFormats);
// เข้าถึงแผ่นงานแรก
intrusive_ptr<Aspose::Cells::IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// สร้างวัตถุตัวเลือกภาพหรือพิมพ์
intrusive_ptr<Aspose::Cells::Rendering::IImageOrPrintOptions> imgOptions = Factory::CreateIImageOrPrintOptions();
// ระบุรูปแบบภาพ
imgOptions->SetImageFormat(Aspose::Cells::Systems::Drawing::Imaging::ImageFormat::GetPng());
// ระบุความละเอียดในแนวนอนและแนวตั้ง
imgOptions->SetHorizontalResolution(200);
imgOptions->SetVerticalResolution(200);
// แสดงผลแผ่นตามภาพหรือตัวเลือกการพิมพ์ที่ระบุ
intrusive_ptr<Aspose::Cells::Rendering::ISheetRender> sr = Factory::CreateISheetRender(worksheet, imgOptions);
// รับจำนวนหน้า
Aspose::Cells::Systems::Int32 pageCount = sr->GetPageCount();
// สร้างวัตถุตัวสร้างสตริงสำหรับการต่อสตริง
intrusive_ptr<Aspose::Cells::Systems::Text::StringBuilder> sb = new Aspose::Cells::Systems::Text::StringBuilder();
// เรนเดอร์แต่ละหน้าเป็นภาพ png ทีละภาพ
for (int i = 0; i < pageCount; i++)
{
// ล้างตัวสร้างสตริงและสร้างเส้นทางอิมเมจเอาต์พุตด้วยการต่อสตริง
sb->Clear();
sb->Append(outDir);
sb->Append((StringPtr)new String("outputConvertingWorksheetToImagePNG_"));
sb->Append(i);
sb->Append((StringPtr)new String(".png"));
// รับเส้นทางภาพออก
StringPtr outputPNG = sb->ToString();
// แปลงแผ่นงานเป็นภาพ png
sr->ToImage(i, outputPNG);
}
รับใบอนุญาตฟรี
คุณสามารถลองใช้ API ได้โดยไม่มีข้อจำกัดในการประเมินโดยขอ ใบอนุญาตชั่วคราวฟรี
บทสรุป
โดยสรุป คุณได้เรียนรู้วิธีแปลงสเปรดชีต Excel เป็นรูปภาพโดยใช้ C++ เมื่อใช้ Aspose.Cells for C++ API คุณสามารถแปลงไฟล์ Excel เป็นรูปแบบภาพยอดนิยมต่างๆ เช่น PNG, TIFF, SVG, GIF, JPEG เป็นต้น หากต้องการสำรวจเพิ่มเติมเกี่ยวกับ API ให้ใช้ API เอกสารประกอบ