Категория

C# Преобразование Excel в изображения (JPG, PNG, BMP, EMF, SVG) без MS Office

2024-01-29 09:47:10 Tesia tian

Совместное использование файлов Excel с другими иногда может быть неудобно по разным причинам. Например, на устройствах получателей может не быть установлен Excel или они могут использовать другую операционную систему, несовместимую с Excel. Это может привести к проблемам совместимости и трудностям при доступе и просмотре общих файлов. Кроме того, файлы Excel могут иметь большой размер, что затрудняет их отправку по электронной почте или на другие платформы обмена файлами с ограничениями по размеру.

Преобразование Excel в изображения решает эти проблемы, предоставляя упрощенный и визуально привлекательный способ представления данных. С помощью изображений вы можете запечатлеть суть данных в одном снимке, что облегчит получателям понимание информации с первого взгляда. Будь то диаграмма, график или таблица, преобразование Excel в изображения позволяет преобразовать сложные данные в визуально привлекательный формат.

В этом блоге мы подробно расскажем, как конвертируйте Excel в различные форматы изображений, такие как JPG, PNG, BMP, EMF и SVG, с помощью C#..

Библиотека C# для преобразования Excel в изображения

Чтобы преобразовать Excel в изображения с помощью C#, вы можете использовать Spire.XLS for .NET— профессиональный API Excel, который поддерживает создание, чтение, запись, печать и преобразование файлов Excel в приложениях .NET без использования Microsoft Office.

Чтобы установить Spire.XLS for .NET, вы можете выполнить следующую команду в консоли диспетчера пакетов NuGet:

Install-Package Spire.XLS

Преобразование листа Excel в изображения JPG, PNG и BMP на C#

JPG, PNG и BMP — популярные форматы файлов изображений, используемые для хранения и отображения цифровых изображений. Вот краткое описание каждого формата:

JPG (или JPEG):

JPG (или JPEG) — широко используемый формат изображений, известный своим эффективным алгоритмом сжатия. Он обычно используется для хранения фотографий и сложных изображений с множеством цветов.

PNG (переносимая сетевая графика):

PNG — это формат изображений без потерь, разработанный в качестве замены GIF (формат графического обмена). Он поддерживает высококачественные изображения с прозрачностью и широким диапазоном цветов. Файлы PNG часто используются для графики, логотипов и изображений с острыми краями или текстом.

BMP (растровое изображение):

BMP — это базовый формат изображений, в котором графика хранится в несжатом виде. Он был разработан Microsoft и часто используется, когда требуется точный контроль на уровне пикселей или когда необходима совместимость со старым программным обеспечением или системами.

Ниже приведен пример кода, показывающий, как преобразовать лист Excel в изображения JPG, PNG и BMP с помощью C# и Spire.XLS for .NET:

  • Python
using Spire.Xls;
    using System.Drawing.Imaging;
    
    namespace ConvertExcelToImage
    {
        internal class Program
        {
            static void Main(string[] args)
            {
                //Create a Workbook object
                Workbook workbook = new Workbook();
                //Open an Excel file
                workbook.LoadFromFile("Sample.xlsx");
    
                //Get the first worksheet
                Worksheet worksheet = workbook.Worksheets[0];
    
                //Save the worksheet to JPEG, PNG, and BMP images
                worksheet.SaveToImage("Output//SheetToJPEG.jpeg", ImageFormat.Jpeg);
                worksheet.SaveToImage("Output//SheetToPNG.png", ImageFormat.Png);
                worksheet.SaveToImage("Output//SheetToBMP.bmp", ImageFormat.Bmp);
    
                workbook.Dispose();
            }
        }
    }

C# Convert Excel to Images (JPG, PNG, BMP, EMF, SVG) without MS Office

Преобразование листа Excel в изображение EMF на C#

EMF — это векторный формат изображения, сохраняющий масштабируемость и высокое разрешение исходного листа. Преобразование Excel в EMF позволяет в дальнейшем редактировать изображение и манипулировать им с помощью совместимого программного обеспечения, что делает его пригодным для профессиональной графики и дизайна.

