Java WorkBook对Excel的基本操作

创建excel

  1. Workbook hssfWorkbook = null;
  2. hssfWorkbook = new XSSFWorkbook(is);//Excel 2007
  3. hssfWorkbook = new HSSFWorkbook(is);//Excel 2003

创建sheet 并设置名称

  1. Workbook wb = new XSSFWorkbook();
  2. Sheet sheet1 = wb.createSheet("波波你行的sheet");

设置列宽

  1. sheet1.setColumnWidth(0, (short)(8000)); //设置第一列列宽
  2. sheet1.setColumnWidth(1, (short)(4000)); //设置第二列列宽
  3. sheet1.setColumnWidth(2, (short)(4000)); // 设置第三列列宽

创建行

  1. int row = 0;// excel行标 0表示第一行
  2. Row row = sheet1.createRow(row);

设置行高

  1. row.setHeightInPoints((float) 40);

在行上创建列

  1. Cell cell = row.createCell(0);

设置列上显示的文本或者数组

  1. cell.setCellValue("波波你行,你好");//设置第一行第一列文本为波波你行

设置列上文本为粗体

  1. Font font = wb.createFont();
  2. font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//粗体显示
  3. XSSFRichTextString word = new XSSFRichTextString("波波你行,你好");
  4. word.applyFont(font);
  5. cell.setCellValue(word);//设置第一行第一列文本为波波你行,格式是粗体

设置列背景颜色

  1. CellStyle style1 = wb.createCellStyle();
  2. //设置背景颜色
  3. style1.setFillPattern(CellStyle.SOLID_FOREGROUND);
  4. style1.setFillForegroundColor(IndexedColors.SKY_BLUE.getIndex());
  5. style1.setAlignment(HSSFCellStyle.ALIGN_CENTER);//水平居中显示
  6. style1.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);//垂直
  7. cell.setCellStyle(style1);

IndexColors 背景颜色代码

参考文章:https://blog.csdn.net/qq_20597149/article/details/80362730

excel表格设置为文本格式

  1. DataFormat format = wb.createDataFormat();
  2. // 设置为文本格式,
  3. style1.setDataFormat(format.getFormat("@"));

合并单元格,并设置边框

  1. int row = 0;// excel行标 0表示第一行
  2. Row row = sheet1.createRow(row);
  3. Cell cell = row.createCell(0);
  4. // 合并单元格(4个参数,分别为起始行,结束行,起始列,结束列)
  5. // 行和列都是从0开始计数,且起始结束都会合并
  6. CellRangeAddress region = new CellRangeAddress(4, 4, 5, 9);
  7. sheet1.addMergedRegion(region);
  8. // 使用RegionUtil类为合并后的单元格添加边框
  9. RegionUtil.setBorderBottom(2, region, sheet1, wb); // 下边框
  10. RegionUtil.setBorderLeft(2, region, sheet1, wb); // 左边框
  11. RegionUtil.setBorderRight(2, region, sheet1, wb); // 有边框
  12. RegionUtil.setBorderTop(2, region, sheet1, wb); // 上边框
  13. cellHead.setCellValue("波波你行的带边框合并单元格");