วิธีแปลงแผ่นงานเป็นภาพใน C#
วิธีแปลงแผ่นงานเป็นภาพใน C#
การส่งออกแผ่นงาน Excel เพียงแผ่นเดียวไปยังรูปแบบภาพ (เช่น PNG, JPEG) มีประโยชน์เมื่อสร้างตัวอย่าง ส่งออกกราฟ หรือแชร์การแสดงผลแบบอ่านอย่างเดียวของเนื้อหาสเปรดชีต คู่มือนี้จะแสดงให้คุณเห็นวิธีการแปลงแผ่นงานหนึ่งจากสมุดงาน Excel เป็นภาพโดยใช้ Aspose.Cells for .NET
กรณีการใช้งาน
- สร้างตัวอย่างของแผ่นงานเฉพาะ
- ส่งออกรายงานที่จัดรูปแบบสำหรับอีเมลหรือเอกสาร
- ฝังแผ่นเดียวในหน้าเว็บหรือ PDF
คู่มือทีละขั้นตอน
ขั้นตอนที่ 1: ติดตั้ง Aspose.Cells for .NET
dotnet add package Aspose.Cells
ขั้นตอนที่ 2: โหลดไฟล์ Excel
Workbook workbook = new Workbook("SalesData.xlsx");
Worksheet sheet = workbook.Worksheets["Q1 Report"]; // เข้าถึงแผ่นงานเฉพาะ
ขั้นตอนที่ 3: กำหนดตัวเลือกการเรนเดอร์ภาพ
ImageOrPrintOptions options = new ImageOrPrintOptions
{
ImageType = ImageType.Png,
OnePagePerSheet = true,
HorizontalResolution = 200,
VerticalResolution = 200,
PrintingPageType = PrintingPageType.Default
};
ขั้นตอนที่ 4: สร้างอ็อบเจ็กต์ SheetRender
SheetRender renderer = new SheetRender(sheet, options);
ขั้นตอนที่ 5: เรนเดอร์แต่ละหน้าเป็นภาพ
for (int pageIndex = 0; pageIndex < renderer.PageCount; pageIndex++)
{
string imageName = $"worksheet_q1_page_{pageIndex + 1}.png";
renderer.ToImage(pageIndex, imageName);
}
ขั้นตอนที่ 6: บันทึกภาพ
โค้ดนี้จะบันทึกภาพหนึ่งภาพต่อหนึ่งหน้าที่พิมพ์ได้ในแผ่นงานโดยอัตโนมัติ
ขั้นตอนที่ 7: การปรับปรุงเพิ่มเติม (ถ้ามี)
คุณสามารถใช้การตั้งค่าเลย์เอาต์เพิ่มเติม:
// แสดงเส้นตารางในภาพผลลัพธ์
options.ShowGridLines = true;
// พอดีเนื้อหาทั้งหมดในหน้าเดียว
options.AllColumnsInOnePagePerSheet = true;
โค้ดตัวอย่างทั้งหมด
using System;
using Aspose.Cells;
class Program
{
static void Main()
{
// โหลดสมุดงาน Excel
Workbook workbook = new Workbook("SalesData.xlsx");
// เข้าถึงแผ่นงานเฉพาะ
Worksheet sheet = workbook.Worksheets["Q1 Report"];
// กำหนดตัวเลือกการเรนเดอร์ภาพ
ImageOrPrintOptions options = new ImageOrPrintOptions
{
ImageType = ImageType.Png,
OnePagePerSheet = true,
HorizontalResolution = 200,
VerticalResolution = 200,
PrintingPageType = PrintingPageType.Default
};
// เปิดใช้งานเส้นตารางถ้าต้องการ
options.ShowGridLines = true;
// เรนเดอร์แผ่นงานเป็นภาพ
SheetRender renderer = new SheetRender(sheet, options);
for (int pageIndex = 0; pageIndex < renderer.PageCount; pageIndex++)
{
string imageName = $"worksheet_q1_page_{pageIndex + 1}.png";
renderer.ToImage(pageIndex, imageName);
Console.WriteLine($"บันทึก: {imageName}");
}
Console.WriteLine("แผ่นงานเรนเดอร์เป็นภาพเรียบร้อยแล้ว");
}
}
สถานการณ์ทั่วไป & การแก้ไขปัญหา
ปัญหา | วิธีแก้ไข |
---|---|
เนื้อหาถูกตัด | ใช้ AllColumnsInOnePagePerSheet = true |
ผลลัพธ์มีคุณภาพต่ำ | เพิ่มความละเอียดของภาพ |
เส้นตารางหาย | ตั้งค่า ShowGridLines = true |