2009-06-18 10 views
0

Je travaille avec C# et Excel 2007. Quelqu'un peut-il me montrer comment mettre la feuille Excel dans une boîte de dialogue d'aperçu avant impression C#? Et comment puis-je adapter la feuille Excel dans une zone imprimable d'un papier. Merci d'avance!Mise en feuille Excel dans un dialogue d'aperçu avant impression C#

Est-il possible d'ajouter des boutons supplémentaires dans la boîte de dialogue d'aperçu avant impression? Je veux y mettre un champ de texte afin que l'utilisateur puisse taper un texte à imprimer sur le papier.

Répondre

0

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

Questions connexes