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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM