Imprimer et prévisualiser le classeur

Introduction à l’impression

Microsoft Excel suppose que vous voulez imprimer l’ensemble de la zone de la feuille de calcul à moins que vous ne spécifiiez une sélection. Pour imprimer avec Aspose.Cells, importez d’abord l’espace de noms Aspose.Cells.Rendering dans le programme. Il possède plusieurs classes utiles, par exemple, SheetRender et WorkbookRender.

Impression à l’aide de SheetRender

La classe Aspose.Cells.Rendering.SheetRender représente une feuille de calcul et possède la méthode ToPrinter qui peut imprimer une feuille de calcul. Le code d’exemple suivant montre comment imprimer une feuille de calcul.

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-.NET
// The path to the documents directory.
string dataDir = RunExamples.GetDataDir(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
// Instantiate a workbook with Excel file.
Workbook workbook = new Workbook(dataDir + "SampleBook.xlsx");
string printerName = "";
while (string.IsNullOrEmpty(printerName) && string.IsNullOrWhiteSpace(printerName))
{
Console.WriteLine("Please Enter Your Printer Name:");
printerName = Console.ReadLine();
}
// Define a worksheet.
Worksheet worksheet;
// Get the second sheet.
worksheet = workbook.Worksheets[1];
// Apply different Image/Print options.
Aspose.Cells.Rendering.ImageOrPrintOptions options = new Aspose.Cells.Rendering.ImageOrPrintOptions();
options.PrintingPage = PrintingPageType.Default;
SheetRender sr = new SheetRender(worksheet, options);
Console.WriteLine("Printing SampleBook.xlsx");
// Print the sheet.
try
{
sr.ToPrinter(printerName);
Console.WriteLine("Pinting finished.");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}

Impression à l’aide de WorkbookRender

Pour imprimer un classeur entier, itérez à travers les feuilles et imprimez-les, ou utilisez la classe WorkbookRender.

// 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();
// Instantiate a workbook with an Excel file.
Workbook workbook = new Workbook(sourceDir + "samplePrintingUsingWorkbookRender.xlsx");
string printerName = "doPDF 8";
// Apply different Image/Print options.
Aspose.Cells.Rendering.ImageOrPrintOptions options = new Aspose.Cells.Rendering.ImageOrPrintOptions();
options.ImageType = Drawing.ImageType.Tiff;
options.PrintingPage = PrintingPageType.Default;
// To print a whole workbook, iterate through the sheets and print them, or use the WorkbookRender class.
WorkbookRender wr = new WorkbookRender(workbook, options);
try
{
// Print the workbook.
wr.ToPrinter(printerName);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}

Aperçu avant impression

Il peut arriver que des fichiers Excel comportant des millions de pages doivent être convertis en PDF ou en images. Le traitement de tels fichiers consommera beaucoup de temps et de ressources. Dans de tels cas, la fonction Aperçu avant impression du classeur et de la feuille de calcul pourrait s’avérer utile. Avant de convertir de tels fichiers, l’utilisateur peut vérifier le nombre total de pages et décider ensuite de les convertir ou non. Cet article met l’accent sur l’utilisation des classes WorkbookPrintingPreview et SheetPrintingPreview pour déterminer le nombre total de pages.

Aspose.Cells fournit la fonction d’aperçu avant impression. Pour cela, l’API fournit les classes WorkbookPrintingPreview et SheetPrintingPreview. Pour créer l’aperçu avant impression du classeur entier, créez une instance de la classe WorkbookPrintingPreview en transmettant les objets Workbook et ImageOrPrintOptions au constructeur. La classe WorkbookPrintingPreview fournit une méthode EvaluatedPageCount qui retourne le nombre de pages dans l’aperçu généré. De manière similaire à la classe WorkbookPrintingPreview, la classe SheetPrintingPreview est utilisée pour générer un aperçu avant impression pour une feuille de calcul spécifique. Pour créer l’aperçu avant impression d’une feuille de calcul, créez une instance de la classe SheetPrintingPreview en transmettant les objets Worksheet et ImageOrPrintOptions au constructeur. La classe SheetPrintingPreview fournit également une méthode EvaluatedPageCount qui retourne le nombre de pages dans l’aperçu généré.

Le code suivant montre l’utilisation à la fois des classes WorkbookPrintingPreview et SheetPrintingPreview en utilisant le fichier Excel d’exemple.

Code d’exemple

// 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();
Workbook workbook = new Workbook(sourceDir + "Book1.xlsx");
ImageOrPrintOptions imgOptions = new ImageOrPrintOptions();
WorkbookPrintingPreview preview = new WorkbookPrintingPreview(workbook, imgOptions);
Console.WriteLine("Workbook page count: " + preview.EvaluatedPageCount);
SheetPrintingPreview preview2 = new SheetPrintingPreview(workbook.Worksheets[0], imgOptions);
Console.WriteLine("Worksheet page count: " + preview2.EvaluatedPageCount);

Voici la sortie générée en exécutant le code ci-dessus.

Sortie console

Workbook page count: 1
Worksheet page count: 1

Sujets avancés