永发信息网

Spring 如何导出当前页面的表格为Excel

答案:2  悬赏:70  手机版
解决时间 2021-02-03 05:37
现在页面上有一个按钮,写着导出,可以导出当前页面的数据为Excel,导出按钮在jsp里写着,请问,js和后台controller该怎么写?
最佳答案
1.前台页面
poi.jar  gson2.2.2.jar
< a href ="hello/download.htm">下载导入模板 </a>

2.后台操作

@RequestMapping("download.htm" )
       public void download(HttpServletResponse response){
           String methodName = "dowloadCmmRange";
              LOGGER.info("download_start" , methodName);
              response.setContentType( "application/vnd.ms-excel");
              String fileName = "";

              try {
                  fileName = new String("商品范围导入.csv" .getBytes("GBK"), "iso8859-1");
              } catch (UnsupportedEncodingException e) {
                  throw new BaseException("SP-CTR-CouponRuleCommonController.dowloadCmmRange" , e);
              }

              response.setHeader( "Content-Disposition", "attachment;filename=" + fileName);

              BufferedWriter bw = null;
              OutputStream outputStream = null;

              try {
                  outputStream = response.getOutputStream();
                  bw = new BufferedWriter(new OutputStreamWriter(outputStream, "GBK" ));
                  bw.append( "商品编码" ).append(",").append( "品牌编码" ).append(",")
                          .append( "品类编码" ).append(",").append( "事业部编码" )
                          .append( ",").append("供应商编码" ).append(",")
                          .append( "操作(包含I/排除E)" );
                  bw.flush();
              } catch (IOException e) {
                  throw new BaseException("SP-CTR-CouponRuleCommonController.dowloadCmmRange" , e);
              } finally {
                  if (null != outputStream) {
                      try {
                          outputStream.close();
                      } catch (IOException e) {
                          throw new BaseException("SP-CTR-CouponRuleCommonController.dowloadCmmRange" , e);
                      }
                  }
                  if (null != bw) {
                      try {
                          bw.close();
                      } catch (IOException e) {
                          throw new BaseException("SP-CTR-CouponRuleCommonController.dowloadCmmRange" , e);
                      }
                  }
              }
              LOGGER.info("download_end" , methodName);
          }
全部回答
后台把数据再查出来一遍,然后调用poi,或jxl生成excel,返回给页面就行了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
我是什么属性???
干洗店里是用什么来洗衣服的啊?
河北师范大学编导专业的高考分数线是多少
洪垆的意思是什么啊?知道的请说下!
繁花小筑地址在哪,我要去那里办事
茗春茶行在什么地方啊,我要过去处理事情
把3,—5,7,—13四个数利用“24点”游戏规
花爱你鲜花(花爱你798分店)地址好找么,我有
揪撮的意思是什么啊?知道的请说下!
石剑水库地址有知道的么?有点事想过去
扎马步抖大腿减肥有用吗
甲乙两个盒子原来装有小球共有9个,从甲中拿出
AMAZINGFLOWER地址在什么地方,我要处理点事
请有经验的人帮帮忙!选择伯明翰大学的MBA,还
联发君领朝阳在什么地方啊,我要过去处理事情
推荐资讯
洗澡时的方向是顺毛孔洗搓,究竟是什么方向呢
编辑图片的软件有哪些
小蚂蚁网络地址有知道的么?有点事想过去
将一物体从焦距为20cm的凸透镜前60cm处,逐渐
宝典的意思是什么啊?知道的请说下!
蓝色在古代叫什么
卜儿的意思是什么啊?知道的请说下!
金禾园(西南门)地址在什么地方,想过去办事
名扬天下火锅店怎么去啊,有知道地址的么
4(a-b)平方-16(a+b)平方
万事兴旅馆这个地址在什么地方,我要处理点事
6sp返厂换了主板,为啥查以前序列号说已过保。
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?