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 }