• javaweb jsp页面上传excel文件


    servlet:

    private static final long FILE_MAX_SIZE = 4 * 1024 * 1024; 

    if (!ServletFileUpload.isMultipartContent(request)) {  
              System.out.println("失败1");
             }  
             String fileTempPath = this.getServletContext().getRealPath("/") + "filetemp";  
             File tempDir = new File(fileTempPath);  
             if (!tempDir.exists()) {  
                 tempDir.mkdirs();  
             }  
             FileItemFactory factory = new DiskFileItemFactory(4096, tempDir);  
       
             ServletFileUpload sfu = new ServletFileUpload(factory);  
             sfu.setFileSizeMax(FILE_MAX_SIZE);  
       
             List<FileItem> fileItems = null;  
       
             try {  
                 fileItems = sfu.parseRequest(request);  
             } catch (FileUploadException e) {  
                 e.printStackTrace();  
                 if (e instanceof SizeLimitExceededException) {  
                  
                 }  
                 return;  
             }  
             if (fileItems == null || fileItems.size() == 0) {  
                 System.out.println("失败2" );
                 return;  
             } 

      Workbook rwb;
      try {
       rwb = Workbook.getWorkbook(fileItems.get(0).getInputStream());
       int sheetCount=rwb.getNumberOfSheets();
        Sheet rs=rwb.getSheet(0);
        int rows=rs.getRows(); //行
        int cols=rs.getColumns(); //列     -- getCell(列,行)
        System.out.println(rows+"-*-*-*-"+cols);
        for (int i = 2; i < rows ; i++) {
         Cell cell = rs.getCell(i, 0);
         System.out.print(rs.getCell(0, i).getContents()+"-*-");
         System.out.print(rs.getCell(1, i).getContents()+"-*-");
         System.out.print(rs.getCell(2, i).getContents()+"-*-");
         System.out.print(rs.getCell(3, i).getContents()+"-*-");
         System.out.print(rs.getCell(4, i).getContents()+"-*-");
         System.out.print(rs.getCell(5, i).getContents()+"-*-");
         System.out.print(rs.getCell(6, i).getContents()+"-*-");
         System.out.print(rs.getCell(7, i).getContents()+"-*-");
         System.out.print(rs.getCell(8, i).getContents()+"-*-");
         System.out.print(rs.getCell(9, i).getContents()+"-*-");
         System.out.println();
        }
      } catch (BiffException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
      }finally{
       fileItems.get(0).getInputStream().close();
       
      }

    jsp:

    <script type="text/javascript">
     function CheckExcel() {
      var mime = document.getElementById('Excelfile').value;
      mime = mime.toLowerCase().substr(mime.lastIndexOf("."));
      if (!(mime == ".xls")) {
       alert("请导入正确的EXCEL文件,仅支持xls格式!");
       return false;
      }
     }
    </script>
        <body>
         <form action="servlet/ExcelTest" enctype="multipart/form-data" method="post" onsubmit="return CheckExcel()">
          <input type="file" name="Excelfile" onchange="CheckExcel(this)" id="Excelfile"/>

          <input type="submit" value="读EXCEL"/>
         </form>
      </body>

  • 相关阅读:
    NO17--vue父子组件间单向数据流的解决办法
    NO--16 vue之父子组件传值
    使用Element-ui开发桌面应用的小问题
    微信小程序右到左联动
    微信小程序左到右联动
    微信小程序选项卡之跳转
    微信小程序
    回调函数和钩子函数的说明
    最近项目中遇到了一个场景,其实很常见,就是定时获取接口刷新数据。那么问题来了,假设我设置的定时时间为1s,而数据接口返回大于1s,应该用同步阻塞还是异步?
    组件的相互嵌套slot内容分发
  • 原文地址:https://www.cnblogs.com/mingjian/p/5226093.html
Copyright © 2020-2023  润新知