看注释吧,感觉没啥好说的。主要就是这个逻辑看明白就行了,不明白可以在评论区讨论。
@Test
public void test1() throws IOException {
//需要修改的文件路径
String fileName="D://qq&wchat//WXWork//Cache//File//2022-08//1-8月份考勤打卡记录 - 副本.xlsx";
//读取表格
XSSFWorkbook xssfWorkbook = new XSSFWorkbook(new FileInputStream(fileName));
//获取第7个sheet
XSSFSheet sheet = xssfWorkbook.getSheetAt(7);
//修改第二行第17个单元格的公式(原公式为TODAY()-1)
sheet.getRow(1).getCell(16).setCellFormula("TODAY()-2");
//获取第二行第17个单元格中的公式
String cellFormula = sheet.getRow(1).getCell(16).getCellFormula();
FileOutputStream out = new FileOutputStream(fileName);
out.flush();
//将修改的数据写入
xssfWorkbook.write(out);
out.close();
System.out.println(cellFormula);
}