// XLSX版本
const in= new Packages.java.io.FileInputStream("C:\\LJT\\test.xlsx");
const wb= Packages.org.apache.poi.xssf.usermodel.XSSFWorkbook("in")
//xls版本
const in= new Packages.java.io.FileOutputStream("C:\\LJT\\test.xls");
const wb= new Packages.org.apache.poi.hssf.usermodel.HSSFWorkbook("in")
//打开之后对某个单元格进行赋值修改
//获取表格一的工作表
let sheet = wb.getSheet("表格一");
//获取表格一中 第3行(根据索引)
let row = sheet.getRow(2);
//获取表格一中 第3行的第五列(根据索引)
let cell = row.getCell(4);
//赋值
cell.setCellValue("修改成功");
此时表格一第3行第5列 就变成了修改成功
//在保存一下
const out= new Packages.java.io.FileOutputStream("C:\\LJT\\test.xlsx");
doc.write(out)
out.close();
此时如果你要修改的单元格为空或者这一行都是空会报错
果如是97和07两个Excel版本只需要吧上面的wb修改一下 路径后缀修改一下
Java中的流我这个关闭的步骤省略了 自己关闭一下就行了
//如果是空需要插入新单元格在赋值
//打开之后对某个单元格进行赋值修改
//获取表格一的工作表
let sheet = wb.getSheet("表格一");
//获取表格一中 第3行(根据索引)
let row = sheet.getRow(2);
//如果行是空就创建新行
if (row == null) {
row = sheet.createRow(2);
}
//获取表格一中 第3行的第五列(根据索引)
let cell = row.getCell(4);
if(cell==null){
//如果单元格是空就创建新单元格在修改
let newCell = row.createCell(4);
newCell.setCellValue("修改成功");
}
//赋值
cell.setCellValue("修改成功");
//在保存一下
const out= new Packages.java.io.FileOutputStream("C:\\LJT\\test.xlsx");
doc.write(out)
out.close();