Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

POI EXCEL編集について

みなさん、こんにちわ(^_^)

仕事でJAVAを使っていますが、超初心者です。

読み込んだEXCELテンプレートにデータを書き込みFILE出力しましたが、

書込み箇所の罫線がどうしても消えてしまいます(^^;



ご教示よろしくお願い致します。

【参考PG】

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
 *
 * Created on 2007/04/15, 4:05
 *
 */

/**
 *
 * @author kiyomiya
 */
public class SamplePOI01 {
    
    static String[][] cellValue = {
        {"2007/01/31", "200000", "210000"},
        {"2007/02/28", "203000", "200000"},
        {"2007/03/31", "206000", "210000"}
    };
    
    public static void main(String[] args) {
        try {
            //テンプレートファイルを開く
            FileInputStream in = new FileInputStream("template.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);
                //セルも0列目から始まる
                HSSFCell cell0 = row.createCell((short)0);
                
                //日付データをセット
                SimpleDateFormat dformat = new SimpleDateFormat("yyyy/MM/dd");
                Date date = dformat.parse(cellValue[i][0]);
                cell0.setCellValue(date);
                
                //金額データをセットする
                HSSFCell cell1 = row.createCell((short)1);
                cell1.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
                cell1.setCellValue(Integer.parseInt(cellValue[i][1]));
                
                HSSFCell cell2 = row.createCell((short)2);
                cell2.setCellType(HSSFCell.CELL_TYPE_NUMERIC);
                cell2.setCellValue(Integer.parseInt(cellValue[i][2]));
                
                
                //日付の書式を設定する
                HSSFCellStyle style0 = workbook.createCellStyle();
                style0.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy"));
                cell0.setCellStyle(style0);
                
                //カンマ区切りの書式を設定する
                HSSFCellStyle style1 = workbook.createCellStyle();
                style1.setDataFormat(HSSFDataFormat.getBuiltinFormat("#,##0"));
                cell1.setCellStyle(style1);
                cell2.setCellStyle(style1);
                
            }
            
            //結果ファイルを保存する
            FileOutputStream out = new FileOutputStream("result.xls");
            workbook.write(out);
            
            in.close();
            out.close();
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        
    }
    
}



1

回答

10292

閲覧

1件の回答

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。