2 princess  m princess__m 于 2016.04.28 11:05 提问

spring mvc实现导出数据到excel,页面上有数据,只在controller里面写

没有service方法,请问controller和jsp页面如何写,另外报表模板放在webapp/admin/excel下

1个回答

li953348869
li953348869   2016.04.28 11:41

用poi

/**
* 导出exec
* @param request
* @param response
* @param model
* @return
* @throws UnsupportedEncodingException
*/
@RequestMapping(value = "importExec", method = RequestMethod.GET)
@ResponseBody
public String importExec(HttpServletRequest request, HttpServletResponse response, Model model) throws UnsupportedEncodingException {

     // 第一步,创建一个webbook,对应一个Excel文件  
    HSSFWorkbook wb = new HSSFWorkbook();  
    HSSFFont font = wb.createFont();

    // 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet  
    HSSFSheet sheet = wb.createSheet("前端订单");  

 /*   for (int i = 0; i < 11; i++) {
         sheet.setColumnWidth(i, 100*60);
    }*/

    // 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short  
    HSSFRow row = sheet.createRow((int) 0);  
    // 第四步,创建单元格,并设置值表头 设置表头居中  
    HSSFCellStyle style = wb.createCellStyle();  
    style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式  

    HSSFCell cell = row.createCell((short) 0);  

    cell.setCellValue("订单号");  
    cell.setCellStyle(style);  

    cell = row.createCell((short) 1);  

    cell.setCellValue("服务月嫂");  
    cell.setCellStyle(style);  
    cell = row.createCell((short) 2);  

    cell.setCellValue("服务城市");  
    cell.setCellStyle(style);  

    cell = row.createCell((short) 3);  

    cell.setCellValue("下单时间");  
    cell.setCellStyle(style);  

    cell = row.createCell((short) 4); 

    cell.setCellValue("服务时间"); 

    cell.setCellStyle(style);  

    cell = row.createCell((short) 5); 

    cell.setCellValue("结束时间");  
    cell.setCellStyle(style);  

    cell = row.createCell((short) 6);  

    cell.setCellValue("订单总价");  
    cell.setCellStyle(style);  

    cell = row.createCell((short)7);          
    cell.setCellValue("订单状态");  
    cell.setCellStyle(style);  






    Map<String,Object> paramMap = new HashMap<String,Object>();

    // 第五步,写入实体数据 实际应用中这些数据从数据库得到,  
    List<OrderTrade> tradeList  =this.orderTradeService.selectAll();




     OrderTrade ot=null;
    for (int i = 0; i < tradeList.size(); i++)  
    {  
        row = sheet.createRow((int) i + 1);  
        ot=new OrderTrade(); 
        ot=tradeList.get(i);
        // 第四步,创建单元格,并设置值  
        row.createCell((short) 0).setCellValue(ot.getOrderCode());  
        row.createCell((short) 1).setCellValue(ot.getMatronName());  
        row.createCell((short) 2).setCellValue(ot.getCityName());  
        row.createCell((short) 3).setCellValue(ot.getOrderCreateDate());  
        row.createCell((short) 4).setCellValue(ot.getServiceStartDate());  
        row.createCell((short) 5).setCellValue(ot.getActualEndDate()); 
        row.createCell((short) 6).setCellValue(ot.getGrandTotal());  
        row.createCell((short) 7).setCellValue(ot.getOrderStatusName()); 

    }  
    // 第六步,将文件存到指定位置  
    try  
    {  
        Map<String, Object> retMap = new HashMap<String, Object>();
        String resultStr = null;


        String  filePath = request.getSession().getServletContext().getRealPath("/")+"/TradeOrder.xls";

        File file=new File(filePath);       
        //File file=new File("D:/TradeOrder.xls");

        if(!file.exists())    
        {    
            try {    
                file.createNewFile();    
            } catch (IOException e) {    
                // TODO Auto-generated catch block    
                e.printStackTrace();    
            }    
        }    
        FileOutputStream fout = new FileOutputStream(file); 
        wb.write(fout);
        fout.close();  
        retMap.put("result", true);
        resultStr = JsonUtils.toJsonString(retMap);

        return resultStr;
    }  
    catch (Exception e)  
    {  
        e.printStackTrace();  
    }  


    return null; 
}
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
springMVC下的后台controller层获取页面导入的excel数据并解析
文件的数据解析,首先都必须知道数据在文件中的结构。而excel由于结构清晰,用单元格对数据进行了分割,每个单元格就是唯一的一个数据。解析相对容易。实际应用也比较广泛。 这里我先给个excel的数据结构demo,然后解析这个模板内的数据。 看上图是为了让大家明白文件处在本地项目的位置,和该文件模板内的数据结构。该信息处于sheet1,模板中前两行(row)是标题和列属性。从第三行(row)开始是
Spring MVC中只返回数据不跳转页面
在SpringMVC中,单纯的定义接口,不需要返回到某个页面的时候,指向返回数据就完事了,可以这么写@RequestMapping("/getHisDates") public void getHisDates(HttpServletResponse resp) { try { //将数据(station.getfX())返回给调用方法 resp.getWrite
springmvc实现导出数据信息为excle表格
1.项目增加导出日志信息 2.项目中导入poi-*.jar等操作excel文件的jar文件 poi-3.7-20120326.jar poi-excelant-3.7-20101029.jar poi-ooxml-3.7.jar poi-ooxml-schemas-3.7.jar Excel导出就是根据前台条件将参数传到controller,根据参数
spring mvc 条件查询导出excel
excel 的操作是基于apache POI 开源项目,这个项目能操作excel,word等 官网:https://poi.apache.org/ maven依赖<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <versi
基于Spring3 MVC实现批量导出数据成Excel文件!
在jsp中: 批量导出Excel  //导出信息函数 function download(){ if(confirm("是否要导出数据?")){ var url = "${path}/master/child/downloadChild"; $.post(url,function(data){ alert(data.message); }); }
springmvc生成Excel并且返回给客户端
springMVC 下载文件,生成Excel
基于Spring3 MVC实现基于form表单上传Excel文件,批量导入数据!
在处理Excel文件,批量导入数据时,首先要配置所需要的jar包, 基于Spring MVC和Maven,在pom.xml中添加: net.sourceforge.jexcelapi jxl 2.6.10 在jsp页面中: 批量上传  在MasterChildController.
SpringMVC 导入excel表格获取内容,操作后输入页面
所需要的插件: uploadify(上传文件),POI(JAVA对excel的操作) TIP:要想对本地文件读取,必须将本地文件上传到服务器。因为当其他电脑连接服务器时,不会获得路径     (ps) 控件往往不能获得其绝对路径,因为安全问题 首先,前台: 这里引入uploadify所需文件,js中添加参数因为防止uploadify导致浏览器因缓存问题奔溃
SpringMVC实现与mysql连接和excel表格的导入和导出
poi实现数据库的表格的导入导出,在网上查了好多资料,但是感觉不符合自己的需求,于是我用eclipse自己写了一个,希望对大家有所帮助
在Springmvc中导出报表下载Excel文件
controller层@Controller public class UseCaseController{ @Autowired private UseCaseService useCaseService;/** *进入到useCase_excel页面 */ @RequestMapping(value="useCase_excel.xhtml",method="Reques