// 读取、存储、多行、行列合并 /** * 获得Excel对象 */ public void getTemplateXls() { try { // 获取系统文档 POIFSFileSystem fspoi = new POIFSFileSystem(new FileInputStream("/xxx/xxx.xls")); // 获取工作薄对象 HSSFWorkbook workbook = new HSSFWorkbook(fspoi); // 获取工作表对象 HSSFSheet sheet = workbook.getSheet("sheet1"); // 获取Excel表格 // 获取Excel工作表指定行的单元格 HSSFRow row = sheet.getRow(1); // 获取Excel工作表指定列的单元格 HSSFCell cell = row.getCell(1); System.out.println(cell); } catch (IOException e) { e.printStackTrace(); } } /** * 创建Excel * * @throws IOException */ public void createTemplateXls() throws IOException { // 创建工作薄对象 HSSFWorkbook workbook = new HSSFWorkbook();//这里也可以设置sheet的Name // 创建工作表对象 HSSFSheet sheet = workbook.createSheet(); // 创建工作表的行 // 创建第一行,从零开始 HSSFRow row = sheet.createRow(0); // 创建工作表的列 // 第一行第一列为日期 row.createCell(0).setCellValue(new Date()); // 第一行第三列为testText row.createCell(2).setCellValue("testText"); // 创建第二行 // row = sheet.createRow(1); // 合并行/列方法说明 // CellRangeAddress(firstRow, lastRow, firstCol, lastCol),参数的说明: // // firstRow 区域中第一个单元格的行号 // lastRow 区域中最后一个单元格的行号 // firstCol 区域中第一个单元格的列号 // lastCol 区域中最后一个单元格的列号 // row.createCell(0).setCellValue("testText1"); // CellRangeAddress region=new CellRangeAddress(0, 0, 0, 5);// 合并第一行前六列 // CellRangeAddress region=new CellRangeAddress(0, 5, 0, 0);// 合并第一列前六行 // sheet.addMergedRegion(region); //设置sheet的Name workbook.setSheetName(0, "sheet的Name"); //文档输出 FileOutputStream out = new FileOutputStream("/xxx/" + new SimpleDateFormat("yyyyMMddHHmmss").format(new Date()).toString() + ".xls"); workbook.write(out); out.close(); }
更多Poi使用参考:https://blog.csdn.net/w893932747/article/details/89354979