POI Excel 01

@author YHC

新建Excel

    //第一种方式

    Workbook wb = new HSSFWorkbook();
    FileOutputStream fileOut = new FileOutputStream("workbook.xls");
    wb.write(fileOut);
    fileOut.close();
    //第二种方式
    Workbook wb = new XSSFWorkbook();
    FileOutputStream fileOut = new FileOutputStream("workbook.xlsx");
    wb.write(fileOut);
    fileOut.close();


 

创建工作薄

Workbook wb = new HSSFWorkbook();  // or new XSSFWorkbook();
    Sheet sheet1 = wb.createSheet("new sheet");
    Sheet sheet2 = wb.createSheet("second sheet");

    // 注意工作薄的名称不能超过31个字符
    // 和不能包含任何关于下列的字符
    // 0x0000
    // 0x0003
    // 冒号(:)
    // 反斜线 (\)
    // 星号(*)
    // 问号(?)
    // 斜线 (/)
    // 开方括号 ([)
    // 闭方括号 (])

    // 你可以使用 org.apache.poi.ss.util.WorkbookUtil类的createSafeSheetName(String nameProposal)}
    // 安全的方法创建一个有效的名称, 这个工具类替换了无效的字符为 ""
    String safeName = WorkbookUtil.createSafeSheetName("[O'Brien's sales*?]"); // returns " O'Brien's sales   "
    Sheet sheet3 = wb.createSheet(safeName);
    //输出到文件
    FileOutputStream fileOut = new FileOutputStream("workbook.xls");
    wb.write(fileOut);
    fileOut.close();


 

创建单元格

    
 Workbook wb = new HSSFWorkbook();
    //Workbook wb = new XSSFWorkbook();
    CreationHelper createHelper = wb.getCreationHelper();
    Sheet sheet = wb.createSheet("new sheet");

    // 创建一个行对象并添加一些单元格在里面. Rows的下标从0开始.
    Row row = sheet.createRow((short)0);
    // 创建一个单元格,并放入值
    Cell cell = row.createCell(0);
    cell.setCellValue(1);

    // 这些单元格都在一行上面
    row.createCell(1).setCellValue(1.2);
    

      //创建富文本
    row.createCell(2).setCellValue(
         createHelper.createRichTextString("This is a string"));

    //创建Boolean类型值
    row.createCell(3).setCellValue(true);

    // 写入生成文件
    FileOutputStream fileOut = new FileOutputStream("workbook.xls");
    wb.write(fileOut);
    fileOut.close();

创建Date类型单元格
 
    Workbook wb = new HSSFWorkbook();
    //Workbook wb = new XSSFWorkbook();
    CreationHelper createHelper = wb.getCreationHelper();
    Sheet sheet = wb.createSheet("new sheet");

    // 创建一个Row对象并添加一些单元格在里面. Row下标从0开始
    Row row = sheet.createRow(0);

    // 创建一个Cell并添加Date类型的值到里面  第一个单元格没有样式
    // as a date.
    Cell cell = row.createCell(0);
    cell.setCellValue(new Date());

    // 我们的第二个单元格为日期(时间) 格式. 重要的是
    // 通过workbook创建一个新的单元格样式,另外你最终修改的内置样式影响的不仅仅可以是这个单元格,也可以是其他单元格
    CellStyle cellStyle = wb.createCellStyle();

    //创建日期显示格式
    cellStyle.setDataFormat(
        createHelper.createDataFormat().getFormat("m/d/yy h:mm"));
    cell = row.createCell(1);
    cell.setCellValue(new Date());
    cell.setCellStyle(cellStyle);

    //你也可以设置date类型为 java.util.Calendar类型
    cell = row.createCell(2);
    cell.setCellValue(Calendar.getInstance());
    cell.setCellStyle(cellStyle);

    //输出到文件
    FileOutputStream fileOut = new FileOutputStream("workbook.xls");
    wb.write(fileOut);
    fileOut.close();



                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值