C# Convertir Excel en images (JPG, PNG, BMP, EMF, SVG) sans MS Office

2024-01-29 09:39:18

Partager des fichiers Excel avec d’autres peut parfois s’avérer gênant pour diverses raisons. Par exemple, les destinataires peuvent ne pas avoir Excel installé sur leurs appareils ou utiliser un système d'exploitation différent qui n'est pas compatible avec Excel. Cela peut entraîner des problèmes de compatibilité et des difficultés d’accès et de visualisation des fichiers partagés. De plus, les fichiers Excel peuvent être volumineux, ce qui rend difficile leur envoi par courrier électronique ou sur d'autres plateformes de partage de fichiers soumises à des restrictions de taille.

La conversion d'Excel en images résout ces défis en fournissant un moyen simplifié et visuellement attrayant de présenter les données. Avec les images, vous pouvez capturer l’essence des données en un seul instantané, permettant ainsi aux destinataires de saisir plus facilement les informations en un coup d’œil. Qu'il s'agisse d'un graphique, d'un graphique ou d'un tableau, la conversion d'Excel en images vous permet de transformer des données complexes dans un format visuellement attrayant.

Dans ce blog, nous expliquerons comment convertir Excel en divers formats d'image tels que JPG, PNG, BMP, EMF et SVG à l'aide de C#.

Bibliothèque C# pour convertir Excel en images

Pour convertir Excel en images à l'aide de C#, vous pouvez utiliser Spire.XLS for .NET, qui est une API Excel professionnelle qui prend en charge la création, la lecture, l'écriture, l'impression et la conversion de fichiers Excel dans des applications .NET sans recourir à Microsoft Office.

Pour installer Spire.XLS for .NET, vous pouvez exécuter la commande suivante dans la console NuGet Package Manager :

Install-Package Spire.XLS

Convertir une feuille de calcul Excel en images JPG, PNG et BMP en C#

JPG, PNG et BMP sont des formats de fichiers image populaires utilisés pour stocker et afficher des images numériques. Voici une description concise de chaque format :

JPG (ou JPEG) :

JPG (ou JPEG) est un format d'image largement utilisé connu pour son algorithme de compression efficace. Il est couramment utilisé pour stocker des photographies et des images complexes comportant de nombreuses couleurs.

PNG (graphiques de réseau portables) :

PNG est un format d'image sans perte conçu pour remplacer le GIF (Graphics Interchange Format). Il prend en charge des images de haute qualité avec transparence et une large gamme de couleurs. Les fichiers PNG sont souvent utilisés pour les graphiques, les logos et les images comportant des bords ou du texte nets.

BMP (Bitmap) :

BMP est un format d'image de base qui stocke les graphiques sous une forme non compressée. Il a été développé par Microsoft et est souvent utilisé lorsqu'un contrôle précis au niveau des pixels est requis ou lorsqu'une compatibilité avec des logiciels ou des systèmes plus anciens est nécessaire.

Voici un exemple de code qui montre comment convertir une feuille de calcul Excel en images JPG, PNG et BMP à l'aide de C# et 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

Convertir une feuille de calcul Excel en image EMF en C#

EMF est un format d'image vectorielle qui conserve l'évolutivité et la résolution de haute qualité de la feuille de calcul originale. La conversion d'Excel en EMF permet une édition et une manipulation ultérieures de l'image à l'aide d'un logiciel compatible, ce qui la rend adaptée à des fins de graphisme et de conception professionnelles.

Voici un exemple de code qui montre comment convertir une feuille de calcul Excel en image EMF à l'aide de C# et 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

Convertir une feuille de calcul Excel en image SVG en C#

SVG est un format d'image vectorielle basé sur XML qui prend en charge l'interactivité et peut être mis à l'échelle sans perte de qualité. La conversion d'Excel en SVG permet un rendu dynamique et réactif de la feuille de calcul, ce qui la rend idéale pour les applications Web, les visualisations de données et les flux de travail de conception réactifs.

Voici un exemple de code qui montre comment convertir une feuille de calcul Excel en image SVG à l'aide de C# et 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

Convertir une feuille de calcul Excel en une image avec une résolution spécifique en C#

Lors de la conversion d'une feuille de calcul Excel en image, Spire.XLS for .NET n'offre pas de méthode directe pour spécifier la résolution de l'image. Cependant, vous pouvez utiliser les méthodes des classes Bitmap et Graphics pour ajuster sans effort la résolution des images résultantes.

Voici un exemple de code qui montre comment convertir une feuille de calcul Excel en image avec une résolution spécifique à l'aide de C# et 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

Convertir une feuille de calcul Excel en une image sans marges blanches en C#

La conversion d'une feuille de calcul Excel en une image sans marges blanches est utile pour éliminer les espaces blancs inutiles et se concentrer sur le contenu de la feuille de calcul. En supprimant les marges blanches, les images résultantes contiendront uniquement les données et visuels réels du fichier Excel, ce qui les rendra plus attrayantes visuellement et adaptées à certains cas d'utilisation.

Voici un exemple de code qui montre comment convertir une feuille de calcul Excel en image sans marges blanches à l'aide de C# et 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

Convertir une plage de cellules spécifique d'une feuille de calcul Excel en image en C#

En plus de convertir une feuille de calcul entière en image, Spire.XLS for .NET vous permet de convertir une plage de cellules spécifique en image. Cela peut être utile pour partager ou présenter une partie des données dans une feuille de calcul.

Voici un exemple de code qui montre comment convertir une plage de cellules spécifique d'une feuille de calcul Excel en image à l'aide de C# et 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

Obtenez une licence gratuite

Pour profiter pleinement des capacités de Spire.XLS for .NET sans aucune limitation d'évaluation, vous pouvez demander une licence d'essai gratuite de 30 jours.

Conclusion

Ce blog fournit un aperçu complet de la façon de convertir des feuilles de calcul Excel en images à l'aide de Spire.XLS for .NET. Cependant, il est important de souligner que Spire.XLS prend en charge la conversion de fichiers Excel vers une variété de formats de fichiers au-delà des images. Ces options de conversion supplémentaires incluent Excel en PDF, Excel en HTML, Excel en texte, Excel en XPS, etc.

Voir également