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"); |