半岛权威十大直营(官方)网站

Excel处理控件Spire.XLS系列教程:C# 打印 Excel 文档

翻译|使用教程|编辑:吉炜炜|2025-04-02 13:57:40.643|阅读 4 次

概述:Excel 文档的常规打印操作十分简单。然而,一旦涉及特殊打印需求,情况就会变得比较麻烦。文将介绍如何使用 Spire.XLS for .NET 在 C# 中通过页面设置对 Excel 打印选项进行设置,以及如何将 Excel 文档发送到打印机。

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

相关链接:

Excel 文档的常规打印操作十分简单。然而,一旦涉及特殊打印需求,情况就会变得比较麻烦。比如,仅打印工作表中的选定区域,在每一页重复打印标题行,或是将工作表调整至一页内打印,都需要一些特定的设置与操作。本文将介绍如何使用 Spire.XLS for .NET 在 C# 中通过页面设置对 Excel 打印选项进行设置,以及如何将 Excel 文档发送到打印机

安装 Spire.XLS for .NET

首先,您需要将 Spire.XLS for .NET 包含的 DLL 文件作为引用添加到您的 .NET 项目中。DLL 文件可以从下载,也可以通过  安装。

PM> Install-Package Spire.XLS

C# 通过页面设置设置 Excel 打印选项

Excel 的页面设置功能提供了多种选项,用于控制工作表的打印方式。比如,是否打印批注、是否打印网格线,以及指定要打印的单元格区域等。Spire.XLS 提供了 PageSetup 对象来设置这些 Excel 打印选项。具体步骤如下:

using Spire.Xls;

namespace PrintOptions
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建workbook对象
            Workbook workbook = new Workbook();

            // 加载Excel文档
            workbook.LoadFromFile("测试.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:F7";

            // 指定标题行
            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;

            // 将工作表打印到一页纸上
            pageSetup.IsFitToPage = true;

            // 保存结果文档
            workbook.SaveToFile("页面打印选项.xlsx", ExcelVersion.Version2016);
        }
    }
}
设置Excel工作表打印页面选项

C# 使用打印对话框打印 Excel 文档

打印对话框可让用户选择特定打印任务的选项。例如,用户可以指定要使用的打印机。以下是使用 Spire.XLS for .NET 将 Excel 文档发送到打印对话框的步骤:

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 workbook = new Workbook();

            // 加载Excel文档
            workbook.LoadFromFile("测试.xlsx");

            // 将工作表打印到一页纸上
            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();
            }
        }
    }
}
将 Excel 文档发送到打印对话框

C# 静默打印 Excel 文档

如果不想看到打印对话框或打印过程,可以将 Excel 文档静默地打印到指定的打印机。具体步骤如下:

using Spire.Xls;
using System.Drawing.Printing;

namespace SilentlyPrint
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建Workbook对象
            Workbook workbook = new Workbook();

            // 加载Excel文档
            workbook.LoadFromFile("测试.xlsx");

            // 将工作表打印到一页纸上  
            PageSetup pageSetup = workbook.Worksheets[0].PageSetup;
            pageSetup.IsFitToPage = true;

            // 将打印控制器设置为StandardPrintController,防止显示打印过程
            workbook.PrintDocument.PrintController = new StandardPrintController();

            // 从工作簿中获取打印机设置
            PrinterSettings settings = workbook.PrintDocument.PrinterSettings;

            // 指定打印机名称、双面打印模式和打印页数
            settings.PrinterName = "HP LaserJet P1007";
            settings.Duplex = Duplex.Simplex;
            settings.FromPage = 1;
            settings.ToPage = 3;

            // 打印工作簿
            workbook.PrintDocument.Print();
        }
    }
}

————————————————————————————————————————

关于慧都科技:

慧都科技是专注软件工程、智能制造、石油工程三大行业的数字化解决方案服务商。在软件工程领域,我们提供开发控件、研发管理、代码开发、部署运维等软件开发全链路所需的产品,提供正版授权采购、技术选型、个性化维保等服务,帮助客户实现技术合规、降本增效与风险可控。慧都科技E-iceblue的官方授权代理商,提供E-iceblue系列产品免费试用,咨询,正版销售等于一体的专业化服务E-iceblue是国产文档处理领域的优秀产品,支持国产化信创,帮助企业高效构建文档处理的应用程序。

欢迎下载|体验更多E-iceblue产品

获取更多信息请咨询 ;技术交流Q群(1041253375


标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@wqylolg.cn

文章转载自:慧都网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
相关产品
Spire.Office for .NET

专业的.NET Office套件,涵盖office文档创建、编辑、转换、管理和OCR内容识别等操作

Spire.XLS for .NET

Spire.XLS for .NET是专业.NET Excel组件,快速完成对Excel各类编程操作

Spire.XLS for WPF

Spire.XLS for WPF是一款强大的专业Excel组件,让开发人员能够用他们的WPF应用操作Excel文件。

Spire.XLS Pack

独立使用的Excel工具套包。

Spire.XLS for Java

Spire.XLS for Java让开发人员无需Microsoft Excel即可处理Excel

title
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP