天天看点

poi之导入报版本不匹配问题

-----------------------------关于excel-----------------------------

xls与xlsx的区别

})
    @Action(description = "导入Excel")
    public void importExcel(MultipartHttpServletRequest request, HttpServletResponse response) throws Exception {
        MultipartFile fileLoad = request.getFile("xmlFile");
        ResultMessage resultMessage = null;

        String fileType = fileLoad.getOriginalFilename().substring(fileLoad.getOriginalFilename().lastIndexOf(".") + 1, fileLoad.getOriginalFilename().length());
        Workbook wb = null;
        if (fileType.equals("xls")) {
            try {
                // 07+版本
                wb = new HSSFWorkbook(fileLoad.getInputStream());
            } catch (Exception e) {
                // 03版
                wb = new XSSFWorkbook(fileLoad.getInputStream());
            }
        } else if (fileType.equals("xlsx")) {
            wb = new XSSFWorkbook(fileLoad.getInputStream());
        } else {
            throw new Exception("读取的不是excel文件");
        }
    }      
//使用如下代码,就不用区分新旧版,一行代码就生成了Workbook      
//-----------------------------关于word-----------------------------
    @RequestMapping("importWord")
    public void importWord(MultipartHttpServletRequest request, HttpServletResponse response) throws Exception {

        MultipartFile fileLoad = request.getFile("wordFile");
        String fileType = fileLoad.getOriginalFilename();
        InputStream inputStream = fileLoad.getInputStream();

        if (StringUtil.endsWith(fileType.toLowerCase(), ".doc")) {
            POIFSFileSystem pfs = new POIFSFileSystem(inputStream);
            HWPFDocument hwpf = new HWPFDocument(pfs);
        } else if (StringUtil.endsWith(fileType.toLowerCase(), ".docx")) {
            XWPFDocument xwpf = new XWPFDocument(inputStream);
            POIXMLTextExtractor ex = new XWPFWordExtractor(xwpf);
        }

    }