【目的】
Apache POI3.8のライブラリでExcelファイルのセルをマージします(その2)。
※「
Apache POI3.8でセルをマージする方法」では非推奨のAPIが使われていたので、それを修正ています。
※具体的には以下のimport文を修正し、使用するクラスを変更。
「import org.apache.poi.hssf.util.CellRangeAddress;」
↓
「import org.apache.poi.ss.util.CellRangeAddress;」
【手順】
1.「
Javaプロジェクトの作成方法」の手順で、「POIExcelSample015-MergeCell2」といプロジェクトを作成。
2.「
poi-3.8-20120326.jarをライブラリに設定する方法」の手順で、プロジェクトに「poi-3.8-20120326.jar」のライブラリを追加。
3.「
poi-3.8-20120326.jarに依存するライブラリの設定する方法」の手順で、プロジェクトに「commons-logging-1.1.jar」と「log4j-1.2.13.jar」のライブラリを追加。
4.「
Javaクラスファイルの作成方法」の手順で、「Main」というクラスを作成。
5.「Main.java」を以下の様に入力。
import java.io.FileOutputStream;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.util.CellRangeAddress;
public class Main {
private static final String OUTPUT_FILE = "MergeCell2.xls";
public static void main(String[] args) throws Exception {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("new sheet");
HSSFRow row0 = sheet.createRow(0);
HSSFRow row1 = sheet.createRow(1);
HSSFCell cell = row0.createCell(1);
cell.setCellValue("セル1");
sheet.addMergedRegion(new CellRangeAddress(0, 0, 1, 2));
cell = row1.createCell(0);
cell.setCellValue("セル2");
sheet.addMergedRegion(new CellRangeAddress(1, 2, 0, 0));
cell = row1.createCell(1);
cell.setCellValue("セル3");
sheet.addMergedRegion(new CellRangeAddress(1, 2, 1, 2));
FileOutputStream fileOut = new FileOutputStream(OUTPUT_FILE);
wb.write(fileOut);
fileOut.close();
}
}
6.「Ctrl+Shift+O」を押し、パッケージのインポート文を補完。
7.「Ctrl+Shift+F」を押し、ソースコードをフォーマッティング。
8.「
Javaプロジェクトの実行方法」の手順で、「Main.java」を実行。
9.コンソールにエラーが出力されていないか確認。
(※コンソールが表示されていない場合は、「
コンソール・ビューの表示方法」を確認)
10.「
リフレッシュ(ローカルファイルとの同期)の方法」の手順で、プロジェクトをリフレッシュ。
11.「POIExcelSample015-MergeCell2/MergeCell2.xls」が作成されています。
12.「POIExcelSample015-MergeCell2/MergeCell2.xls」をダブルクリック。
13.「MergeCell2.xls」が以下の様に開けば成功です。
以上です。