java POI操作excel

来源:互联网 发布:世界销售网络分布图 编辑:程序博客网 时间:2024/05/18 01:56

创建excel工作薄方法

HSSFWorkbook workbook = new HSSFWorkbook();

创建sheet

HSSFSheet sheet = workbook.createSheet();
给sheet设置名称,这里需要注意的是中文需要转码。第一个参数是给第几个sheet设置,第二个是名称,第三个是编码。sheet的起始位置跟我们java中list是一样的,都是 从0开始
workbook.setSheetName(0, "测试使用", HSSFCell.ENCODING_UTF_16);

创建一行,一列

HSSFRow row = sheet.createRow(0);
HSSFCell cell = row.createCell((short) 0);

获取row行数,cell列数

sheet.getPhysicalNumberOfRows();//获取总行数
<pre name="code" class="java">int cellLen = row.getPhysicalNumberOfCells();//获取总列数

将内容填入excel方法

out = new FileOutputStream(new File("D:\\test.xls"));workbook.write(out);

读取excel中的内容

InputStream io = new FileInputStream(new File(inputFile));try {HSSFWorkbook workbook = new HSSFWorkbook(io);HSSFSheet sheet = workbook.getSheetAt(0);int len = sheet.getPhysicalNumberOfRows();//获取总行数List list = new ArrayList();HSSFRow headrRow = sheet.getRow(0);for (int i = 0; i < headrRow.getLastCellNum(); i++) {String col = headrRow.getCell((short) i).getStringCellValue();String claName = Person.class.getDeclaredField(col).getType().getName();list.add(claName);}for (int i = 1; i <= len; i++) {HSSFRow row = sheet.getRow(i);int cellLen = row.getPhysicalNumberOfCells();//获取总列数for (int j = 0; j < cellLen; j++) {switch (list.get(j).toString()) {case "java.lang.String":System.out.print(row.getCell((short) j).getStringCellValue());System.out.print("  ");break;case "int":System.out.print((int) row.getCell((short) j).getNumericCellValue());System.out.print("  ");break;case "long":System.out.print((long) row.getCell((short) j).getNumericCellValue());System.out.print("  ");break;case "boolean":System.out.print(row.getCell((short) j).getBooleanCellValue());System.out.print("  ");break;case "short":System.out.print((short) row.getCell((short) j).getNumericCellValue());System.out.print("  ");break;case "double":System.out.print(row.getCell((short) j).getNumericCellValue());System.out.print("  ");break;case "java.util.Date":System.out.print(row.getCell((short) j).getDateCellValue().toLocaleString());System.out.print("  ");break;}}System.out.println();}} finally {io.close();}



0 0
原创粉丝点击