possède une méthode WorkbookView.PrintPreview() qui affiche un classeur Excel dans la fenêtre Aperçu avant impression .NET et prend en charge les propriétés IPageSetup.FitToPagesTall/FitToPagesWide pour forcer l'impression sur une page.
Vous pouvez télécharger le free trial et exécuter ce code dans une application C# console (d'abord ajouter une référence à SpreadsheetGear.dll et System.Windows.Forms.dll):
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SpreadsheetGear;
namespace SpreadsheetGearPrintPreview
{
class Program
{
static void Main(string[] args)
{
// Create a workbook to preview.
IWorkbook workbook = Factory.GetWorkbook();
IWorksheet worksheet = workbook.Worksheets[0];
worksheet.Name = "MySheet";
worksheet.Cells["A1:J100"].Formula = "=ROUND(RAND()*ROW()*COLUMN(),0)";
// Set the print area.
IPageSetup pageSetup = worksheet.PageSetup;
pageSetup.PrintArea = "A1:J100";
// This will force the workbook to be printed on one page.
pageSetup.FitToPagesTall = 1;
pageSetup.FitToPagesWide = 1;
// Create a WorkbookView and display the workbook in Print Preview.
var workbookView = new SpreadsheetGear.Windows.Forms.WorkbookView(workbook);
workbookView.PrintPreview();
}
}
}
Vous pouvez également utiliser la SpreadsheetGear WorkbookView contrôle pour permettre à l'utilisateur de modifier le classeur. SpreadsheetGear ne prend pas en charge la modification de la fenêtre Aperçu avant impression. Il possède les API SpreadsheetGear.Drawing.Image que vous pourriez potentiellement utiliser dans votre propre fenêtre Aperçu avant impression, mais ce serait probablement un peu de travail et je ne suis pas sûr de la façon dont le framework .NET Print Preview est personnalisable.
Désistement: Je possède SpreadsheetGear LLC