Apache POI是Apache软件基金会的开源项目,POI提供API给Java程序对Microsoft Office格式档案读和写的功能。 详细介绍见:https://www.cnblogs.com/huajiezh/p/5467821.html
基本使用方式:
public class ExcelUtil {
/**
* 读取多个sheet的数据
*/
public static Map<String, List<List<String>>> readSheetsExcelDataList(InputStream is, String suffix, int line) {
Workbook wb = null;
Map<String, List<List<String>>> sheetMapData = Maps.newLinkedHashMap();
try {
if (suffix.toLowerCase(Locale.ROOT).endsWith("xls")) {
wb = new HSSFWorkbook(is);
} else if (suffix.toLowerCase(Locale.ROOT).endsWith("xlsx")) {
wb = new XSSFWorkbook(is);
}
if (wb != null) {
FormulaEvaluator evaluator = wb.getCreationHelper().createFormulaEvaluator();
int sheetsNumber = wb.getNumberOfSheets();
for (int number = 0; number < sheetsNumber; number++) {
List<List<String>> result = new ArrayList<>();
Sheet sheet = wb.getSheetAt(number);
for (Row row : sheet) {
if (row == null) {
continue;
}
List<String> itemList = new ArrayList<String>();
short lastCellNum = row.getLastCellNum();
for (int i = 0; i < lastCellNum; i++) {
Cell cell = row.getCell(i);
if (cell == null) {
itemList.add("");
continue