Poi简单实现Excel的导出导入功能
最近项目用到了有关Excel的导入导出功能,之前也没有使用过,简单的写一下基本用法(小白阶段有写错的还望大神们指教,小弟先谢过了!):
步骤思想:
(ps:在使用Poi时首先要导入poi.jar包,相关的jar包可直接度娘有很多,这里就不贴下载地址了,然后下面的例子还导入了Commons项目中用来处理IO的一些工具类包commons-io.jar)
导出Excel:
1.创建一个工作簿workbook;
2.创建一个sheet;
3.创建row
4.为每一行(row)的cell赋值
Example:
String[] title = {"id","name","sex"};
HSSFWorkbook workbook = new HSSFWorkbook();
//创建一个sheet
HSSFSheet sheet = workbook.createSheet("poiExpExcel");
//创建第一行title
HSSFRow row = sheet.createRow(0);
HSSFCell cell = null;
//为title赋值
for (int i = 0; i < title.length; i++) {
cell = row.createCell(i);
cell.setCellValue(title[i]);
}
//为content 赋值
for (int i = 1; i < 5; i++) {
//创建第i行
HSSFRow row2 = sheet.createRow(i);
//为第i行的第一列赋值
HSSFCell cell2 = row2.createCell(0);
cell2.setCellValue("id"+i);
//为第i行的第二列赋值
cell2 = row2.createCell(1);
cell2.setCellValue("user"+i);
//为第i行的第三列赋值
cell2 = row2.createCell(2);
cell2.setCellValue("男");
}
//创建一个文件
File file = new File("d:/test.xls");
try {
file.createNewFile();
//将excel存盘(commons-io.jar)
FileOutputStream stream = FileUtils.openOutputStream(file);
workbook.write(stream);
stream.close();
} catch (Exception e) {
e.printStackTrace();
}
效果如下:
导入Excel步骤:
导入Excel的步骤与导出Excel步骤大致一致,只需要用“Get..”相关方法来一一获取每个Cell的信息即可。
代码如下:
//获取xls文件
File file = new File("d:/test.xls");
try {
//获取工作簿
HSSFWorkbook workbook =
new HSSFWorkbook(FileUtils.openInputStream(file));
//获取sheet
//HSSFSheet sheet = workbook.getSheet("PoiExpExcel");
//获取工作簿,默认为第一页
HSSFSheet sheet = workbook.getSheetAt(0);
int fristRowNum = 0;
//获取有多上行
int lastRowNum = sheet.getLastRowNum();
for (int i = fristRowNum; i <= lastRowNum; i++) {
//获取第i行
HSSFRow nextRow = sheet.getRow(i);
//判断每行有多少列
int cellNum = nextRow.getLastCellNum();
for (int j = 0; j < cellNum; j++) {
//获取第i行第j列的值
HSSFCell cell = nextRow.getCell(j);
System.out.print(cell.toString()+" ");
}
System.out.println();
}
} catch (IOException e) {
e.printStackTrace();
}
效果如下:
Poi 使用的还不是很熟悉,只会用基本的方法,小白阶段,相关方法还需探究。