Apache POI – HSSF – 行を移動するには


行を移動するには、HSSFSheetクラスのshiftRowsメソッドを使用します。


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

import java.io.FileOutputStream;
import java.io.IOException;
import net.tk_factory.example.AbstractExample;
import org.apache.log4j.Logger;
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;

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

    *
  1. 行を移動します。
  2. *

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

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

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

/**
* ExampleShiftRowsオブジェクトを構築すると、
* UnsupportedOperationExceptionがスローされます。
*/
protected ExampleShiftRows()
{
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();

//行を追加する
for (int i = 0; i < 10; i++) { HSSFRow row = sheet.createRow(i); HSSFCell cell = row.createCell(0); cell.setCellValue(i + 1); } //行を移動する(1行目から2行目までを下に5行移動する) sheet.shiftRows(0, 1, 5); //行を移動する(3行目から4行目までを上に1行移動する) //※上に移動させる場合はマイナス値を指定する sheet.shiftRows(2, 3, -1); //ファイルを保存する 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] 作成されたファイルを開くと、以下のように表示されます。 ExampleShiftRowsOut.xls

関連記事

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

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

  1. トラックバック 0

return top