Apache POI – HSSF – 既存のワークブックを開くには


既存のワークブックを開くには、HSSFWorkbookクラス、POIFSFileSystemを使用します。

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

import java.io.FileInputStream;
import java.io.IOException;

import net.tk_factory.example.AbstractExample;
import org.apache.log4j.Logger;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;

/**
 * Apache POI-HSSFを使用したサンプルプログラムです。<br/>
 * <br/>
 * <b>内容</b>
 * <ol type="1">
 * <li>HSSFWorkbookクラスを使用して、既存のワークブックを開きます。</li>
 * </ol>
 *
 * @author Takafumi Kondo (TK Factory)
 */
public class ExampleOpenWorkbook extends AbstractExample
{
    /** クラス名 */
    private static final String CLASS_NAME =
            ExampleOpenWorkbook.class.getSimpleName();

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

    /** 入力ファイル名 */
    private static final String IN_FILE_NAME =
            EXAMPLE_FILE_DIRECTORY + CLASS_NAME + "In.xls";

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

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

        FileInputStream in = null;

        try
        {
            //入力ファイルが存在しているかチェックする
            checkExistsFile(IN_FILE_NAME);

            //ファイル読込
            in = new FileInputStream(IN_FILE_NAME);
            POIFSFileSystem fs = new POIFSFileSystem(in);
            HSSFWorkbook workbook = new HSSFWorkbook(fs);
            LOGGER.debug(workbook.toString());
        }
        catch (IOException ioex)
        {
            LOGGER.error(getStackTrace(ioex));
        }
        finally
        {
            try
            {
                if (in != null)
                {
                    in.close();
                }
            }
            catch (IOException ioex)
            {
                LOGGER.error(getStackTrace(ioex));
            }

            LOGGER.info("[E N D]" + CLASS_NAME);
        }
    }
}

関連記事

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

  1. トラックバック 0

return top