วิธีการแปลงแผนภูมิ Excel เป็นภาพใน C#

วิธีการแปลงแผนภูมิ Excel เป็นภาพใน C#

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

ทำไมต้องแปลงกราฟเป็นภาพ?

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

คู่มือทีละขั้นตอน

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

dotnet add package Aspose.Cells

ขั้นตอนที่ 2: โหลด Workbook

Workbook workbook = new Workbook("Dashboard.xlsx");
Worksheet sheet = workbook.Worksheets["Charts"];

ขั้นตอนที่ 3: เลือกกราฟ

// เข้าถึงกราฟแรกในแผ่นงาน
Chart chart = sheet.Charts[0];

ขั้นตอนที่ 4: ตั้งค่าตัวเลือกการส่งออก

ImageOrPrintOptions options = new ImageOrPrintOptions
{
    ImageType = ImageType.Png,
    HorizontalResolution = 300,
    VerticalResolution = 300,
    Transparent = false
};

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

chart.ToImage("chart_output.png", options);

ขั้นตอนที่ 6: บันทึกและตรวจสอบ

นี่จะบันทึกกราฟของคุณเป็นไฟล์ PNG คุณยังสามารถเลือก JPEG, BMP, TIFF เป็นต้น

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

คุณสามารถควบคุมขนาดและคุณภาพของภาพได้มากขึ้นโดยการตั้งค่า:

// ควบคุมการปรับขนาด
chart.ToImage("chart_highres.png", new ImageOrPrintOptions
{
    ImageType = ImageType.Jpeg,
    SmoothingMode = SmoothingMode.AntiAlias,
    ChartImageWidth = 1200,
    ChartImageHeight = 800
});

ตัวอย่างโค้ดที่สมบูรณ์

using System;
using Aspose.Cells;
using Aspose.Cells.Rendering;
using System.Drawing.Drawing2D;

class Program
{
    static void Main()
    {
        // โหลด workbook
        Workbook workbook = new Workbook("Dashboard.xlsx");

        // เข้าถึงแผ่นงานและกราฟแรก
        Worksheet sheet = workbook.Worksheets["Charts"];
        Chart chart = sheet.Charts[0];

        // ตั้งค่าตัวเลือกการส่งออกรูปภาพ
        ImageOrPrintOptions options = new ImageOrPrintOptions
        {
            ImageType = ImageType.Png,
            HorizontalResolution = 300,
            VerticalResolution = 300,
            SmoothingMode = SmoothingMode.AntiAlias,
            ChartImageWidth = 1200,
            ChartImageHeight = 800
        };

        // ส่งออกกราฟเป็นภาพ
        chart.ToImage("chart_output.png", options);

        Console.WriteLine("กราฟถูกส่งออกเป็นภาพเรียบร้อยแล้ว.");
    }
}

สถานการณ์ทั่วไปและวิธีแก้ไข

ปัญหาวิธีแก้ไข
กราฟดูเบลอเพิ่ม ChartImageWidth และ ChartImageHeight
ภาพขาดความชัดเจนใช้ SmoothingMode = AntiAlias
กราฟถูกตัดตรวจสอบขอบเขตของแผ่นงานหรือการตั้งค่าการปรับขนาด
 แบบไทย