JAVA POI操作Excel

Excel (poi 版本为 4.1.0)

创建excel
  • 创建excel workbook
    • HSSFWorkbook workbook = new HSSFWorkbook();
  • 在workbook中创建一个工作表
    • HSSFSheet sheet = workbook.createSheet();
    • HSSFSheet的构造方法为保护的 所以 不能通过new来创建,只能通过workbook来create
  • 在sheet中获取行row
    • HSSFRow row = sheet.createRow()
    • 同样构造方法为保护,row只能通过sheet来create
  • 在row中获得cell
    • HSSFCell cell = row.createCell()
    • 构造方法为保护 通过row.create来创建
  • 获取字体样式
    • HSSFFont font = workbook.createFont()
    • 构造方法保护,无法直接创建
  • 获取单元格(cell)样式
    • HSSFCellStyle cellStyle = work.createCellStyle()
    • 构造方法保护,无法直接创建
  • 使用cellStyle
    • cellStyle.setFont(HSSFFont font)
      • 将字体样式加入单元格样式中
    • cell.setCellStyle(HSSFCellStyle cellStyle)
    • cellStylecell.setCellStyle中有效,在row.setCellStyle中无效–原因不明,目前尚未解决
使用poi布局
  • sheet
    • 创建行row
      • row = sheet.createRow(rowNum)
    • 获取行row
      • row = sheet.getRow(rowNum)
    • 设置列距(没用过)
    • 设置列距自定义(需要在最后设置,否则不会生效
      • for (int i = 0; i < 12; i++){
        sheet.autoSizeColumn(i, true);
        }
    • 设置合并单元格
      • 创建CellRangeAddress cellAddresses = CellRangeAddress(firstRow,lastRow,firstCol,lastCol)
      • 合并sheet.addMergeRegion(cellAddresses)
  • row
    • 创建单元格cell
      • cell = row.createCell(cellNum)
    • 获取单元格cell
      • cell = row.getCell(cellNum)
    • 设置行高(默认自动,设置行高后,将不在自动行高
      • row.setHeightInPoints((float) floatNum)
    • 设置行样式(目前没有生效过)
      • row.setCellStyle(cellStyle)
  • cell
    • 设置单元格样式
      • cell.setCellStyle(cellStyle)
    • 设置单元格内容
      • cell.setCellValue(message)
  • 设置字体样式
    • 创建字体样式
      • HSSFFont font = workbook.createFont()
    • 设置字体类型
      • font.setFontName(“宋体”)
      • font.setFontName(“黑体”)
    • 设置字体加粗
      • font.setBold(true) (4.1.0)
      • font.setBoldweight(Font.BOLDWEIGHT_BOLD)(此方法为 3.8版本poi )
    • 设置字体大小
      • font.setFontHegihtInPoints((short)size)
    • 将字体加入样式
      • cellStyle.setFont(font)
  • 设置单元格样式(cellStyle)
    • 设置自动自动换行
      • cellStyle.setWrapText(true)
      • 如果单元格内容需要用\r\n强制换行的话必须先设置自动换行
    • 设置水平居中
      • poi 3.8版本
        • cellStyle2.setAlignment(CellStyle.ALIGN_CENTER)
      • poi 4.1.0版本
        • cellStyle4.setAlignment(HorizontalAlignment.CENTER)
    • 设置垂直居中
      • poi 3.8版本
      • poi 4.1.0版本
    • 设置边框
      • 边框样式BorderStyle(枚举类型Enum)
        • THIN 实线 薄边框
      • 设置上边框
        • cellStyle.setBorderTop(BorderStyle.THIN)
      • 设置下边框
        • cellStyle.setBorderBottom(BorderStyle.THIN)
      • 设置左边框
        • cellStyle.setBorderLeft(BorderStyle.THIN)
      • 设置右边框
        • cellStyle.setBorderRight(BorderStyle.THIN)
      • 设置合并单元格边框(需要在最后设置,否则不会生效
        • 创建cellAddress
          • CellRangeAddress cellAddresses = CellRangeAddress(firstRow,lastRow,firstCol,lastCol)
        • 上 RegionUtil.setBorderTop(BorderStyle.THIN,cellAddresses1,sheet)
        • 下 RegionUtil.setBorderBottom(BorderStyle.THIN,cellAddresses1,sheet)
        • 左 RegionUtil.setBorderLeft(BorderStyle.THIN,cellAddresses1,sheet)
        • 右 RegionUtil.setBorderRight(BorderStyle.THIN,cellAddresses1,sheet)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值