前の記事ではJavaでWord文書を印刷する方法を紹介しましたが、今回の記事ではJava でExcel ワークシートを印刷する方法を紹介することにしたいと思います。Spire.XLS for Javaを使って「通常使うプリンターで印刷」と「指定するプリンターで印刷」二種類の仕方でやりましょう。
下準備
1.E-iceblueの公式サイトからFree Spire. XLS for Java無料版をダウンロードしてください。
2.IDEを起動して新規プロジェクトを作成してから、インストールされたファイルにあった相応しいSpire. XLS.jarを参照に追加してください。
通常使うプリンターで印刷
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 objectを作成します。
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();
}
}
}
指定するプリンターで印刷
```JAVA 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 objectを作成します。
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;
}
<p> </p>
<p><img src="https://cdn-ak.f.st-hatena.com/images/fotolife/l/lendoris/20210114/20210114143915.png" alt="f:id:lendoris:20210114143915p:plain" title="" class="hatena-fotolife" itemprop="image" /></p>
<p><strong> </strong></p>