linweijianzero 2017-07-11 10:41 采纳率: 0%
浏览 958

关于JSP上传EXCEL到服务器的问题。

画面代码:

<form id="file_form" action="../whiteList/uploadFile" enctype="multipart/form-data" method="post" style="display:none">
<input type="file" id="fileHiden" name="fileHiden" style="display:none" onchange="fileChange()" accept="application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"/>
</form>

前台代码:

function fileChange(){
    $('#file_form').submit();
}

后台代码:

    @RequestMapping("/uploadFile")
    @ResponseBody
    public String uploadFile(HttpServletRequest request,HttpServletResponse response){
    // TODO
    request.getParameter("fileHiden");// 拿不到上传文件

    }
        ```
问题描述:
又查了一天了,由于从来没做过上传,如果有人愿意回答我,可否讲得详细点,给个方向查,已经浪费两天了。
原本的需求是,用户填好数据后,上传一个固定格式的Excel,我要做的是,读取这个EXCEL,再遍历行,到数据库中做个追加。但是查了好多,还是没有头绪。还请大神给个方向,愿意的话,教教我,真的很重要。
现在最先的问题是,我得拿到这个文件,再读取EXCEL。。没悬赏币急死了。。。补充一下,用的框架是SSM框架。
  • 写回答

2条回答 默认 最新

  • doushen12 2017-07-12 03:44
    关注

    @Controller
    @RequestMapping("/excel")
    public class ExcelController {
    Logger logger = Logger.getLogger(ExcelController.class);
    @RequestMapping("importExcel")
    public void importExcel(HttpServletRequest request, HttpServletResponse response) throws Exception{
    MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;

    Workbook wb = null;

    try {
    MultipartFile file = multipartRequest.getFile("file");
    String filename = file.getOriginalFilename();
    String fileType = filename.substring(filename.lastIndexOf(".")+1);
    logger.info("文件格式"+fileType);
    InputStream in = file.getInputStream();
    if (fileType.equals("xls")) {
    wb = new HSSFWorkbook(in);

    }else if(fileType.equals("xlsx")){
    wb = new XSSFWorkbook(in);

    }else{
    throw new Exception("文件类型错误");
    }
    Sheet sheet = wb.getSheetAt(0);
    int count = sheet.getLastRowNum();
    for (int i = 1; i <= count; i++) {
    Row row = sheet.getRow(i);
    row.getCell(0).setCellType(1);
    row.getCell(1).setCellType(1);
    String id = row.getCell(0).getStringCellValue();
    String name = row.getCell(1).getStringCellValue();
    logger.info("id=" + id +",name="+name);
    }
    in.close();

            response.getWriter().print("<script type='text/javascript'>parent.clear();alert('消息内容不能为空');</script>");
        } catch (Exception e) {
            logger.error("导入excel异常", e);
        }
    }
    

    }

    评论

报告相同问题?

悬赏问题

  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法
  • ¥15 基于卷积神经网络的声纹识别
  • ¥15 Python中的request,如何使用ssr节点,通过代理requests网页。本人在泰国,需要用大陆ip才能玩网页游戏,合法合规。
  • ¥100 为什么这个恒流源电路不能恒流?
  • ¥15 有偿求跨组件数据流路径图
  • ¥15 写一个方法checkPerson,入参实体类Person,出参布尔值
  • ¥15 我想咨询一下路面纹理三维点云数据处理的一些问题,上传的坐标文件里是怎么对无序点进行编号的,以及xy坐标在处理的时候是进行整体模型分片处理的吗
  • ¥15 一直显示正在等待HID—ISP
  • ¥15 Python turtle 画图