这是我的ExcelController.java

public ModelAndView generateExcel(HttpServletRequest request,

HttpServletResponse response) {

// Created List called 'employeeList'

model.put("employeeList", employeeList);

return new ModelAndView("CreateExcel","employeeList",employeeList);

}

这是我的ExcelRevenueReportView.java

protected void buildExcelDocument(Map model,

HSSFWorkbook workBook, HttpServletRequest request, HttpServletResponse response)

throws Exception {

@SuppressWarnings("unchecked")

List employeeList = (List) model.get("employeeList");

HSSFSheet sheet = workBook.createSheet("Employee List");

HSSFRow header = sheet.createRow(0);

header.createCell((short) 0).setCellValue("Employee");

int rowNum = 1;

for (Object employee : employeeList) {

//create the row data

HSSFRow row = sheet.createRow(rowNum++);

System.out.println(row);

row.createCell((short) 0).setCellValue(1);

}

}

我的servlet.xml

class="org.springframework.web.multipart.commons.CommonsMultipartResolver">

class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping" />

/WEB-INF/spring-excel-views.xml

我的spring-excel-views.xml

class="com.sort.process.ExcelRevenueReportView">

在上面的项目中,我知道我没有调用buildExcelDocument(),这可能是没有生成excel表的原因,我不确定是否应该在某处调用它.

最终,我无法通过这种方式生成excel表.

任何人都可以发现错误吗?

还是其他任何可能的建议?

解决方法:

我建议你使用更轻量级的方法和基于Annotation的控制器配置.在这种情况下,只需在控制器中放置以下代码:

@RequestMapping("list/excell")

public View listExcell() {

return new AbstractExcelView() {

@Override

protected void buildExcelDocument(Map model, HSSFWorkbook workbook,

HttpServletRequest request, HttpServletResponse response) throws Exception {

HSSFSheet sheet = workbook.createSheet("List of employees");

setText(getCell(sheet, 0, 0), "Id");

setText(getCell(sheet, 0, 1), "First name");

setText(getCell(sheet, 0, 2), "Last name");

setText(getCell(sheet, 0, 3), "Active");

setText(getCell(sheet, 0, 4), "Salary");

List employees = dao.listEmployees();

for (int i = 0; i < employees.size(); i++) {

Employee employee = employees.get(i);

setText(getCell(sheet, i + 1, 0), String.valueOf(employee.getId()));

setText(getCell(sheet, i + 1, 1), employee.getFirstName());

setText(getCell(sheet, i + 1, 2), employee.getLastName());

setText(getCell(sheet, i + 1, 3), String.valueOf(employee.isActive()));

setText(getCell(sheet, i + 1, 4), String.valueOf(employee.getSalary()));

}

}

};

}

您的代码中的问题是,在您的控制器中,您使用名为“CreateExcel”的视图,但在您的配置中,您将视图命名为“ExcelRevenueSummary”.

如果您需要一个完整的工作示例 – 您可能会发现它here.

标签:java,spring,spring-mvc

来源: https://codeday.me/bug/20190723/1510993.html

