关于POI导入导出Excel

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hellogbaby/article/details/72991291

1. 官方下载:http://poi.apache.org/download.html这里可以下载到它的最新版本和文档

2.  POI有很多组件组成,其中有用于操作Excel格式文件的HSSF和用于操作Word的HWPF,对于Excel表格的操作,首先需要清楚表格的对象。

HSSFWorkbook  Excel的文档对象 、HSSFSheet 表单对象、HSSFRow 行对象、HSSFFont 字体对象、HSSFDataFormat 日期格式、 HSSFHeader 表单头、HSSFFooter 表单尾 HSSFCellStyle 单元格样式

3. 使用程序写出一个带有数据的Excel表格-->

a.首先创建一个文档对象HSSFWorkbook HSSFWorkbook wkb = new HSSFWorkbook();  

b.使用文档对象建立新的sheet对象 HSSFSheet sheet = wkb.createSheet("成绩表");

c.在sheet中创建第一行,参数为行的索引,数字可以在0~65535之间 HSSFRow row1 = sheet.createRow(0);

d.创建单元格对象,索引为列索引,数字可以在0~255之间 HSSFCell cell = row1.createCell(0);

e.接下来设置单元格的内容:cell.setCellValue("学员考试成绩一览表");这是在第一个单元格中写入一段中文。

f.row1.createCell(0).setCellValue("姓名");
row1.createCell(1).setCellValue("班级");
row1.createCell(2).setCellValue("笔试成绩");
row1.createCell(3).setCellValue("机试成绩");

     创建一个单元格,并设置单元格内容。

  g. 输出整个Excel

  FileOutputStream output=new FileOutputStream("d:\\workbook.xls");  
wkb.write(output);  
output.flush();

在写入数据的过程中,有时候会需要合并单元格,这时候需要使用CellRangeAddress对象来解决,sheet.addMergedRegion(new CellRangeAddress(0, 0, 0, 3));

构造函数的参数一次表示起始行、截至行、起始列、截至列; 0,0,0,3代表第一行前四个单元格合并为一个单元格。

4.使用程序读取一个已有的Excel表格里面的数据--->

a.定义一个输入流,写入表格路径。FileInputStream fileIn = new FileInputStream(xlsPath);

b.定义Workbook对象,Workbook wb0 = new HSSFWorkbook(fileIn);

c.获取Excel表格的第一个表单,Sheet sht0 = wb0.getSheetAt(0);

d.对表单中的每一行进行迭代,for (Row r : sht0)    可以选择跳过某一行  if (r.getRowNum() < 1) {continue;}

e.接下来就是创建一个实体类对象接受读取的数据,使用getStringCellValue()  可以读取单元格中的String类型的数据  info.setStuName(r.getCell(0).getStringCellValue());

    如果单元格中是数字类型,则需要转换一下格式r.getCell(2).setCellType(Cell.CELL_TYPE_STRING);  info.setRscore(r.getCell(2).getStringCellValue()); 变成String类型    读取出来。



猜你喜欢

转载自blog.csdn.net/hellogbaby/article/details/72991291