Excel 文書は簡単に印刷できますが、特別な印刷要件がある場合は少し複雑になることがあります。たとえば、シートの選択範囲のみを印刷する、各ページにヘッダー行を繰り返す、またはワークシートを 1 ページに収めるなどです。この記事では、Spire.XLS for .NET を使用して、C# で Excel 文書の印刷オプションを設定する方法と、Excel 文書をプリンターに送信する方法について説明します。 C# で Excel 文書の印刷オプションを設定する C# で Excel 文書を印刷ダイアログで印刷する C# で Excel 文書をサイレント印刷する Spire.XLS for .NET をインストールします まず、Spire.XLS for .NET パッケージに含まれている DLL ファイルを .NET プロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。 PM> Install-Package Spire.XLS C# で Excel 文書の印刷オプションを設定する Excel ワークシートのページ設定は、ワークシートの印刷方法を制御するためのオプションを提供します。これには、コメントの印刷の有無、グリッドラインの印刷、印刷するセル範囲の指定が含まれます。Spire.XLS は、これらの設定を管理するための PageSetup オブジェクトを提供します。以下は、Spire.XLS for .NET を使用して PageSetup を通じて Excel の印刷オプションを設定する手順です。 Workbook オブジェクトを作成します。 Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。 Workbook.Worksheets[index] プロパティを使用して特定のワークシートを取得します。 Worksheet.PageSetup プロパティを通じて PageSetup オブジェクトを取得します。 PageSetup オブジェクトのプロパティを使用して、ページの余白、印刷範囲、印刷タイトル行、印刷品質などを設定します。 Workbook.SaveToFile() メソッドを使用してワークブックを保存します。 C# using Spire.Xls; namespace PrintOptions { class Program { static void Main(string[] args) { // ワークブックを作成 Workbook workbook = new Workbook(); // Excel ドキュメントをロード workbook.LoadFromFile("Sample.xlsx"); // 最初のワークシートを取得 Worksheet worksheet = workbook.Worksheets[0]; // 最初のワークシートの PageSetup オブジェクトを取得 PageSetup pageSetup = worksheet.PageSetup; // ページの余白を設定 pageSetup.TopMargin = 0.3; pageSetup.BottomMargin = 0.3; pageSetup.LeftMargin = 0.3; pageSetup.RightMargin = 0.3; // 印刷範囲を指定 pageSetup.PrintArea = "A1:D10"; // タイトル行を指定 pageSetup.PrintTitleRows = "$1:$2"; // 行/列の見出しを印刷することを許可 pageSetup.IsPrintHeadings = true; // グリッドラインを印刷することを許可 pageSetup.IsPrintGridlines = true; // ワークシートに表示されているコメントを印刷することを許可 pageSetup.PrintComments = PrintCommentType.InPlace; // 印刷品質を設定 (dpi) pageSetup.PrintQuality = 300; // 白黒モードでワークシートを印刷することを許可 pageSetup.BlackAndWhite = true; // 印刷順序を設定 pageSetup.Order = OrderType.OverThenDown; // ワークシートを1ページに収める pageSetup.IsFitToPage = true; // ワークブックを保存 workbook.SaveToFile("output/Excelページ印刷設定.xlsx"); workbook.Dispose(); } } } C# で Excel 文書を印刷ダイアログで印刷する 印刷ダイアログボックスは、特定の印刷ジョブのオプションを選択するためにユーザーに提供されます。たとえば、ユーザーは使用するプリンターを指定できます。以下は、Spire.XLS for .NET を使用して Excel 文書を印刷ダイアログに送信する手順です。 Workbook オブジェクトを作成します。 Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。 PrintDialog オブジェクトを作成します。 PrintDialog オブジェクトのプロパティを使用してプリンター設定を指定します。 ワークブックに印刷ダイアログを適用します。 Workbook.PrintDocument プロパティを通じてワークブックから PrintDocument オブジェクトを取得します。 印刷ダイアログを呼び出し、PrintDocument.Print() メソッドを使用して印刷を開始します。 C# using System; using Spire.Xls; using System.Drawing.Printing; using System.Windows.Forms; namespace PrintExcelUsingPrintDialog { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { // ワークブックオブジェクトを作成 Workbook workbook = new Workbook(); // Excelファイルをロード workbook.LoadFromFile("Sample.xlsx"); // ワークシートを1ページに収める PageSetup pageSetup = workbook.Worksheets[0].PageSetup; pageSetup.IsFitToPage = true; // PrintDialogオブジェクトを作成 PrintDialog dialog = new PrintDialog(); // プリンタ設定を指定 dialog.AllowCurrentPage = true; dialog.AllowSomePages = true; dialog.AllowSelection = true; dialog.UseEXDialog = true; dialog.PrinterSettings.Duplex = Duplex.Simplex; // ダイアログをワークブックに適用 workbook.PrintDialog = dialog; // ワークブックに基づいてPrintDocumentオブジェクトを作成 PrintDocument printDocument = workbook.PrintDocument; // 印刷ダイアログを表示 if (dialog.ShowDialog() == DialogResult.OK) { printDocument.Print(); } } } } C# で Excel 文書をサイレント印刷する 印刷ダイアログや印刷プロセスを表示したくない場合は、指定したプリンターに Excel 文書をサイレント印刷できます。以下はその手順です。 Workbook オブジェクトを作成します。 Workbook.LoadFromFile() メソッドを使用して Excel ファイルを読み込みます。 印刷プロセスが表示されないように StandardPrintController に印刷コントローラーを設定します。 Workbook.PrintDocument.PrinterSettings プロパティを使用してワークブックから PrinterSettings オブジェクトを取得します。 PrinterSettings オブジェクトのプロパティを使用して、プリンター名、両面印刷モード、および印刷ページを指定します。 Workbook.PrintDocument.Print() メソッドを使用してワークブックを印刷します。 C# using Spire.Xls; using System.Drawing.Printing; namespace SilentlyPrint { class Program { static void Main(string[] args) { // ワークブックオブジェクトを作成 Workbook workbook = new Workbook(); // Excelファイルをロード workbook.LoadFromFile("Sample.xlsx"); // ワークシートを1ページに収める PageSetup pageSetup = workbook.Worksheets[0].PageSetup; pageSetup.IsFitToPage = true; // 印刷プロセスを表示しないようにStandardPrintControllerを設定 workbook.PrintDocument.PrintController = new StandardPrintController(); // ワークブックからPrinterSettingsを取得 PrinterSettings settings = workbook.PrintDocument.PrinterSettings; // プリンタ名、両面印刷モード、および印刷ページを指定 settings.PrinterName = "HP LaserJet P1007"; settings.Duplex = Duplex.Simplex; settings.FromPage = 1; settings.ToPage = 3; // ワークブックを印刷 workbook.PrintDocument.Print(); } } } 一時ライセンスを申請する 結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。