チュートリアル
簡単にライブラリーを使用するためのチュートリアルコレクション
Excel ファイルの印刷オプション(シートオプションとも呼ばれる)は、Excel ドキュメントを印刷する際の印刷オプションを制御することができます。Spire.XLS for Java では、印刷領域、印刷タイトル、印刷順序などの印刷オプションを設定するための PageSetup クラスを提供しています。この記事では、Spire.XLS for Java を使用したさまざまな印刷設定の方法を、以下の面から説明します。
まず、Spire.XLS for Java を Java プロジェクトに追加する必要があります。JAR ファイルは、このリンクからダウンロードできます。Maven を使用する場合は、次のコードをプロジェクトの pom.xml ファイルに追加する必要があります。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.xls</artifactId>
<version>14.4.4</version>
</dependency>
</dependencies>
Excel ファイルの印刷設定をコントロールする詳しい手順は以下の通りです。
import com.spire.xls.*;
public class pageSetupForPrinting {
public static void main(String[] args) {
// ワークブックを作成します
Workbook workbook = new Workbook();
// ディスクからExcel文書を読み込みます
workbook.loadFromFile("サンプル.xlsx");
// 最初のワークシートを取得します
Worksheet worksheet = workbook.getWorksheets().get(0);
// 最初のワークシートのPageSetupオブジェクトを取得します
PageSetup pageSetup = worksheet.getPageSetup();
// 印刷範囲を指定します
pageSetup.setPrintArea("A1:D13");
// 行番号1をタイトル行として定義します
pageSetup.setPrintTitleRows("$1:$2");
// 行/列見出しで印刷を許可します
pageSetup.isPrintHeadings(true);
// グリッド線で印刷を許可します
pageSetup.isPrintGridlines(true);
// ワークシート上に表示されるコメントを印刷します
pageSetup.setPrintComments(PrintCommentType.InPlace);
// 印刷品質を設定します
pageSetup.setPrintQuality(150);
// ワークシートを白黒モードで印刷します
pageSetup.setBlackAndWhite(true);
// 印刷順序を設定します
pageSetup.setOrder(OrderType.OverThenDown);
// ドキュメントをファイルに保存します
workbook.saveToFile("output/ページ印刷のオプション.xlsx", ExcelVersion.Version2016);
workbook.dispose();
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30 日間有効な一時ライセンスを取得してください。
Excel のワークシートを印刷すると、書式やレイアウトが完璧に整っているワークシートが、印刷後に非常に乱雑な状態になることがあります。これは、エクセルのワークシートはパソコンで内容を見たり編集したりしやすいように設計されており、直接印刷すると画面上の表示と大きく異なることがあるためです。したがって、ワークシートをそのままの書式とレイアウトで印刷するためには、印刷時に印刷オプションを設定する必要があります。この記事では、Spire.XLS for Java を使って Excel ファイルを印刷する方法と、印刷の設定について説明します。
まず、Spire. XLS for Java を Java プロジェクトに追加する必要があります。JAR ファイルは、このリンクからダウンロードできます。Maven を使用する場合は、次のコードをプロジェクトの pom.xml ファイルに追加する必要があります。
<repositories>
<repository>
<id>com.e-iceblue</id>
<name>e-iceblue</name>
<url> https://repo.e-iceblue.com/nexus/content/groups/public/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>e-iceblue</groupId>
<artifactId>spire.xls</artifactId>
<version>12.8.4</version>
</dependency>
</dependencies>
Excel のページ設定には、コメントを印刷するかどうか、グリッドラインを印刷するかどうか、1つのページにワークシートをレイアウトするかどうかなど、ワークシートの印刷方法を制御するオプションが用意されています。
XLS for Java では、これらの印刷オプションを設定するための PageSetup クラスが用意されています。 以下は、PageSetup クラスのメソッドを使って、Spire.XLS for Java で Excel の印刷オプションを設定する方法の説明です。
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 setPrintOptions {
public static void main(String[] args) {
//Workbookクラスのオブジェクトを作成する
Workbook workbook = new Workbook();
//Excelファイルを読み込む
workbook.loadFromFile("貸借対照表.xlsx");
//1つ目のワークシートを取得する
Worksheet worksheet = workbook.getWorksheets().get(0);
//PageSetupクラスのオブジェクトを作成し、1つ目のワークシートからページ設定を取得する
PageSetup pageSetup = worksheet.getPageSetup();
//余白を設定する
pageSetup.setTopMargin(0.3);
pageSetup.setBottomMargin(0.3);
pageSetup.setLeftMargin(0.3);
pageSetup.setRightMargin(0.3);
//印刷する領域を指定する
pageSetup.setPrintArea("A1:C18");
//ヘッダー列を指定する
pageSetup.setPrintTitleRows("$1:$1");
//ヘッダー列の印刷を許可する
pageSetup.isPrintHeadings(true);
//グリッド線の印刷を許可する
pageSetup.isPrintGridlines(true);
//コメントの印刷と表示を許可する
pageSetup.setPrintComments(PrintCommentType.InPlace);
//印刷品質(dpi)を設定する
pageSetup.setPrintQuality(300);
//白黒モードでの印刷を許可する
pageSetup.setBlackAndWhite(true);
//印刷順序を設定する
pageSetup.setOrder(OrderType.OverThenDown);
//ワークシートを1ページにレイアウトする
pageSetup.isFitToPage(true);
//Paperクラスのオブジェクトを作成する
PrinterJob printerJob = PrinterJob.getPrinterJob();
PageFormat pageFormat = printerJob.defaultPage();
Paper paper = pageFormat.getPaper();
//用紙の描画可能領域を設定する
paper.setImageableArea(0, 0, pageFormat.getWidth(), pageFormat.getHeight());
//印刷部数を設定する
printerJob.setCopies(1);
pageFormat.setPaper(paper);
//設定された書式でワークブックをレイアウトする
printerJob.setPrintable(workbook, pageFormat);
//印刷を実行する
try {
printerJob.print();
} catch (PrinterException e) {
e.printStackTrace();
}
}
}
印刷オプションの設定だけでなく、印刷時にネットワーク上のプリンターを指定する方法や、プリンターの設定方法についても知っておくことが重要です。 次のステップは、Spire.XLS for Java の PrinterJob クラスのメソッドを使用して、プリンタを設定し、Excel ファイルを印刷する方法を示しています。
import com.spire.xls.Workbook;
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 specifyPrinterSettings {
public static void main(String[] args) throws PrinterException {
//Workbookクラスのオブジェクトを作成する
Workbook workbook = new Workbook();
//Excelファイルを読み込む
workbook.loadFromFile("貸借対照表.xlsx");
//PrinterJobクラスのオブジェクトを作成する
PrinterJob printerJob = PrinterJob.getPrinterJob();
//プリンター名を指定する
PrintService myPrintService = findPrintService("\\\\192.168.1.104\\HP LaserJet P1007");
printerJob.setPrintService(myPrintService);
//PageFormatクラスのオブジェクトを作成し、ページのサイズと向きをデフォルトに設定する
PageFormat pageFormat = printerJob.defaultPage();
//このページ設定を持つPaperクラスのオブジェクトを返す
Paper paper = pageFormat .getPaper();
//用紙の描画可能領域を設定する
paper.setImageableArea(0,0,pageFormat .getWidth(),pageFormat .getHeight());
//このPaperクラスのオブジェクトでページを設定する
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;
}
}
結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。にお問い合わせ、30