- - PR -
POI 罫線を消さない方法
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-10-27 14:21
下記のように、POIを使って
読み込んだテンプレートを 一部書き換えるPGを作成してみたのですが、 setDataFormatを使って書式を設定して書き込んだ箇所が テンプレートの罫線を消してしまいます。 何かよい方法はありますでしょうか? ご教示お願い致します。 【PG】 package jp.javadrive; import java.io.FileInputStream; import java.io.FileOutputStream; import java.text.SimpleDateFormat; import java.util.Date; import java.util.List; 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.HSSFDateUtil; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; /* * SamplePOI01.java */ public class sample02 { static String[][] cellValue = { {"2007/01/31", "200000", "210000"}, {"2007/02/28", "203000", "200000"}, {"2007/03/31", "206000", "210000"} }; @SuppressWarnings("deprecation") public static void main(String[] args) { try { //テンプレートファイルを開く FileInputStream in = new FileInputStream("aaa2.xls"); HSSFWorkbook workbook = new HSSFWorkbook(in); HSSFSheet sheet = workbook.getSheetAt(0); for (int i = 0; i < 3; i++) { //行は0行目から始まる HSSFRow row = sheet.getRow(i + 17); HSSFCell cell1 = row.getCell((short)0); SimpleDateFormat dformat = new SimpleDateFormat("yyyy/MM/dd"); Date date = dformat.parse(cellValue[i][0]); cell1.setCellValue(date); HSSFCell cell3 = row.getCell((short)2); cell3.setCellType(HSSFCell.CELL_TYPE_NUMERIC); cell3.setCellValue(Integer.parseInt(cellValue[i][2])); HSSFCellStyle style3 = workbook.createCellStyle(); style3.setDataFormat(HSSFDataFormat.getBuiltinFormat("#,##0")); cell3.setCellStyle(style3); cell3.setCellStyle(style3); } //結果ファイルを保存する FileOutputStream out = new FileOutputStream("result.xls"); workbook.write(out); in.close(); out.close(); } catch (Exception ex) { ex.printStackTrace(); } } } |
|
投稿日時: 2008-10-27 14:58
http://www.javaroad.jp/bbs/answer.jsp?q_id=20081025013644838
|
1