xls格式的工作簿对象为HSSFWorkbook
xlsx格式的工作簿对象是XSSFWorkbook
数据写入Excel
此处使用xls示例,xlsx同样的道理
public static void created() throws IOException { //创建工作簿对象 Workbook Workbook = new HSSFWorkbook(); // HSSFWorkbook hssfWorkbook = new HSSFWorkbook(); //创建一个工作表 Sheet sheet = Workbook.createSheet("工作"); //创建行对象 Row row = sheet.createRow(0); //创建单元格对象 row.createCell(0).setCellValue("编号"); row.createCell(1).setCellValue("姓名"); row.createCell(2).setCellValue("住址"); for (int i = 1; i < 10; i++) { Row row1 = sheet.createRow(i); row1.createCell(0).setCellValue(i); row1.createCell(1).setCellValue("姓名"+i); row1.createCell(2).setCellValue("住址"+i); } FileOutputStream fileOutputStream = new FileOutputStream("d:/demo.xls"); Workbook.write(fileOutputStream); fileOutputStream.close(); System.out.println("写入成功"); }
读取Excel文件
public static void duqu() throws IOException { //创建输入流对象,读取文件 FileInputStream fileInputStream = new FileInputStream("d:/demo.xls"); //创建工作簿对象 Workbook workbook=new HSSFWorkbook(fileInputStream); //获取工作表 Sheet sheet = workbook.getSheet("工作"); //记录的行数 int rowNum = sheet.getPhysicalNumberOfRows(); String value=""; for (int i = 0; i < rowNum; i++) { Row row = sheet.getRow(i); if (row.getCell(0).getCellType()== Cell.CELL_TYPE_NUMERIC){ value = row.getCell(0).getNumericCellValue()+""; }else { value = row.getCell(0).getStringCellValue(); } String name = row.getCell(1).getStringCellValue(); String addr = row.getCell(2).getStringCellValue(); System.out.println(value+"\t"+name+"\t"+addr); } fileInputStream.close(); }