วิธีการแปลงสมุดงาน Excel ทั้งหมดเป็นภาพใน C#

วิธีการแปลงสมุดงาน Excel ทั้งหมดเป็นภาพใน C#

การแสดงไฟล์ Excel เป็นภาพนั้นมีความสำคัญเมื่อฝังสเปรดชีตในหน้าเว็บ เอกสาร หรือรายงาน บทความนี้จะแสดงวิธีการแปลงสมุดงาน Excel ทั้งหมดเป็นรูปแบบภาพคุณภาพสูงโดยใช้ Aspose.Cells for .NET

ทำไมต้องแปลงสมุดงานเป็นภาพ?

  • สร้างการแสดงตัวอย่างสำหรับไฟล์ Excel
  • เก็บสเปรดชีตในรูปแบบภาพ
  • ฝังเนื้อหาสเปรดชีตในรายงานหรือกระบวนการพิมพ์
  • แสดงสเปรดชีตในแอปที่ไม่รองรับการดู Excel แบบเนทีฟ

การดำเนินการทีละขั้นตอน

ขั้นตอนที่ 1: ติดตั้ง Aspose.Cells for .NET

เพิ่ม Aspose.Cells ลงในโปรเจกต์ของคุณโดยใช้ NuGet:

dotnet add package Aspose.Cells

ขั้นตอนที่ 2: โหลดไฟล์ Excel

Workbook workbook = new Workbook("Book1.xlsx");

ขั้นตอนที่ 3: กำหนดค่าตัวเลือกภาพ

ImageOrPrintOptions options = new ImageOrPrintOptions
{
    ImageType = ImageType.Png,
    OnePagePerSheet = true,
    HorizontalResolution = 200,
    VerticalResolution = 200
};

การตั้งค่าเหล่านี้ควบคุมรูปแบบและความละเอียดของผลลัพธ์ คุณยังสามารถกำหนดค่า:

  • Transparent สำหรับพื้นหลัง
  • OnlyArea เพื่อไม่รวมขอบ
  • PrintingPageType สำหรับเนื้อหาที่จะรวม

ขั้นตอนที่ 4: แสดงสมุดงาน

WorkbookRender renderer = new WorkbookRender(workbook, options);

ขั้นตอนที่ 5: แปลงแต่ละหน้าเป็นภาพ

วนลูปผ่านหน้าและส่งออกแต่ละหน้า:

for (int i = 0; i < renderer.PageCount; i++)
{
    string fileName = $"workbook_page_{i + 1}.png";
    renderer.ToImage(i, fileName);
}

สิ่งนี้จะสร้างภาพหนึ่งภาพต่อหนึ่งหน้าตามเลย์เอาต์การพิมพ์ปัจจุบัน

ขั้นตอนที่ 6: บันทึกภาพ

โค้ดข้างต้นจะบันทึกไฟล์ภาพแต่ละไฟล์ลงในดิสก์โดยใช้ชื่อที่กำหนด

// ผลลัพธ์:
// workbook_page_1.png
// workbook_page_2.png
// ...

ขั้นตอนที่ 7: การปรับปรุงเพิ่มเติม (เลือกได้)

คุณสามารถปรับแต่งการแสดงภาพได้มากขึ้น:

// ตัวอย่าง: แสดงเส้นกริด
options.ShowGridLines = true;

// ตัวอย่าง: แสดงเนื้อหาทั้งหมดของแผ่นในหนึ่งหน้า
options.AllColumnsInOnePagePerSheet = true;

แนวทางปฏิบัติที่ดีที่สุด

  • ใช้ความละเอียดสูง (200+ dpi) สำหรับภาพคุณภาพการพิมพ์
  • เปิดใช้งาน AllColumnsInOnePagePerSheet สำหรับแผ่นกว้าง
  • รวมผลลัพธ์เป็น PDF หรือแกลเลอรีภาพสำหรับการนำเสนอ

ปัญหาที่พบบ่อย & วิธีแก้ไข

ปัญหาวิธีแก้ไข
ภาพผลลัพธ์ว่างเปล่าตรวจสอบให้แน่ใจว่าสมุดงานถูกโหลดและมีข้อมูลที่มองเห็นได้
ภาพถูกตัดตั้งค่า OnePagePerSheet = true หรือปรับการปรับขนาดหน้า
ผลลัพธ์คุณภาพต่ำเพิ่ม HorizontalResolution และ VerticalResolution
 แบบไทย