java对excel文件操作poi中sheet问题

我要实现的是上传一个exl文件,分别对不同的sheet将其解析,在sheet的结尾加上一条信息(由谁检验),再将此exl导出。

导出exl的一定要重新创建HSSFWorkbook,再创建sheet,再在sheet里面写东西吗?

可不可以我已经有sheet,只要创建exl或某种类型,把sheet放进exl里,导出即可?

阅读 4.7k
4 个回答

直接在传上来的excel中修改再导出不行么。

对于已有的Sheet,希望在sheet的结尾添加,可以使用GcExcel的 getUsedRange() 方法。
getUsedRange可以获取到所有已经使用的区域,在当前区域下面,插入一行,填写结尾信息即可。

//参考资料:
//https://www.grapecity.com.cn/developer/grapecitydocuments/excel-java/docs/Features/ManageWorksheet/RangeOperations/WorkWithUsedRange
public void AppendText(){
    Workbook wb = new Workbook();
    wb.open("resources/ReplaceExample.xlsx");
    IWorksheet sheet = wb.getWorksheets().get(0);
    sheet.getRange(sheet.getUsedRange().getLastRow()+1,0).setValue("结尾的信息");
    wb.save("output/new.xlsx");
}

已有的Excel 的sheet 格式 很复杂么? 还是 数据量大? 不一定 非要重新创建新的workbook,根据你业务场景来,毋容置疑的是,首先 是要有Excel 模版,然后 才可以 往Excel 模板中 写 数据,你可以将解析的sheet 的数据一次 逐行 写到 新建的sheet

exl是啥?xls或xlsx文件可以读文件读sheet获取最大行数在下一行创建行(或者直接获取现有某行)创建单元格写数据再保存。

推荐问题
宣传栏