C# と Excel 2007 を使用しています。Excel シートを C# の印刷プレビュー ダイアログに表示する方法を教えてもらえますか? また、Excel シートを 1 枚の用紙の印刷可能領域に収めるにはどうすればよいでしょうか。前もって感謝します!
印刷プレビュー ダイアログにボタンを追加することはできますか? ユーザーが紙に印刷するテキストを入力できるように、そこにテキスト フィールドを配置したいと考えています。
C# と Excel 2007 を使用しています。Excel シートを C# の印刷プレビュー ダイアログに表示する方法を教えてもらえますか? また、Excel シートを 1 枚の用紙の印刷可能領域に収めるにはどうすればよいでしょうか。前もって感謝します!
印刷プレビュー ダイアログにボタンを追加することはできますか? ユーザーが紙に印刷するテキストを入力できるように、そこにテキスト フィールドを配置したいと考えています。
SpreadsheetGear for .NETには WorkbookView.PrintPreview() メソッドがあり、Excel ワークブックを .NET 印刷プレビュー ウィンドウに表示し、IPageSetup.FitToPagesTall / FitToPagesWide プロパティをサポートして 1 ページに強制的に印刷します。
無料試用版をダウンロードして、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 は、印刷プレビュー ウィンドウの変更をサポートしていません。独自の印刷プレビュー ウィンドウで潜在的に使用できる SpreadsheetGear.Drawing.Image API がありますが、それはかなりの作業になる可能性が高く、.NET 印刷プレビュー フレームワークがどの程度カスタマイズ可能かはわかりません。
免責事項: 私は SpreadsheetGear LLC を所有しています