Java 多个 sheet 怎么合并到一个 Excel 里,并且转 Html?

我有一个Excel,多个sheet,需要把每个sheet的内容,都导出为HTML,并且都放在同一个HTML里,用于前端显示。有没有什么好的组件推荐?

阅读 1.2k
2 个回答

可以在后端(我这里以java为例),用poi(easyPoi)、easyExcel等读取出不同sheet的数据,组装成一个集合,直接在服务端渲染的话就用模板引擎自己写html,for循环填充进去就可以了,前端渲染就可以转成json格式在前端请求的时候返回给前端,由前端框架写样式进行处理。

/*
https://demo.grapecity.com.cn/documents-api-excel-java/demos/htmlexporting
*/
public void CopySheetAndConvertToImage() throws FileNotFoundException {
    Workbook wb = new Workbook();
    wb.open("resources/CopySheet.xlsx");
    IWorksheet sheet1 = wb.getWorksheets().get(0);
    IWorksheet sheet2 = wb.getWorksheets().get(1);
    IWorksheet sheet3 = wb.getWorksheets().get(2);
    IWorksheet sheet4 = wb.getWorksheets().add();

    sheet1.getRange("A1:E5").copy(sheet4.getRange("A1:E5"));
    sheet2.getRange("A1:E5").copy(sheet4.getRange("A6:E10"));
    sheet3.getRange("A1:E5").copy(sheet4.getRange("A11:E15"));

    FileOutputStream outputStream = new FileOutputStream("output/SaveWorkbookToHTML.zip");
    HtmlSaveOptions options = new HtmlSaveOptions();
    options.setExportSheetName(sheet4.getName());
    wb.save(outputStream, options);
}

实现效果:
image.png
导出后的HTML:
image.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题