Ниже приведен пример кода, показывающий, как преобразовать лист Excel в изображение EMF с помощью C# и Spire.XLS for .NET:

  • Python
using Spire.Xls;
    using System.Drawing;
    using System.Drawing.Imaging;
    using System.IO;
    
    namespace ConvertExcelToEMF
    {
        internal class Program
        {
            static void Main(string[] args)
            {
                //Create a Workbook object and load the Excel file
                Workbook workbook = new Workbook();
                workbook.LoadFromFile("Sample.xlsx");
    
                //Get the first worksheet
                Worksheet worksheet = workbook.Worksheets[0];
    
                //Create a memory stream
                using (MemoryStream stream = new MemoryStream())
                {
                    //Save the worksheet to the memory stream as EMF
                    worksheet.ToEMFStream(stream, worksheet.FirstRow, worksheet.FirstColumn, worksheet.LastRow, worksheet.LastColumn, EmfType.EmfPlusDual);
    
                    //Create an Image object from the memory stream
                    using (Image img = Image.FromStream(stream))
                    {
                        //Save the image as an EMF file
                        img.Save("Output//SheetToEMF.emf", ImageFormat.Emf);
                    }
                }
    
                workbook.Dispose();
            }
        }
    }

C# Convert Excel to Images (JPG, PNG, BMP, EMF, SVG) without MS Office

Преобразование листа Excel в изображение SVG на C#

SVG — это формат векторных изображений на основе XML, который поддерживает интерактивность и может масштабироваться без потери качества. Преобразование Excel в SVG обеспечивает динамическую и гибкую визуализацию листа, что делает его идеальным для веб-приложений, визуализации данных и рабочих процессов адаптивного дизайна.

Ниже приведен пример кода, показывающий, как преобразовать лист Excel в изображение SVG с помощью C# и Spire.XLS for .NET:

  • Python
using Spire.Xls;
    using System.IO;
    
    namespace ConvertExcelToSVG
    {
        internal class Program
        {
            static void Main(string[] args)
            {
                //Create a Workbook object
                Workbook workbook = new Workbook();
                //Open an Excel file
                workbook.LoadFromFile("Sample.xlsx");
    
                //Get the first worksheet
                Worksheet worksheet = workbook.Worksheets[0];
    
                //Save the worksheet to SVG
                using (FileStream fs = new FileStream("Output//SheetToSVG.svg", FileMode.Create))
                {
                    
                    worksheet.ToSVGStream(fs, worksheet.FirstRow, worksheet.FirstColumn, worksheet.LastRow, worksheet.LastColumn);
                }
    
                workbook.Dispose();
            }
        }
    }

C# Convert Excel to Images (JPG, PNG, BMP, EMF, SVG) without MS Office

Преобразование листа Excel в изображение с определенным разрешением на C#

При преобразовании листа Excel в изображение Spire.XLS for .NET не предлагает прямого метода указания разрешения изображения. Однако вы можете использовать методы классов Bitmap и Graphics, чтобы легко настроить разрешение получаемых изображений.

Ниже приведен пример кода, показывающий, как преобразовать лист Excel в изображение с определенным разрешением с помощью C# и Spire.XLS for .NET:

  • Python
using Spire.Xls;
    using System.Drawing;
    using System.Drawing.Imaging;
    using System.IO;
    
    namespace ConvertExcelToImageWithCustomResolution
    {
        internal class Program
        {
            static void Main(string[] args)
            {
                //Create a Workbook object
                Workbook workbook = new Workbook();
                //Open an Excel file
                workbook.LoadFromFile("Sample.xlsx");
    
                //Get the first worksheet
                Worksheet worksheet = workbook.Worksheets[0];
    
                //Convert the worksheet to EMF stream
                using (MemoryStream ms = new MemoryStream())
                {
                    worksheet.ToEMFStream(ms, 1, 1, worksheet.LastRow, worksheet.LastColumn);
    
                    //Create an image from the EMF stream
                    Image image = Image.FromStream(ms);
                    //Call the ResetResolution() method to change the resolution of the image
                    Bitmap images = ResetResolution(image as Metafile, 300);
    
                    //Save the image in JPG file format
                    images.Save("Output//SheetToImageWithCustomResolution.jpg", ImageFormat.Jpeg);
                }
    
                workbook.Dispose();
            }
    
            //Create a custom method to change image resolution
            private static Bitmap ResetResolution(Metafile mf, float resolution)
            {
                int width = (int)(mf.Width * resolution / mf.HorizontalResolution);
                int height = (int)(mf.Height * resolution / mf.VerticalResolution);
                Bitmap bmp = new Bitmap(width, height);
                bmp.SetResolution(resolution, resolution);
                Graphics g = Graphics.FromImage(bmp);
                g.DrawImage(mf, 0, 0);
                g.Dispose();
                return bmp;
            }
        }
    }

