Bagaimana untuk menukar rangkaian sel kepada imej dalam C#

Bagaimana untuk menukar rangkaian sel kepada imej dalam C#

Mengeksport julat sel ke imej adalah berguna untuk menghasilkan ringkasan, preview, atau laporan sebahagian. panduan ini menunjukkan bagaimana untuk menukar jadual sel yang ditakrifkan dalam Excel ke dalam gambar yang berkualiti tinggi menggunakan Aspose.Cells untuk .NET .

Penggunaan Kasus

  • Jadual harga eksport atau katalog produk
  • Membahagikan sebahagian daripada lembaran kerja tanpa mendedahkan fail penuh
  • Menangkap rang dinamik untuk dashboard atau widget

Panduan Langkah-Langkah

Langkah 1: Instal Aspose.Cells

dotnet add package Aspose.Cells

Langkah 2: Muat turun buku kerja dan lembaran kerja

Workbook workbook = new Workbook("DataSet.xlsx");
Worksheet worksheet = workbook.Worksheets[0];

Langkah 3: Menentukan julat untuk eksport

// Specify a range like A1:D10
Range range = worksheet.Cells.CreateRange("A1", "D10");

Langkah 4: Mengesetkan opsyen Rendering imej

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

Langkah 5: Mencipta SheetRender dan Render Range

// You can use SheetRender with printing bounds if needed
SheetRender renderer = new SheetRender(worksheet, options);

Langkah 6: Eksport Range sebagai imej

Aspose.Cells tidak mempunyai kelas RangeRender langsung, tetapi anda masih boleh klip imej dengan memberi tumpuan kepada rendering hanya kepada julat yang dipilih:

// Set print area manually for the worksheet
worksheet.PageSetup.PrintArea = "A1:D10";

// Recreate SheetRender with print settings now applied
renderer = new SheetRender(worksheet, options);

// Render and export
renderer.ToImage(0, "range_output.png");

Langkah 7: Simpan dan semak output

Anda kini akan mempunyai imej yang dipotong bersih daripada julat Excel yang dipilih.

Keseluruhan contoh kod

using System;
using Aspose.Cells;

class Program
{
    static void Main()
    {
        // Load the workbook
        Workbook workbook = new Workbook("DataSet.xlsx");

        // Access the first worksheet
        Worksheet worksheet = workbook.Worksheets[0];

        // Define range to export (A1 to D10)
        Range range = worksheet.Cells.CreateRange("A1", "D10");

        // Set the print area to this range
        worksheet.PageSetup.PrintArea = range.RefersTo;

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

        // Render only the specified range
        SheetRender renderer = new SheetRender(worksheet, options);

        // Export to image
        renderer.ToImage(0, "range_output.png");

        Console.WriteLine("Cell range exported successfully as image.");
    }
}

Tips Penyelesaian Masalah

IssueSolution
Imej termasuk baris/kolom tambahanPastikan kawasan cetak ditakrifkan dengan ketat
Rangkaian tidak dikumpulkan dengan betulSet OnePagePerSheet = true
Perbincangan BlurryMeningkatkan penyelesaian
 Melayu