Apache POI – HSSF – 列幅を設定するには
列幅を設定するには、HSSFSheetクラスのsetColumnWidthメソッドを使用します。
列幅に1を指定すると、1文字の1/256のサイズになります。
package net.tk_factory.example.apache.poi.hssf.column; 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.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; /** * Apache POI-HSSFを使用したサンプルプログラムです。<br/> * <br/> * <b>内容</b> * <ol type="1"> * <li>列幅を設定します。</li> * </ol> * @author Takafumi Kondo (TK Factory) */ public class ExampleSetColumnWidth extends AbstractExample { /** クラス名 */ private static final String CLASS_NAME = ExampleSetColumnWidth.class.getSimpleName(); /** ロガー */ private static final Logger LOGGER = Logger.getLogger(ExampleSetColumnWidth.class.getName()); /** 出力ファイル名 */ private static final String OUT_FILE_NAME = EXAMPLE_FILE_DIRECTORY + CLASS_NAME + "Out.xls"; /** * ExampleSetColumnWidthオブジェクトを構築すると、 * UnsupportedOperationExceptionがスローされます。<br/> */ protected ExampleSetColumnWidth() { throw new UnsupportedOperationException(); } /** * mainメソッドです。<br/> * * @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(); //幅に1を指定すると1文字の1/256のサイズになる //1列目に1文字分の幅を設定する sheet.setColumnWidth(0, 1 * 256); //2列目に2文字分の幅を設定する sheet.setColumnWidth(1, 2 * 256); //3列目に10文字分の幅を設定する sheet.setColumnWidth(2, 10 * 256); //ファイルを保存する 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); } } }
関連記事
サンプルプログラムを実行して作成されたファイルのイメージを追加しました。
ソースを見直し、一部、修正しました。