2009-06-18 10 views
0

Ich arbeite mit C# und Excel 2007. Kann mir jemand zeigen, wie man das Excel-Blatt in einen C# -Druckvorschau-Dialog legt? Und wie passe ich die Excel-Tabelle in einen bedruckbaren Bereich von einem Papier. Danke im Voraus!Excel-Arbeitsblatt in einen C# -Druckvorschau-Dialog einfügen

Ist es möglich, zusätzliche Schaltflächen im Druckvorschaudialog hinzuzufügen? Ich möchte ein Textfeld dort platzieren, damit der Benutzer einen Text eingeben kann, der auf dem Papier gedruckt werden soll.

Antwort

0

verfügt über eine WorkbookView.PrintPreview() -Methode, die eine Excel-Arbeitsmappe im Fenster .NET Druckvorschau anzeigt und die IPageSetup.FitToPagesTall/FitToPagesWide-Eigenschaften unterstützt, um das Drucken auf einer Seite zu erzwingen.

Sie können die free trial herunterladen und diesen Code in einer C# Console-Anwendung ausführen (zuerst einen Verweis auf SpreadsheetGear.dll hinzuzufügen und zu 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(); 
     } 
    } 
} 

Sie können auch die Verwendung SpreadsheetGear WorkbookView-Steuerelement, damit der Benutzer die Arbeitsmappe bearbeiten kann. SpreadsheetGear unterstützt das Ändern des Druckvorschau-Fensters nicht. Es hat die SpreadsheetGear.Drawing.Image-APIs, die Sie möglicherweise in Ihrem eigenen Druckvorschau-Fenster verwenden könnten, aber das wäre wahrscheinlich ziemlich viel Arbeit und ich bin mir nicht sicher, wie anpassungsfähig das .NET-Druckvorschau-Framework ist.

Haftungsausschluss: Ich besitze SpreadsheetGear LLC