java excel构造以及解析

xiaoxiao2021-02-28  80

最保守的方法是用poi方法构建完,把hssf类换成xssf,兼容xls,以及xlsx文件

构建

import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import org.apache.commons.io.FileUtils; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class POIBUILDXLS { public static void main(String[] args) throws IOException { String[] title={"id","name","sex"}; XSSFWorkbook workbook=new XSSFWorkbook(); Sheet sheet=workbook.createSheet(); Row row=sheet.createRow(0); Cell cell=null; for(int i=0;i<title.length;i++){ cell=row.createCell(i); cell.setCellValue(title[i]); } for(int i=1;i<10;i++){ Row neRow=sheet.createRow(i); Cell cell2=neRow.createCell(0); cell2.setCellValue("a"+i); cell2=neRow.createCell(1); cell2.setCellValue("user"+i); cell2=neRow.createCell(2); cell2.setCellValue("男"); } File file=new File("d:/poi_test.xlsx"); file.createNewFile(); FileOutputStream stream=FileUtils.openOutputStream(file); workbook.write(stream); stream.close(); } }

解析

import java.io.File; import java.io.IOException; import org.apache.commons.io.FileUtils; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.apache.poi.xssf.usermodel.XSSFCell; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; public class POIGETXLS { public static void main(String[] args) { File file=new File("d:/poi_test.xlsx"); try{ XSSFWorkbook workbook=new XSSFWorkbook(FileUtils.openInputStream(file)); XSSFSheet sheet=workbook.getSheetAt(0); int firstRowNum=0; int lastRowNum=sheet.getLastRowNum(); for(int i=firstRowNum;i<=lastRowNum;i++){ XSSFRow row=sheet.getRow(i); int lastCellNum=row.getLastCellNum(); for(int j=0;j<lastCellNum;j++){ XSSFCell cell=row.getCell(j); String value=cell.getStringCellValue(); System.out.print(value+" "); } } }catch(IOException e){ e.printStackTrace(); } } }

转载请注明原文地址: https://www.6miu.com/read-81304.html

最新回复(0)