SpreadsheetGear for .NET имеет метод WorkbookView.PrintPreview (), который отображает книгу Excel в окне предварительного просмотра .NET и поддерживает свойства IPageSetup.FitToPagesTall / FitToPagesWide для принудительной печати на одной странице.
Вы можете загрузить бесплатную пробную версию и запустить этот код в консольном приложении C # (сначала добавьте ссылку на SpreadsheetGear.dll и 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();
}
}
}
Вы также можете использовать элемент управления SpreadsheetGear WorkbookView, чтобы позволить пользователю редактировать книгу. SpreadsheetGear не поддерживает изменение окна предварительного просмотра. У него действительно есть API-интерфейсы SpreadsheetGear.Drawing.Image, которые вы могли бы потенциально использовать в своем собственном окне предварительного просмотра, но это, вероятно, было бы довольно трудоемким, и я не уверен, насколько настраиваема среда .NET Print Preview.
Отказ от ответственности: я владею SpreadsheetGear LLC