罫線と目盛線は同じではありません。目盛線は、ワークシート全体を貫く1画素単位の灰色の線です。主な目的は、ワークシート上で作業する際に、セルの境界を確認できるようにすることです。目盛線は、セルや枠線に色を付けると見えなくなります。罫線は、さまざまな幅や2重の線を持つことができ、色をつけることもできます。罫線は常に通常の印刷と一緒に印刷されます。
今回は、無料のFree Spire.XLS for Javaを使って、JavaでExcelのセルに目盛線や罫線を適用する方法を紹介します。
【依存関係の追加】
この方法は、無料のFree Spire.XLS for Javaが必要ですので、先にjarファイルをインポートしてください。
1. Maven
Maven を使用している場合、プロジェクトの pom.xml ファイルに以下のコードを追加することで、簡単にアプリケーションに JAR ファイルをインポートすることができます。
<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.free</artifactId>
<version>5.1.0</version>
</dependency>
</dependencies>
2. 公式サイトよりJarファイルをダウンロード
まず、Free Spire.XLS for Javaの公式サイトよりzipファイルをダウンロードします。zipファイルを解凍し、libフォルダの下にあるSpire.Xls.jarファイルを依存関係としてプロジェクトにインポートしてください。
ワークシートに目盛線を表示する
目盛線は常にワークシートまたはワークブック全体に適用され、特定のセルや範囲に適用することはできません。 Worksheet.setGridLinesVisible() メソッドは、ワークシートに目盛線を表示するかどうかを制御するメソッドです。以下は、Free Spire.XLS for Javaを使用して目盛線を表示させる手順です。
- Workbookクラスのオブジェクトを作成します。
- Workbook.loadFromFile() メソッドを使用して、Excelワークブックを読み込みます。
- Workbook.getWorksheets().get() メソッドを使用して、特定のワークシートを取得します。
- Worksheet.setGridLinesVisible() メソッドを使用して、ワークシートに目盛線を表示します。
- Workbook.saveToFile() メソッドを使用して、ワークブックを保存します。
Java
import com.spire.xls.ExcelVersion;
import com.spire.xls.Workbook;
import com.spire.xls.Worksheet;
public class showGridlines {
public static void main(String[] args) {
//Workbookクラスのオブジェクトを作成する
Workbook workbook = new Workbook();
//Excelワークブックを読み込む
workbook.loadFromFile("住居費.xlsx");
//1つ目のワークシートを取得する
Worksheet worksheet = workbook.getWorksheets().get(0);
//指定したワークシートに目盛線を表示する
worksheet.setGridLinesVisible(true);
//ドキュメントを保存する
workbook.saveToFile("目盛線の表示.xlsx", ExcelVersion.Version2016);
}
}
データを含むセル範囲に罫線を適用する
データがあるセル範囲にのみボーダーを適用したい場合もあります。データのあるセル範囲を Worksheet.getAllocatedRange() メソッドで取得し、CellRange.borderAround() メソッドまたは CellRange.borderInside() メソッドで外側または内側の罫線を設定すればよいのです。
- Workbookクラスオブジェクトを作成します。
- Workbook.loadFromFile() メソッドでExcelワークブックを読み込みます。
- Workbook.getWorksheets().get() メソッドで特定のワークシートを取得します。
- Worksheet.getAllocatedRange() メソッドでデータを含むセル範囲を取得します。
- CellRange.borderAround() メソッドと CellRange.borderInside() メソッドでセル範囲に罫線を適用しています。
- Workbook.saveToFile() メソッドでワークブックを保存します。
Java
import com.spire.xls.*;
import java.awt.*;
public class applyBordersToLocatedRange {
public static void main(String[] args) {
//Workbook クラスのオブジェクトを作成する
Workbook workbook = new Workbook();
//Excelワークブックを読み込む
workbook.loadFromFile("住居費.xlsx");
//1つ目のワークシートを取得する
Worksheet worksheet = workbook.getWorksheets().get(0);
//データを含むセル範囲を取得する
CellRange cellRange = worksheet.getAllocatedRange();
//外枠を範囲に適用する
cellRange.borderAround(LineStyleType.MediumDashed, Color.black);
//範囲に内枠を適用する
cellRange.borderInside(LineStyleType.Thin, Color.black);
//ドキュメントを保存する
workbook.saveToFile("罫線の適用.xlsx", ExcelVersion.Version2016);
}
}
選択されたセル範囲に罫線を適用する
ある領域のデータを他の領域と区別するために、異なるセル範囲に異なるボーダースタイルを適用することができます。内側と外側のボーダーとは別に、セルやセル範囲の上下左右の罫線を設定することができます。次のステップでは、その方法を説明します。
- Workbookクラスのオブジェクトを作成します。
- Workbook.loadFromFile() メソッドでExcelワークブックを読み込みます。
- Workbook.getWorksheets().get() メソッドで特定のワークシートを取得します。
- Worksheet.getRange().get() メソッドでセル範囲を取得します。
- CellRange.getBorders().getByBordersLineType() メソッドで、セル範囲からIBorderクラスのオブジェクトを取得します。
- IBorderオブジェクトの setLineStyle() と setColor() メソッドで罫線のスタイルとカラーを設定します。
- Workbook.saveToFile() メソッドでワークブックを保存します。
Java
import com.spire.xls.*;
import com.spire.xls.core.IBorder;
import java.awt.*;
public class applyBordersToSelectedRanges {
public static void main(String[] args) {
//Workbookクラスのオブジェクトを作成する
Workbook workbook = new Workbook();
//Excelワークブックを読み込む
workbook.loadFromFile("住居費.xlsx");
//最初のワークシートを取得する
Worksheet worksheet = workbook.getWorksheets().get(0);
//セル範囲1を取得する
CellRange range_one = worksheet.getRange().get("B3:E3");
//この範囲の罫線を設定する
IBorder topBorder = range_one.getBorders().getByBordersLineType(BordersLineType.EdgeTop);
topBorder.setLineStyle(LineStyleType.Medium);
topBorder.setColor(Color.red);
IBorder bottomBorder = range_one.getBorders().getByBordersLineType(BordersLineType.EdgeBottom);
bottomBorder.setLineStyle(LineStyleType.Thin);
bottomBorder.setColor(Color.red);
//セル範囲2を取得し、その罫線を設定する
CellRange range_two = worksheet.getRange().get("B4:B13");
IBorder rightBorder = range_two.getBorders().getByBordersLineType(BordersLineType.EdgeRight);
rightBorder.setLineStyle(LineStyleType.Thin);
rightBorder.setColor(Color.red);
//セル範囲3を取得し、その罫線を設定する
CellRange range_three = worksheet.getRange().get("B14:E14");
topBorder = range_three.getBorders().getByBordersLineType(BordersLineType.EdgeTop);
topBorder.setLineStyle(LineStyleType.Thin);
topBorder.setColor(Color.red);
bottomBorder = range_three.getBorders().getByBordersLineType(BordersLineType.EdgeBottom);
bottomBorder.setLineStyle(LineStyleType.Medium);
bottomBorder.setColor(Color.red);
//ドキュメントを保存する
workbook.saveToFile("罫線の設定.xlsx", ExcelVersion.Version2016);
}
}
この記事では、ワークシートのセルに目盛線と罫線を適用する方法について説明します。その他にもFree Spire.XLS for Javaには便利な機能がたくさんあります。このツールについて何か質問がある場合は、Spire.XLS Forumにアクセスしてください。