Excel เป็นรูปภาพ

มีหลายสาเหตุในการแปลงไฟล์ 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 เอกสารประกอบ

ดูสิ่งนี้ด้วย