読者です 読者をやめる 読者になる 読者になる

新しいエクセルファイルとシートを作成する(Java)

エクセルってJavaからいじれるのかなーと思い、やってみたことの覚え書き。

Javaからエクセルシートを操作するには、Apache POIを使用するのが一般的らしいです。

Apache POI - Download Release Artifactsからpoi-bin-3.16-beta2-20170202.tar.gzをダウンロードして、Eclipseでパスを指定します。どれを使用するかはっきりしなかったので、テストということでjarファイル全部にパスを通しました。


あとは、この辺のドキュメントを参照しつつ、何ができるか模索中....

Workbook (POI API Documentation)


まずは新しくエクセルファイルを作って、シートを作成する例です。
Hungury.xlsxというファイルに、senbeiとtakoyakiというシートを作成します。


使用したメソッド

createSheet(java.lang.String sheetname)
Create a new sheet for this Workbook and return the high level representation.

write(java.io.OutputStream stream)
Write out this workbook to an Outputstream.

int getNumberOfSheets()
Get the number of spreadsheets in the workbook

package kinmu_kousu;

 

import java.io.FileOutputStream;

import org.apache.poi.ss.usermodel.Cell;

import org.apache.poi.ss.usermodel.CreationHelper;

import org.apache.poi.ss.usermodel.Row;

import org.apache.poi.ss.usermodel.Sheet;

import org.apache.poi.ss.usermodel.Workbook;

import org.apache.poi.ss.util.WorkbookUtil;

import org.apache.poi.xssf.usermodel.XSSFWorkbook;

 


public class WriteKinmuhyo {

 

//エクセルファイルの作成フォルダ
static final String INPUT_DIR = "/Users//Documents/";

   public static void main(String[] args) {

   try{

   Workbook wb = new XSSFWorkbook();


   //senbeiシート作成
   Sheet sheet1 = wb.createSheet("senbei");

   //takoyakiシート作成
   Sheet sheet2 = wb.createSheet("takoyaki");

           
   //書き込み先のパスとファイル名の指定
   FileOutputStream out = new FileOutputStream(INPUT_DIR + "Hungury.xlsx");

   //書き込み
   wb.write(out);

    out.close();


    //シートの枚数を取得
   int numberOfsheet= wb.getNumberOfSheets();
   System.out.print(numberOfsheet);
   
   }catch(Exception e){

   e.printStackTrace();

    }

    }

}