POIを使用してJavaからExcel出力を行う
来源:互联网 发布:羊绒背心怎么样 知乎 编辑:程序博客网 时间:2024/05/16 08:04
表形式のデータ保存には、CSV形式のテキストファイルを用いるのが一般的です。しかし、用途によっては、Microsoft Excelで作成したような見栄えの良い表形式での出力を求められることがあります。
注:POIの入手先や必要なJARファイルについては、「サーバサイド技術の学び舎 - WINGS」にある「サーバサイド環境構築設定」を参照してください。
クラス名説明HSSFWorkbookExcelのワークブックを扱うクラスHSSFSheetワークシートを扱うクラスHSSFRow行を扱うクラスHSSFCellセルを扱うクラス
そこで、本稿では「POI」と呼ばれるJavaのライブラリを使用して、Excelファイルを出力する方法を紹介します。POIは、ExcelやWordなどの「Microsoft OLE 2複合ドキュメント形式」に準拠したファイルをJavaで扱うためのAPI群です。ここでは、POIの中でExcel出力を行う「HSSF」と呼ばれるコンポーネントを使用する例を紹介します。
POIによって生成されたExcelファイル注:POIの入手先や必要なJARファイルについては、「サーバサイド技術の学び舎 - WINGS」にある「サーバサイド環境構築設定」を参照してください。
以下は、先ほど示したExcelファイルをJavaから生成するためのプログラムです。
PoiSample.javapackage to.msn.wings;
import java.io.FileOutputStream;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFCell;
public class PoiSample {
public static void main(String[] args) {
try{
//新規ワークブックを作成する
HSSFWorkbook wb = new HSSFWorkbook();
FileOutputStream fileOut
= new FileOutputStream("C:\\PoiSampleBook.xls");
//新規ワークシートを作成する
HSSFSheet sheet1 = wb.createSheet();
HSSFSheet sheet2 = wb.createSheet();
//作成したシート名を変更
//日本語シート名を指定する場合には
//エンコーディング設定は必須
wb.setSheetName(0,"sheet1");
wb.setSheetName(1
,"シート2",HSSFWorkbook.ENCODING_UTF_16);
//行オブジェクトの作成(行番号は0スタート)
HSSFRow row2 = sheet1.createRow(1);
//セルオブジェクトの作成(セル番号は0スタート)
//引数はshort型でキャストしなければならない点に注意
HSSFCell cellB2 = row2.createCell((short)1);
HSSFCell cellC2 = row2.createCell((short)2);
//セルに値を設定する
cellB2.setCellValue("B2");
//セルに日本語の値を設定する
//日本語の値を指定する場合には
//エンコーディング設定は必須
cellC2.setEncoding(HSSFCell.ENCODING_UTF_16);
cellC2.setCellValue("C2日本語");
//作成したワークブックを保存する
wb.write(fileOut);
fileOut.close();
System.out.println(
"Excelファイルの作成が完了しました!");
}catch(Exception e){
e.printStackTrace();
System.out.println("処理が失敗しました");
}
}
}
Excelのオブジェクト操作には、下記のクラスを使用します。ブック、シート、行、セルから構成されるクラス構造は、Excelの構造を直観的に表しているものなので、分かりやすいでしょう。
POI(HSSF)に含まれる主要なクラスクラス名説明HSSFWorkbookExcelのワークブックを扱うクラスHSSFSheetワークシートを扱うクラスHSSFRow行を扱うクラスHSSFCellセルを扱うクラス
このサンプルプログラムの詳細については、コード内にあるコメントを参考にしてください。ここでは、POIを利用する際の定型的なコードの流れを以下に示しておきます。
- 新規ワークブックの作成(HSSFWorkbookクラス)
- 新規ワークシートの作成(HSSFWorkbook#createSheetメソッド)
- 対象列の取得(HSSFSheet#createRowメソッド)
- 対象セルの取得(HSSFRow#createCellメソッド)
- セル値の設定(HSSFCell#setCellValueメソッド)
- ファイル保存(HSSFWorkbook#writeメソッド)
これが、POIを利用してExcelファイルを新規作成する場合の基本的な手続きになります。今後紹介する、より複雑なファイル出力例を説明する際の基本となりますので、上記のコードと照らし合わせて、しっかり理解しておいてください。
- POIを使用してJavaからExcel出力を行う
- JAVA EXCEL出力代码抽藏
- java使用poi操作excel
- java使用POI上传Excel
- Java使用poi解析Excel
- JAVA使用POI操作excel
- Java使用POI操作Excel
- JAVA使用POI操作excel
- java使用poi操作Excel
- java使用POI处理Excel
- java使用poi操作excel
- java使用poi读取excel
- Java使用POI导出Excel
- java使用poi操作Excel
- spread Excel 出力
- 使用java创建Excel——poi
- 使用java读取Excel——poi
- java使用POI创建Excel工作薄
- extern 用法,全局变量与头文件(重复定义)
- android开发我的新浪微博客户端-用户首页面功能篇(5.2)
- 为 httpclient 设置代理, 设置http头.
- 一位父亲对iPad儿童APP开发者的恳求
- EGL项目创建向导
- POIを使用してJavaからExcel出力を行う
- jquery层次选择器
- 设计模式之中介者模式
- 简历的书写应注意的问题
- IntelliJ IDEA 开发web项目的一些设置及使用方法
- 数据库复习笔记
- jsp分页实现(一)
- android开发我的新浪微博客户端-用户首页面UI篇(5.1)
- sicily1381 a*b (高精度乘法)