zoukankan      html  css  js  c++  java
  • Java 打印Excel工作表

    示例要点

    本文介绍如何通过Java程序打印Excel工作表。可通过以下方法打印:

    1. 默认打印机打印
    2. 指定打印机打印

    程序环境

    • spire.xls.jar
    • JDK版本要求1.6.0及以上的高版本
    • IDEA

    Jar文件导入

    方法1:手动下载jar包导入。下载jar包,并解压到指定路径,将该路径下lib文件夹下的jar文件导入java程序;

    方法2Maven程序中配置pom.xml文件导入,如下配置:

    <repositories>
        <repository>
            <id>com.e-iceblue</id>
            <url>http://repo.e-iceblue.cn/repository/maven-public/</url>
         </repository>
    </repositories>
    <dependencies>
    <dependency>
            <groupId>e-iceblue</groupId>
      <artifactId>spire.xls</artifactId>
      <version>3.11.2</version>
    </dependency>
    </dependencies>

    完成配置后,导入jar。Eclipse中的导入方法可参考教程文档

    jar导入效果图:

    Java代码

    1. 默认打印机打印

    import com.spire.xls.*;
    
    import java.awt.print.PageFormat;
    import java.awt.print.Paper;
    import java.awt.print.PrinterException;
    import java.awt.print.PrinterJob;
    
    public class Print {
        public static void main(String[] args) {
            //加载excel工作簿
            Workbook workbook = new Workbook();
            workbook.loadFromFile("test.xlsx");
    
            //创建 PrinterJob对象
            PrinterJob printerJob = PrinterJob.getPrinterJob();
    
            //指定打印页面为默认大小和方向
            PageFormat pageFormat = printerJob.defaultPage();
    
            //设置相关打印选项
            Paper paper = pageFormat.getPaper();
            paper.setImageableArea(0, 0, pageFormat.getWidth(), pageFormat.getHeight());
            pageFormat.setPaper(paper);
            printerJob.setCopies(1);
            printerJob.setPrintable(workbook, pageFormat);
    
            //执行打印
            try {
                printerJob.print();
            } catch (PrinterException e) {
                e.printStackTrace();
            }
        }
    }

    2. 指定打印机打印

    import com.spire.xls.*;
    
    import javax.print.PrintService;
    import java.awt.print.PageFormat;
    import java.awt.print.Paper;
    import java.awt.print.PrinterException;
    import java.awt.print.PrinterJob;
    
    public class Print {
        public static void main(String[] args) throws Exception {
            //加载excel工作表
            Workbook workbook = new Workbook();
            workbook.loadFromFile("test.xlsx");
    
            //创建 PrinterJob对象
            PrinterJob printerJob = PrinterJob.getPrinterJob();
    
            //指定打印机
            PrintService myPrintService = findPrintService("\\192.168.1.104\HP LaserJet P1007");
            printerJob.setPrintService( myPrintService);
    
            //指定打印页面为默认大小和方向
            PageFormat pageFormat = printerJob.defaultPage();
    
            //设置相关打印选项
            Paper paper = pageFormat.getPaper();
            paper.setImageableArea(0, 0, pageFormat.getWidth(), pageFormat.getHeight());
            pageFormat.setPaper(paper);
            printerJob.setCopies(1);
            printerJob.setPrintable(workbook, pageFormat);
    
            //执行打印
            try {
                printerJob.print();
            } catch (PrinterException e) {
                e.printStackTrace();
            }
        }
    
       //通过打印机名称获取打印服务
        private static PrintService findPrintService(String printerName) {
            PrintService[] printServices = PrinterJob.lookupPrintServices();
            for (PrintService printService : printServices) {
                if (printService.getName().equals(printerName)) {
                    return printService;
                }
            }
            return null;
        }
    }

    推荐阅读:

    1. Java 打印Word

       Java打印Word文档 (1)

       Java打印Word文档 (2)

    2. Java 打印PDF

  • 相关阅读:
    [原]Eclipse 安装SVN、Maven插件(补充)
    [原]几个云笔记的简单比较
    [原]Unity3d中奇怪的编译错误
    [原]unity中WWW isDone方法只能在主线程中调用
    C语言。格式化符号
    Unity iOS Guideline 1.3
    AR增强现实 之Metaio For Unity 开发 之HelloWorld
    Unity 4.6 bate 20 or 4.5.5 +vuforia3.0.9 发布到真机错误 解决
    服务器端Ajax异步分页类,基本通用分页类
    从数据库中读取数据并写入到Excle电子表格之2
  • 原文地址:https://www.cnblogs.com/Yesi/p/14004507.html
Copyright © 2011-2022 走看看