C# Convert Excel to Images (JPG, PNG, BMP, EMF, SVG) without MS Office

Преобразование листа Excel в изображение без белых полей на C#

Преобразование листа Excel в изображение без белых полей полезно для устранения ненужного пустого пространства и сосредоточения внимания на содержимом электронной таблицы. Удалив белые поля, полученные изображения будут содержать только фактические данные и визуальные эффекты из файла Excel, что сделает их более привлекательными и подходящими для определенных случаев использования.

Ниже приведен пример кода, показывающий, как преобразовать лист Excel в изображение без белых полей с помощью C# и Spire.XLS for .NET:

  • Python
using Spire.Xls;
    using System.Drawing.Imaging;
    
    namespace ConvertExcelToImage
    {
        internal class Program
        {
            static void Main(string[] args)
            {
                //Create a Workbook object
                Workbook workbook = new Workbook();
                //Open an Excel file
                workbook.LoadFromFile("Sample.xlsx");
    
                //Get the first worksheet
                Worksheet worksheet = workbook.Worksheets[0];
    
                //Set the margin of the worksheet to 0
                worksheet.PageSetup.LeftMargin = 0;
                worksheet.PageSetup.BottomMargin = 0;
                worksheet.PageSetup.TopMargin = 0;
                worksheet.PageSetup.RightMargin = 0;
    
                //Save the worksheet to an image
                worksheet.SaveToImage("Output//SheetToImageWithoutMargins.png", ImageFormat.Png);
    
                workbook.Dispose();
            }
        }
    }

C# Convert Excel to Images (JPG, PNG, BMP, EMF, SVG) without MS Office

Преобразование определенного диапазона ячеек листа Excel в изображение на C#

Помимо преобразования всего листа в изображение, Spire.XLS for .NET позволяет конвертировать в изображение определенный диапазон ячеек. Это может быть полезно для совместного использования или представления части данных на листе.

Ниже приведен пример кода, показывающий, как преобразовать определенный диапазон ячеек листа Excel в изображение с помощью C# и Spire.XLS for .NET:

  • Python
using Spire.Xls;
    using System.IO;
    
    namespace ConvertCellRangeToImage
    {
        internal class Program
        {
            static void Main(string[] args)
            {
                //Create a Workbook object
                Workbook workbook = new Workbook();
                //Open an Excel file
                workbook.LoadFromFile("Sample.xlsx");
    
                //Get the first worksheet
                Worksheet worksheet = workbook.Worksheets[0];
                
                //Save a specific range of cells within the worksheet to an image
                worksheet.ToImage(5, 1, 16, 5).Save("Output//CellRangeToImage.png");
    
                workbook.Dispose();
            }
        }
    }

C# Convert Excel to Images (JPG, PNG, BMP, EMF, SVG) without MS Office

Получите бесплатную лицензию

Чтобы в полной мере воспользоваться возможностями Spire.XLS for .NET без каких-либо ограничений оценки, вы можете запросить бесплатная 30-дневная пробная лицензия.

Заключение

В этом блоге представлен подробный обзор того, как конвертировать листы Excel в изображения с помощью Spire.XLS for .NET. Однако важно подчеркнуть, что Spire.XLS поддерживает преобразование файлов Excel в различные форматы файлов, помимо изображений. Эти дополнительные параметры преобразования включают Excel в PDF, Excel в HTML, Excel в текст, Excel в XPS и другие

Смотрите также