JAVA使用POI与ajax导出EXCEL表格

POI简介:Jakarta POI 是一套用于访问微软格式文档的Java API。Jakarta POI有很多组件组成,其中有用于操作Excel格式文件的HSSF和用于操作Word的HWPF,在各种组件中目前只有用于操作Excel的HSSF相对成熟。

官方主页http://poi.apache.org/index.html

API文档http://poi.apache.org/apidocs/index.html

现在用的比较多的都是用POI技术来导出或者导入Excel,用POI导出Excel我们首先要下载所需的jar包然后导入到我们的项目中,用maven的同学只需找到相关依赖加入到pom.xml里面即可。这里我用maven导包。

Jakarta POI HSSF API组件:

HSSF(用于操作Excel的组件)提供给用户使用的对象在rg.apache.poi.hssf.usermodel包中,主要部分包括Excel对象,样式和格式,有以下几种常用的对象:

常用组件:

HSSFWorkbook     excel的文档对象

HSSFSheet            excel的表单

HSSFRow               excel的行

HSSFCell                excel的格子单元

HSSFFont               excel字体

样式:

HSSFCellStyle         cell样式

基本操作步骤:

首先,我们应该要知道的是,一个Excel文件对应一个workbook,一个workbook中有多个sheet组成,一个sheet是由多个行(row)和列(cell)组成。那么我们用poi要导出一个Excel表格

的正确顺序应该是:

1、用HSSFWorkbook打开或者创建“Excel文件对象”

2、用HSSFWorkbook对象返回或者创建Sheet对象

3、用Sheet对象返回行对象,用行对象得到Cell对象

4、对Cell对象读写。

5、将生成的HSSFWorkbook放入HttpServletResponse中响应到前端页面

工具类代码:

控制器代码:

前端代码:

从前端代码可以看到,ajax访问后台的方式被注释了,那是因为$.ajax,$.post 不支持返回二进制文件流的类型,dataType只支持xml,json,script,html这几种格式,没有blob类型。所以若要采用异步导出EXCEL的方式,只能选择使用原生Ajax XMLReques对象进行处理。

原生ajax异步请求参考文档:https://blog.csdn.net/swl979623074/article/details/77855629/

只需要修改前端代码即可。

转自:https://blog.csdn.net/zxl13735005529/article/details/87006714

发表回复