Konvertera arbetsblad till bild med hjälp av alternativ för bild eller utskrift

Spara arbetsblad till bilder - Olika tillvägagångssätt

Ibland kan det hända att du behöver presentera dina arbetsblad som en bildlig representation. Du kan behöva infoga bilderna i ett Word-dokument, en PDF-fil, en PowerPoint-presentation eller använda dem på annat sätt. Du vill helt enkelt ha ett arbetsblad renderat som en bild så att du kan använda det någon annanstans. Aspose.Cells stödjer konvertering av arbetsblad i Excel-filer till bilder. Dessutom stödjer Aspose.Cells inställning av olika alternativ som bildformat, upplösning (både vertikal och horisontell), bildkvalitet och andra bild- och utskriftsalternativ.

Du kan prova Office Automation, men Office Automation har sina egna nackdelar. Det finns flera skäl och problem involverade, till exempel säkerhet, stabilitet, skalbarhet och hastighet, pris och funktioner. Kort sagt, det finns många orsaker, där den främsta är att Microsoft själva starkt avråder från Office Automation för programvarulösningar.

Denna artikel visar hur man skapar en konsolapplikation i Visual Studio .NET, utför konvertering av ett arbetsblad till bild med olika bild- och utskriftsalternativ med några enkla kodrader med hjälp av Aspose.Cells API.

Du behöver importera Aspose.Cells.Rendering namespace till ditt program/projekt. Det har flera värdefulla klasser, till exempel SheetRender, ImageOrPrintOptions, WorkbookRender osv.

Klassen Aspose.Cells.Rendering.SheetRender representerar ett arbetsblad för att rendera bilder för arbetsbladet, den har en överbelastad ToImage-metod som kan konvertera ett arbetsblad direkt till bildfil(er) som specificerats med önskade attribut eller alternativ. Den kan returnera System.Drawing.Bitmap-objekt och du kan spara en bildfil på disken/strömmen. Det finns flera bildformat som stöds, t.ex. BMP, PNG, GIFF, JPEG, TIFF, EMF med mera.

Använda Aspose.Cells för att konvertera arbetsblad till bild med hjälp av alternativ för bild eller utskrift

Skapa en mallarbok i Microsoft Excel

Jag skapade en ny arbetsbok i MS Excel och lade till lite data i det första arbetsbladet. Nu kommer jag att konvertera mallfilens arbetsblad “Sheet1” till en bildfil “SheetImage.tiff” och tillämpa olika bildalternativ som horisontell och vertikal upplösning, TiffCompression med mera.

Ladda ner och installera Aspose.Cells

Först måste du ladda ner Aspose.Cells för .Net. Installera det på din utvecklingsdator. Alla Aspose-komponenter, när de väl är installerade, fungerar i utvärderingsläge. Utvärderingsläget har ingen tidsbegränsning och det lägger bara in vattenstämplar i producerade dokument.

Skapa ett projekt

Starta Visual Studio. Net och skapa en ny konsolapplikation. Detta exempel kommer att visa en C#-konsolapplikation, men du kan också använda VB.NET.

Lägg till referenser

Detta projekt kommer att använda Aspose.Cells. Så du måste lägga till en referens till Aspose.Cells-komponenten i ditt projekt. Till exempel, lägg till en referens till ….\Program Files\Aspose\Aspose.Cells for .NET\Bin\Net1.0\Aspose.Cells.dll

Konvertera arbetsblad till en bildfil

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
//Source directory
string sourceDir = RunExamples.Get_SourceDirectory();
//Output directory
string outputDir = RunExamples.Get_OutputDirectory();
//Open template
Workbook book = new Workbook(sourceDir + "sampleWorksheetToAnImage.xlsx");
// Get the first worksheet
Worksheet sheet = book.Worksheets[0];
// Apply different Image and Print options
Aspose.Cells.Rendering.ImageOrPrintOptions options = new Aspose.Cells.Rendering.ImageOrPrintOptions();
// Set Horizontal Resolution
options.HorizontalResolution = 300;
// Set Vertical Resolution
options.VerticalResolution = 300;
// Set TiffCompression
options.TiffCompression = Aspose.Cells.Rendering.TiffCompression.CompressionLZW;
// Set Image Format
options.ImageType = Drawing.ImageType.Tiff;
// Set printing page type
options.PrintingPage = PrintingPageType.Default;
// Render the sheet with respect to specified image/print options
SheetRender sr = new SheetRender(sheet, options);
// Render/save the image for the sheet
int pageIndex = 3;
sr.ToImage(pageIndex, outputDir + @"outputWorksheetToAnImage_"+ (pageIndex + 1) + ".tiff");

Konverteringsalternativ

Det är möjligt att spara specifika sidor som bild. Följande kod konverterar arbetsböckerets första och andra kalkylblad till JPG-bilder.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
//Source directory
string sourceDir = RunExamples.Get_SourceDirectory();
//Output directory
string outputDir = RunExamples.Get_OutputDirectory();
// Open a template excel file
Workbook book = new Workbook(sourceDir + "sampleSpecificPagesToImages.xlsx");
// Get the first worksheet.
Worksheet sheet = book.Worksheets[0];
// Define ImageOrPrintOptions
ImageOrPrintOptions imgOptions = new ImageOrPrintOptions();
// Specify the image format
imgOptions.ImageType = Drawing.ImageType.Jpeg;
// Render the sheet with respect to specified image/print options
SheetRender sr = new SheetRender(sheet, imgOptions);
//Specify page index to be rendered
int idxPage = 3;
// Render the third image for the sheet
Bitmap bitmap = sr.ToImage(idxPage);
// Save the image file
bitmap.Save(outputDir + "outputSpecificPagesToImage_"+ (idxPage+1)+".jpg");

Bildkonvertering med användning av WorkbookRender

En TIFF-bild kan innehålla fler än en ram. Du kan spara hela arbetsboken till en enda TIFF-bild med flera ramar eller sidor:

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
//Source directory
string sourceDir = RunExamples.Get_SourceDirectory();
//Output directory
string outputDir = RunExamples.Get_OutputDirectory();
Aspose.Cells.Workbook wb = new Aspose.Cells.Workbook(sourceDir + "sampleUseWorkbookRenderForImageConversion.xlsx");
ImageOrPrintOptions opts = new ImageOrPrintOptions();
opts.ImageType = Drawing.ImageType.Tiff;
WorkbookRender wr = new WorkbookRender(wb, opts);
wr.ToImage(outputDir + "outputUseWorkbookRenderForImageConversion.tiff");