//demo2为生成Excel demo3 为修改Excel
@Test
public void demo2 () throws Exception, Exception {
//设置基础类
HSSFWorkbook hssfWorkbook = new HSSFWorkbook();
//创建第一个sheet页面
HSSFSheet sheet1 = hssfWorkbook.createSheet("Good Boy");
//创建第一个sheet页面的第一二行
HSSFRow row1 = sheet1.createRow(0);
HSSFRow row2 = sheet1.createRow(1);
//设置行高
Short short1 = new Short((short) 500);
row1.setHeight(short1);
//设置第一行的第一个单元格
HSSFCell cell1 = row1.createCell(0);
//为第一行第一个单元格赋值
cell1.setCellValue("档案机密----CF");
//合并单元格
sheet1.addMergedRegion(new CellRangeAddress(0, 0, 0, 12));
//给第二行单元格赋值
for (int i = 1; i < 13; i++) {
HSSFCell createCell = row2.createCell(i);
createCell.setCellValue(i);
}
OutputStream outputStream = new FileOutputStream("C:\\Users\\lenovo\\Desktop\\123.xls");
hssfWorkbook.write(outputStream);
outputStream.flush();
outputStream.close();
}
//demo3可以进行修改Excel 可以通过实际方法 利用前台修改内容传参到后台,在进行保存
@Test
public void demo3 () throws Exception, Exception {
//获取文件
File file = new File("C:\\Users\\lenovo\\Desktop\\123.xls");
if(file.exists()) {
InputStream inputStream = new FileInputStream(file);
HSSFWorkbook hssfWorkbook = new HSSFWorkbook(inputStream);
//得到第一个sheet页面
HSSFSheet sheetAt = hssfWorkbook.getSheetAt(0);
//便利循环赋值
for (int i = 1; i <= sheetAt.getLastRowNum(); i++) {
HSSFRow row = sheetAt.getRow(i);
HSSFCell cell = row.getCell(1);
cell.setCellValue(new SimpleDateFormat("yyyy-MM-dd").format(new Date()));
}
//删除之前的Excel
file.delete();
//重新保存一份
OutputStream outputStream = new FileOutputStream("C:\\Users\\lenovo\\Desktop\\123.xls");
hssfWorkbook.write(outputStream);
outputStream.flush();
outputStream.close();
}
}