Помещение листа Excel в диалоговое окно предварительного просмотра печати С#

Я работаю с С# и Excel 2007. Может ли кто-нибудь показать мне, как поместить лист Excel в диалоговое окно предварительного просмотра печати С#? И как мне разместить лист Excel в области печати одной бумаги. Заранее спасибо!

Можно ли добавить дополнительные кнопки в диалоговое окно предварительного просмотра? Я хочу поместить туда текстовое поле, чтобы пользователь мог ввести текст для печати на бумаге.


person Community    schedule 18.06.2009    source источник


Ответы (1)


SpreadsheetGear для .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

person Joe Erickson    schedule 19.06.2009