איך להמיר טווח תאים לתמונה ב-C#

איך להמיר טווח תאים לתמונה ב-C#

צריך לחלץ באופן ויזואלי חלק מגיליון אלקטרוני? ייצוא טווח תאים לתמונה מועיל ליצירת תצוגות מוקדמות, תצוגות מקדימות או דוחות חלקיים. מדריך זה מציג כיצד להמיר טווח תאים מוגדר ב-Excel לתמונה באיכות גבוהה באמצעות Aspose.Cells for .NET.

מקרים לשימוש

  • ייצוא טבלאות מחירים או קטלוגי מוצרים
  • שיתוף חלק מגיליון עבודה מבלי לחשוף את הקובץ המלא
  • לכידת טווחים דינמיים עבור לוחות מחוונים או ווידג’טים

מדריך שלב-אחר-שלב

שלב 1: התקן Aspose.Cells

dotnet add package Aspose.Cells

שלב 2: טען את חוברת העבודה וגיליון העבודה

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

שלב 3: הגדר את הטווח לייצוא

// ציין טווח כמו A1:D10
Range range = worksheet.Cells.CreateRange("A1", "D10");

שלב 4: הגדר אפשרויות רינדור תמונה

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

שלב 5: צור SheetRender ורנדר את הטווח

// תוכל להשתמש ב-SheetRender עם גבולות הדפסה אם יש צורך
SheetRender renderer = new SheetRender(worksheet, options);

שלב 6: ייצא את הטווח כתמונה

לאספוס.Cells אין מחלקת RangeRender ישירה, אך תוכל עדיין לחתוך תמונה על ידי מיקוד הרינדור רק לטווח שנבחר:

// קבע אזור הדפסה ידנית עבור גיליון העבודה
worksheet.PageSetup.PrintArea = "A1:D10";

// שיחזר את ה-SheetRender עם הגדרות ההדפסה שהוחלו כעת
renderer = new SheetRender(worksheet, options);

// רנדר וייצא
renderer.ToImage(0, "range_output.png");

שלב 7: שמור ואמת את הפלט

עכשיו תהיה לך תמונה נקייה וחתוכה של טווח ה-Excel שנבחר.


קוד דוגמה שלם

using System;
using Aspose.Cells;

class Program
{
    static void Main()
    {
        // טען את חוברת העבודה
        Workbook workbook = new Workbook("DataSet.xlsx");

        // גש לגיליון העבודה הראשון
        Worksheet worksheet = workbook.Worksheets[0];

        // הגדר טווח לייצוא (A1 עד D10)
        Range range = worksheet.Cells.CreateRange("A1", "D10");

        // קבע את אזור ההדפסה לטווח זה
        worksheet.PageSetup.PrintArea = range.RefersTo;

        // קבע אפשרויות ייצוא תמונה
        ImageOrPrintOptions options = new ImageOrPrintOptions
        {
            ImageType = ImageType.Png,
            HorizontalResolution = 200,
            VerticalResolution = 200,
            OnePagePerSheet = true
        };

        // רנדר רק את הטווח המוגדר
        SheetRender renderer = new SheetRender(worksheet, options);

        // ייצא לתמונה
        renderer.ToImage(0, "range_output.png");

        Console.WriteLine("טווח התאים ייצא בהצלחה כתמונה.");
    }
}

טיפים לפתרון בעיות

בעיהפתרון
התמונה כוללת שורות/עמודות נוספותודא שאזור ההדפסה מוגדר במדויק
הטווח לא חתוך כראויקבע OnePagePerSheet = true
טקסט מטושטשהגדל את הגדרות הרזולוציה
 Ελληνικά