Java  Excel ワークシートを印刷

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

```JAVA
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();
        }
    }
}
```


<h4><strong>指定するプリンターで印刷</strong></h4>
```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>