C# Converti Excel in immagini (JPG, PNG, BMP, EMF, SVG) senza MS Office

2024-01-29 09:41:07

Condividere file Excel con altri a volte può essere scomodo per vari motivi. Ad esempio, i destinatari potrebbero non avere Excel installato sui propri dispositivi oppure potrebbero utilizzare un sistema operativo diverso non compatibile con Excel. Ciò può portare a problemi di compatibilità e difficoltà nell'accesso e nella visualizzazione dei file condivisi. Inoltre, i file Excel possono essere di grandi dimensioni, il che li rende difficili da inviare tramite e-mail o altre piattaforme di condivisione file con limiti di dimensione.

La conversione di Excel in immagini risolve queste sfide fornendo un modo semplificato e visivamente accattivante per presentare i dati. Con le immagini, puoi catturare l'essenza dei dati in un'unica istantanea, rendendo più semplice per i destinatari cogliere le informazioni a colpo d'occhio. Che si tratti di un diagramma, di un grafico o di una tabella, la conversione di Excel in immagini ti consente di trasformare dati complessi in un formato visivamente accattivante.

In questo blog spiegheremo come farlo converti Excel in vari formati di immagine come JPG, PNG, BMP, EMF e SVG utilizzando C#.

Libreria C# per convertire Excel in immagini

Per convertire Excel in immagini utilizzando C#, puoi utilizzare Spire.XLS for .NET, un'API Excel professionale che supporta la creazione, lettura, scrittura, stampa e conversione di file Excel in applicazioni .NET senza fare affidamento su Microsoft Office.

Per installare Spire.XLS for .NET, è possibile eseguire il comando seguente nella console di gestione pacchetti NuGet:

Install-Package Spire.XLS

Converti un foglio di lavoro Excel in immagini JPG, PNG e BMP in C#

JPG, PNG e BMP sono formati di file immagine popolari utilizzati per archiviare e visualizzare immagini digitali. Ecco una descrizione concisa di ciascun formato:

JPG (o JPEG):

JPG (o JPEG) è un formato immagine ampiamente utilizzato noto per il suo efficiente algoritmo di compressione. È comunemente usato per archiviare fotografie e immagini complesse con molti colori.

PNG (grafica di rete portatile):

PNG è un formato immagine senza perdita di dati progettato per sostituire GIF (Graphics Interchange Format). Supporta immagini di alta qualità con trasparenza e un'ampia gamma di colori. I file PNG vengono spesso utilizzati per grafica, loghi e immagini con bordi o testo netti.

BMP (bitmap):

BMP è un formato immagine di base che memorizza la grafica in un formato non compresso. È stato sviluppato da Microsoft e viene spesso utilizzato quando è richiesto un controllo preciso a livello di pixel o quando è necessaria la compatibilità con software o sistemi meno recenti.

Ecco un esempio di codice che mostra come convertire un foglio di lavoro Excel in immagini JPG, PNG e BMP utilizzando C# e 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

Converti un foglio di lavoro Excel in un'immagine EMF in C#

EMF è un formato immagine basato su vettori che mantiene la scalabilità e la risoluzione di alta qualità del foglio di lavoro originale. La conversione di Excel in EMF consente ulteriori modifiche e manipolazioni dell'immagine utilizzando software compatibile, rendendola adatta a scopi di grafica e progettazione professionali.

Ecco un esempio di codice che mostra come convertire un foglio di lavoro Excel in un'immagine EMF utilizzando C# e 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

Converti un foglio di lavoro Excel in un'immagine SVG in C#

SVG è un formato di immagine vettoriale basato su XML che supporta l'interattività e può essere ridimensionato senza perdita di qualità. La conversione di Excel in SVG consente il rendering dinamico e reattivo del foglio di lavoro, rendendolo ideale per applicazioni Web, visualizzazioni di dati e flussi di lavoro di progettazione reattiva.

Ecco un esempio di codice che mostra come convertire un foglio di lavoro Excel in un'immagine SVG utilizzando C# e 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

Converti un foglio di lavoro Excel in un'immagine con una risoluzione specifica in C#

Quando si converte un foglio di lavoro Excel in un'immagine, Spire.XLS for .NET non offre un metodo diretto per specificare la risoluzione dell'immagine. Tuttavia, puoi utilizzare i metodi delle classi Bitmap e Graphics per regolare facilmente la risoluzione delle immagini risultanti.

Ecco un esempio di codice che mostra come convertire un foglio di lavoro Excel in un'immagine con una risoluzione specifica utilizzando C# e 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

Converti un foglio di lavoro Excel in un'immagine senza margini bianchi in C#

Convertire un foglio di lavoro Excel in un'immagine senza margini bianchi è utile per eliminare gli spazi bianchi non necessari e concentrarsi sul contenuto del foglio di calcolo. Rimuovendo i margini bianchi, le immagini risultanti conterranno solo i dati e gli elementi visivi effettivi del file Excel, rendendoli visivamente più accattivanti e adatti a determinati casi d'uso.

Ecco un esempio di codice che mostra come convertire un foglio di lavoro Excel in un'immagine senza margini bianchi utilizzando C# e 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

Converti un intervallo di celle specifico di un foglio di lavoro Excel in un'immagine in C#

Oltre a convertire un intero foglio di lavoro in un'immagine, Spire.XLS for .NET consente di convertire un intervallo di celle specifico in un'immagine. Ciò può essere utile per condividere o presentare una porzione di dati all'interno di un foglio di lavoro.

Ecco un esempio di codice che mostra come convertire un intervallo di celle specifico di un foglio di lavoro Excel in un'immagine utilizzando C# e 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

Ottieni una licenza gratuita

Per sperimentare appieno le funzionalità di Spire.XLS for .NET senza limitazioni di valutazione, puoi richiedere una licenza di prova gratuita di 30 giorni.

Conclusione

Questo blog fornisce una panoramica completa su come convertire fogli di lavoro Excel in immagini utilizzando Spire.XLS for .NET. Tuttavia, è importante sottolineare che Spire.XLS supporta la conversione di file Excel in una varietà di formati di file oltre alle immagini. Queste opzioni di conversione aggiuntive includono Excel in PDF, Excel in HTML, Excel in testo, Excel in XPS e altro ancora.

Guarda anche