Apache POI – HSSF – セルに値と書式を設定するには


セルに値を設定するには、HSSFCellクラスのsetCellValueメソッドを使用します。

また、セルに書式を設定するには、HSSFCellStyleクラス、HSSFDataFormatクラスを使用します。


package net.tk_factory.example.apache.poi.hssf.cell;

import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Calendar;
import java.util.Date;
import net.tk_factory.example.AbstractExample;
import org.apache.log4j.Logger;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFDataFormat;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

/**
* Apache POI-HSSFを使用したサンプルプログラムです。
*
* 内容
*

    *
  1. セルにboolean型の値を設定します。
  2. *

  3. セルにCalendar型の値を設定します。
  4. *

  5. セルにDate型の値を設定します。
  6. *

  7. セルにdouble型の値を設定します。
  8. *

  9. セルにString型の値を設定します。
  10. *

* @author Takafumi Kondo (TK Factory)
*/
public class ExampleSetCellValue extends AbstractExample
{
/** クラス名 */
private static final String CLASS_NAME =
ExampleSetCellValue.class.getSimpleName();

/** ロガー */
private static final Logger LOGGER =
Logger.getLogger(ExampleSetCellValue.class.getName());

/** 出力ファイル名 */
private static final String OUT_FILE_NAME =
EXAMPLE_FILE_DIRECTORY + CLASS_NAME + “Out.xls”;

/**
* ExampleSetCellValueオブジェクトを構築すると、
* UnsupportedOperationExceptionがスローされます。
*/
protected ExampleSetCellValue()
{
throw new UnsupportedOperationException();
}

/**
* mainメソッドです。
*
* @param args 引数
*/
public static void main(String[] args)
{
LOGGER.info(“[START]” + CLASS_NAME);

FileOutputStream out = null;

try
{
//すでに出力ファイルが存在している場合は削除する
deleteExistsFile(OUT_FILE_NAME);

//ワークブックを生成する
HSSFWorkbook workbook = new HSSFWorkbook();

//シートを追加する
HSSFSheet sheet = workbook.createSheet();

//行を追加する
HSSFRow[] rows = new HSSFRow[5];
for (int i = 0; i < rows.length; i++) { rows[i] = sheet.createRow(i); } //boolean型の値を設定する HSSFCell cell00 = rows[0].createCell(0); boolean val00 = true; cell00.setCellValue(val00); //Calendar型の値を設定する HSSFCell cell10 = rows[1].createCell(0); Calendar val10 = Calendar.getInstance(); cell10.setCellValue(val10); //書式を指定してCalendar型の値を設定する HSSFCellStyle styleCalendar = workbook.createCellStyle(); HSSFDataFormat formatCalendar = workbook.createDataFormat(); styleCalendar.setDataFormat(formatCalendar.getFormat("yyyy/mm/dd")); HSSFCell cell11 = rows[1].createCell(1); Calendar val11 = Calendar.getInstance(); cell11.setCellStyle(styleCalendar); cell11.setCellValue(val11); //Date型の値を設定する HSSFCell cell20 = rows[2].createCell(0); Date val20 = new Date(); cell20.setCellValue(val20); //書式を指定してDate型の値を設定する HSSFCellStyle styleDate = workbook.createCellStyle(); HSSFDataFormat formatDate = workbook.createDataFormat(); styleDate.setDataFormat(formatDate.getFormat("yyyy/mm/dd hh:mm")); HSSFCell cell21 = rows[2].createCell(1); Date val21 = new Date(); cell21.setCellStyle(styleDate); cell21.setCellValue(val21); //double型の値を設定する HSSFCell cell30 = rows[3].createCell(0); double val30 = 1234.56; cell30.setCellValue(val30); //書式を指定してdouble型の値を設定する HSSFCellStyle styleDouble = workbook.createCellStyle(); HSSFDataFormat formatDouble = workbook.createDataFormat(); styleDouble.setDataFormat(formatDouble.getFormat("#,##0.00")); HSSFCell cell31 = rows[3].createCell(1); double val31 = 1234.56; cell31.setCellStyle(styleDouble); cell31.setCellValue(val31); //String型の値を設定する HSSFCell cell40 = rows[4].createCell(0); HSSFRichTextString val40 = new HSSFRichTextString("Test"); cell40.setCellValue(val40); //String型の値(日本語)を設定する HSSFCell cell41 = rows[4].createCell(1); HSSFRichTextString val41 = new HSSFRichTextString("テスト"); cell41.setCellValue(val41); //ファイルを保存する out = new FileOutputStream(OUT_FILE_NAME); workbook.write(out); } catch (IOException ioex) { LOGGER.error(getStackTrace(ioex)); } finally { try { if (out != null) { out.close(); } } catch (IOException ioex) { LOGGER.error(getStackTrace(ioex)); } LOGGER.info("[E N D]" + CLASS_NAME); } } } [/java] 作成されたファイルを開くと、以下のように表示されます。 ExampleSetCellValueOut.xls

関連記事

  1. サンプルプログラムを実行して作成されたファイルのイメージを追加しました。

  2. ソースを見直し、一部、修正しました。

  1. トラックバック 0

return top