チュートリアル

簡単にライブラリーを使用するためのチュートリアルコレクション

チュートリアル».NET»Spire.XLS for .NET»印刷»C#:Excel ドキュメントを印刷する方法
2024-10-30

C#:Excel ドキュメントを印刷する方法

Excel 文書は簡単に印刷できますが、特別な印刷要件がある場合は少し複雑になることがあります。たとえば、シートの選択範囲のみを印刷する、各ページにヘッダー行を繰り返す、またはワークシートを 1 ページに収めるなどです。この記事では、Spire.XLS for .NET を使用して、C# で Excel 文書の印刷オプションを設定する方法と、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 ドキュメントを印刷する方法

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 日間有効な一時ライセンスを取得してください。

Read 114 times