网站首页设计创意,攀枝花市网站建设,苏州官网设计,公司公司手机网站制作excel类型
excel分为03版本和07版本
03版本 new HSSFWorkbook(); 优点#xff1a;速度快 缺点#xff1a;只能写入65536行数据 文件类型#xff1a;.xls07版本 new XSSFWorkbook(); 优点#xff1a;不限制写入数量 缺点#xff1a;容易造成内存溢出(OOM)#xff0c;速度…excel类型
excel分为03版本和07版本
03版本 new HSSFWorkbook(); 优点速度快 缺点只能写入65536行数据 文件类型.xls07版本 new XSSFWorkbook(); 优点不限制写入数量 缺点容易造成内存溢出(OOM)速度慢 文件类型.xlsx07加速版 new SXSSFWorkbook(); 在写入过程中会产生临时文件需要手动清除((SXSSFWorkbook)wb).dispose(); 文件类型.xlsx
依赖
dependencygroupIdorg.apache.poi/groupIdartifactIdpoi/artifactIdversion4.1.2/version
/dependency
dependencygroupIdorg.apache.poi/groupIdartifactIdpoi-ooxml/artifactIdversion4.1.2/version
/dependency写入
private static void write(){// 创建一个工作簿Workbook wb new HSSFWorkbook();// 创建一个工作表Sheet sheet wb.createSheet(sheet页名称);// 创建一行Row row sheet.createRow(0);// 创建一个单元格Cell cell row.createCell(0);// 生成一张表FileOutputStream outputStream new FileOutputStream(PATH demo.xls);wb.write(outputStream);
}读取
private static void read(){FileInputStream inputStream new FileInputStream(PATH demo.xls);Workbook wb new HSSFWorkbook(inputStream);Sheet sheet wb.getSheetAt(0);Row row sheet.getRow(0);Cell cell row.getCell(0);// 获取sheet页总行数int rowCount sheet.getPhysicalNumberOfRows();// 获取一行的列数int cellCount row.getPhysicalNumberOfCells();// 获取单元格的数据类型CellType cellType cell.getCellType();switch (cellType) {case STRING:cell.getStringCellValue();break;// 读字符串case BOOLEAN:cell.getBooleanCellValue();break;// 读布尔值case FORMULA:cell.getCellFormula();break;// 读公式case BLANK:break;case ERROR:break;case NUMERIC:if (HSSFDateUtil.isCellDateFormatted(cell)) {cell.getDateCellValue();// 读日期} else {// 为防止数字过长将数字以字符串的格式输出cell.setCellType(CellType.STRING);cell.getStringCellValue();}break;}
}计算公式
// 创建公式计算器
FormulaEvaluator formulaEvaluator new HSSFFormulaEvaluator((HSSFWorkbook) wb);
// 执行计算
CellValue evaluate formulaEvaluator.evaluate(cell);
evaluate.formatAsString();03、07通用版