トップ
トップ >  プログラミング言語 >  Java >  POI
POI
概要
Javaでエクセルを操作するAPIです。
解説
サードパーティから提供されているAPIで、Javaでエクセルを操作できます。
インストール
http://poi.apache.org/
にアクセスします。
左のメニューからdownloadをクリックします。
Binary Distributionを選択
~.zip等を選択します。
いずれかからダウンロードします。
ファイルを解凍します。
eclipseで利用する場合、
外部jarの取込で以下のjarファイルを指定します。
・poi直下の全jar
・lib直下のcommonsで始まるjar
・ooxml_lib直下の全jar
コンパイル時には以下のようにクラスパスが必要です。
javac -classpath パス\*;パス\lib\*;パス\ooxml-lib\* sample.java
実行時には以下のようにクラスパスが必要です。
java -classpath .;パス\*;パス\lib\*;パス\ooxml-lib\* sample

動作確認
ソースコードサンプル

import java.io.*;
import org.apache.poi.xssf.usermodel.XSSWorkbook;

public class POITest{
 public void test(){
  XSSFWorkbook workbook = new XSSFWorkbook();
  workbook.createSheet("test");
  FileOutputStream out = null;
  try{
   Out = new FileOutputStream("sample.xls");
   workbook.write(out);
  }
  catch(IOException e){
  }
  finally{
   try{
    out.close();
   }
   catch(IOException e){
   }
  }
 }
}
ソースコードサンプル2
Workbook book = createBook();
CellStyle cs1 = book.createCellStyle();
cs1.setBorderTop(CellStyle.BORDER_THIN);
cs1.setBorderBottom(CellStyle.BORDER_MEDIUM);
cs1.setBorderLeft(CellStyle.BORDER_DASHED);
cs1.setBorderRight(CellStyle.BORDER_DOTTED);
Sheet s1 = book.createSheet("シート名");
Row r1 = s1.createRow(3);
Cell c1 =r1.createCell(6);
c1.setCellVAlue("abc");
c1.setCellStyle(cs1);
writeBook(book,"test2.xls");
protected Workbook createBook(){
return new XSSFWorkbook();
}
protected void writeBook(Workbook w,String fn){

コンパイル
javac -classpath ~;poi-3.9\*;poi-3.9\lib\*;poi-3.9\ooxml-lib\* ~.java > result-compile.txt 2> compile-error.txt
実行
java -classpath ~;poi-3.9\*;poi-3.9\lib\*;poi-3.9\ooxml-lib\* ~.java > result-execute.txt 2> execute-error.txt

リファレンス
生成
Workbook	インターフェース
実装クラス
HSSFWorkbook	
	HSSFWorkbook()
XSSFWorkbook	
	XSSFWorkbook()


出力
Workbook	
	void write(OutputStream stream) throws IOException
入力
static Workbook create(InputStream inp) throws IOException,InvalidFormatException

シート
Sheet createSheet()
Sheet createSheet(String sheetname)
Sheet cloneSheet(int sheetNum)0始まり
void setSheetName(int sheet,String name)
void removeSheetAt(int index)
void setActiveSheet(int sheetIndex)
void setFirstVisibleTab(int sheetIndex)
void setSheetOrder(String sheetname,int pos)
String getSheetName(int sheet)

Sheet getSheet(String name)
Sheet getSheetAt(int index)


Sheetインタフェース
Row createRow(int rownum)
void setSelected(boolean value)
void setColumnWidth(int colmnIndex,int width)
int getColumnWidth(int columnIndex)

Row getRow()	空行だった場合はnullが返る

Cell createCell(int column)

Row
Cell getCell(int cellnum)	空セルだった場合はnullが返る


Workbookインタフェース

CellStyle createCellStyle()

Cell
void setCellStuyle(CellStyle style)
void setFillForegroundColor(short bg)

org.apache.poi.ss.usermodel.IndexedColors
AQUA
AUTOMATIC
BLACK
BLUE


getIndex()

setBorderTop(short border)
setBorderBottom(short border)
setBorderLeft(short border)
setBorderRight(short border)

CellStyle	
	BORDER_NONE
	BORDER_THIN
	BORDER_MEDIUYM
	BORDER_DASHED
	BORDER_DOTTED
	BORDER_THICK
	BORDER_DOUBLE
	BORDER_HAIR
	BORDER_MEDIUM_DASHED
	BORDER_DASH_DOT
	BORDER_MEDIUM_DASH_DOT
	BORDER_DASH_DOT_DOT
	BORDER_MEDIUM_DASH_DOT_DOT
	BORDER_SLANTED_DASH_DOT

Font createFont()		
void setFontName(String name)		
void setFontHeightInPoints(short height)		
void setColor(short color)		
		
void setBoldwight(short boldwight)		
void setItalic(boolean italic)		
void setUnderline(byte underline)		
	Font.U_NONE	
	Font.U_SINGLE	
	Font.U_DOUBLE	
	Font.U_SINGLE_ACCOUNTING	
	Font.U_DOUBLE_ACCOUNTING	
void setStrikeout(boolean strikeout)		
		
CellStyle		
void setFont(Font font)		



トップ >  プログラミング言語 >  Java >  POI