java导出excel 打不开_java – 无法使用AbstractExcelView导出Excel工作表相关推荐

  1. java导出excel 打不开_Java使用POI生成Excel文件后打不开的问题

    在实际的工作中,有时会遇到获取数据后需要存入Excel文件的情况.但是,在生成Excel文件后,发现无法正常打开该文件. 例如:以当前的时间点为文件名,新生成一个Excel文件.先来看看下面一段代码. ...

  2. 【Office】新建的EXCEL打不开,而存在的EXCEL能打开

    问题:新建xls文件报错"新建xls工作表的文件格式和扩展名不匹配",而新建xlsx直接打不开 问题原因:原因就是之前新建"Microsoft Excel 工作表&quo ...

  3. java导出excel 打不开,poi 通过浏览器导出excel文件打不开

    本机excel版本大于2007 maven引入jar包配置 org.apache.poi poi-ooxml 3.9 dom4j dom4j 代码controller层 MemberSchoolCon ...

  4. java excel 晒新年操作_JAVA使用POI操作excel

    这里提一下,java操作excel的组件除了apache的poi,还有jexcelapi(jxl),其中poi组件的获取地址为poi.apache.org. poi组件中常用的类有HSSFworkbo ...

  5. Java POI 导出Excel,设置单元格无法编辑, 开启工作表保护后,依然可以筛选, 冻结行列不移动

    1. 设置单元格无法编辑 // 单元格样式锁定 不可编辑 CellStyle lockStyle = workbook.createCellStyle(); lockStyle.setLocked(t ...

  6. excel链接隐藏工作表_在Excel 2007和2010中隐藏和取消隐藏工作表和工作簿

    excel链接隐藏工作表 Hiding worksheets can be a simple way to protect data in Excel, or just a way reduce th ...

  7. Excel批量删除含有某关键字的多个工作表

    如图所示想批量删除工作簿中含有某个关键字段的工作表,该如何批量操作呢 (Excel插件) 1.动图演示如下 2.我们可以选择方方格子按钮 ​ 3.选择工作表的的操作 4.下拉菜单选择删除指定表 5.弹 ...

  8. java excel data 导入数据_java实现导入导出excel数据

    项目需要,要实现一个导入导出excel的功能,于是,任务驱动着我学习到了POI和JXL这2个java操作Excel的插件. 一.POI和JXL介绍 1.POI:是对所有office资源进行读写的一套工 ...

  9. java如何调用系统保存框_java使用poi实现excel导出之后如何弹出保存提示框

    无论使用poi还是使用jxl导出excel都需要用到流 一种是outputstrean,另一种fileoutputstream 第一种:如果想要弹出保存的提示框必须加入下列三句 response.se ...

最新文章

  1. 吴恩达神经网络和深度学习——第三周笔记
  2. 车路协同让城市更智慧
  3. 卸载linux系统自带JDK,安装自己的jdk
  4. 视频直播技术详解(1)采集
  5. 学习笔记(11月03日)
  6. 【渝粤题库】陕西师范大学164108 网络营销与策划 作业 (高起专)
  7. JasperReport报表导出PDF中文不显示的问题
  8. 微信地位,牢不可破?
  9. python 图书馆管理程序下载_图书管理系统 免费开源代码 开发,分享 - CodeForge.cn...
  10. 机器学习基础(三十七) —— 处理类别特征
  11. 手把手教你在 Vue 中使用 JSX,不怕学不会!【建议收藏】
  12. Carthagecocopads 摘抄笔记
  13. eoLinker API-Shop 常见热门的OCR文字识别API
  14. 创建Cocos2dx项目两种方法
  15. 安装DevExpress后如何在工具箱显示Dev控件
  16. 牛客练习赛97_D 月之暗面
  17. 【分析】RBD Mirroring - 原理、概念、命令
  18. java项目类型---java新手
  19. Android平台版本-API级别与版本号对照表,移动开发技术导论答案
  20. eclipse 项目中搜索资源(类方法,文件名,文件中的字符串)

热门文章

  1. 博士毕业论文英文参考文献换行_写毕业论文时,需要掌握这10个最实用的Word技巧...
  2. java判断南北纬度的分界线_中国的地理如何区分南北?《南北分界线》在哪里?...
  3. starUML4.0导出的图片去除水印的方法
  4. c++总结(updating)
  5. 获取微信用户openid
  6. Android获取系统启动器、电话、短信和相机包名
  7. (OK) 编译 cm-13-kiwi for (华为 荣耀 5X) - 成功
  8. ps蒙版工具的概念及使用
  9. 2019HDU多校第一场 HDU6578 Blank
  10. 【生产调度】基于遗传算法求解柔性生产调度(FJSP)问题含Matlab源码