本文共 1946 字,大约阅读时间需要 6 分钟。
org.apache.poi poi 4.0.0 org.apache.poi poi-ooxml 4.0.0 org.apache.poi poi-scratchpad 4.0.0 com.monitorjbl xlsx-streamer 2.1.0
public class Test { public static Map> test(File file) throws Exception{ FileInputStream in = new FileInputStream(file); Map > mapData = new HashMap >(); Workbook wk = StreamingReader.builder() .rowCacheSize(100) //缓存到内存中的行数,默认是10 .bufferSize(4096) //读取资源时,缓存到内存的字节大小,默认是1024 .open(in); //打开资源,必须,可以是InputStream或者是File,注意:只能打开XLSX格式的文件 int sheetNums = wk.getNumberOfSheets(); for(int i = 0 ; i < sheetNums;i ++){ List sheetData = new ArrayList (); Sheet sheet = wk.getSheetAt(i); String sheetName = wk.getSheetName(i); //遍历所有的行 for (Row row : sheet) { StringBuilder sb = new StringBuilder(); //遍历所有的列 for (Cell cell : row) { sb.append(cell.getStringCellValue()); } sheetData.add(sb.toString()); } mapData.put(sheetName,sheetData); } return mapData; } public static void main(String[] args) throws Exception { File file = new File("D:\\workspace\\2020\\07\\10\\test"); if(file.isDirectory()){ File[] files = file.listFiles(); for(File file1: files){ Map > test = test(file1); for(Map.Entry > m : test.entrySet()){ for(String s : m.getValue()){ System.out.println(s); } } } } }}
转载地址:http://wgcrn.baihongyu.com/