POI

 1 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 2 import org.apache.poi.poifs.filesystem.OfficeXmlFileException;
 3 import org.apache.poi.ss.usermodel.Cell;
 4 import org.apache.poi.ss.usermodel.CellType;
 5 import org.apache.poi.ss.usermodel.Workbook;
 6 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 7 import org.slf4j.Logger;
 8 import org.slf4j.LoggerFactory;
 9 import org.springframework.web.multipart.MultipartFile;
10 
11 import java.io.IOException;
12 
13 /**
14  * OOXML or OLE2 文档编辑工具
15  * @author16  */
17 public class POIUtil {
18 
19     private static Logger log = LoggerFactory.getLogger(POIUtil.class);
20 
21     public static String getCellStringValue(Cell cell) {
22         if (cell != null) {
23             cell.setCellType(CellType.STRING);
24             return cell.getStringCellValue();
25         }
26         return null;
27     }
28 
29     /**
30      * 兼容(OOXML or OLE2)Excel 03和07两种格式 
31      * @param regionFile
32      * @return
33      */
34     public static Workbook parseFile(MultipartFile regionFile) {
35         Workbook workbook = null;
36         try {
37             workbook = new HSSFWorkbook(regionFile.getInputStream());
38         } catch (OfficeXmlFileException | IOException e) {
39             if (e instanceof OfficeXmlFileException) {
40                 try {
41                     workbook = new XSSFWorkbook(regionFile.getInputStream());
42                 } catch (IOException e1) {
43                     log.error("文件解析IO异常", e1);
44                 }
45             } else {
46                 log.error("文件解析IO异常", e);
47             }
48         }
49         return workbook;
50     }
51 }
原文地址:https://www.cnblogs.com/justbeginning/p/10006353.html