package com.imooc.excel;
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 java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
/**
* @program: excel_poi
* @Author: Ms.Cao
* @Description:
* POI生成excel文件
* 创建excel写入数据
*/
public class PoiExpExcel {
public static void main(String[] args) {
//定义数组,excel的表头
String[] title = {"id","name","sex"};
//创建Excel工作簿
HSSFWorkbook workbook =new HSSFWorkbook();
//创建一个工作表sheet
HSSFSheet sheet = workbook.createSheet();
//创建第一行
HSSFRow row = sheet.createRow(0);
HSSFCell cell =null;
//插入第一行数据,id,name,sex
for (int i =0; i < title.length; i++) {
cell = row.createCell(i);
cell.setCellValue(title[i]);
}
//追加数据
for (int i =1; i <=10; i++) {
HSSFRow nextrow = sheet.createRow(i);
HSSFCell cell2 = nextrow.createCell(0);
cell2.setCellValue("a" + i);
cell2 = nextrow.createCell(1);
cell2.setCellValue("user" + i);
cell2 = nextrow.createCell(2);
cell2.setCellValue("男");
}
//创建文件
File file =new File("E:\\poi_test.xls");
try{
file.createNewFile();
//将excel文件内容保存
FileOutputStream stream = FileUtils.openOutputStream(file);
//写入到此文件中
workbook.write(stream);
//关闭
stream.close();
}catch (IOException e){
e.printStackTrace();
}
}
}
package com.imooc.excel;
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 java.io.File;
import java.io.IOException;
/**
* @program: excel_poi
* @Author: Ms.Cao
* @Description:
* POI解析excel文件(读取)
* 两种方式来读取工作表
*/
public class poiReadExcel {
public static void main(String[] args) {
//引入需要解析的excel文件
File file =new File("E:\\poi_test.xls");
try{
//创建Excel,读取文件内容
HSSFWorkbook workbook =new HSSFWorkbook(FileUtils.openInputStream(file));
//获取第一个工作表workbook.getSheet("sheet0");(方式一)
// HSSFSheet sheet = workbook.getSheet("Sheet0");
//读取默认第一个工作表sheet(方式二)
HSSFSheet sheet = workbook.getSheetAt(0);
//读取工作表中的数据
int firstRowNum =0;
//获取sheet中最后一行行号
int lastRowNum = sheet.getLastRowNum();
for (int i = firstRowNum; i <= lastRowNum; i++) {
HSSFRow row = sheet.getRow(i);
//获取当前行最后单元格的列号
int lastCellNum = row.getLastCellNum();
for (int j =0; j < lastCellNum; j++) {
//读取cell
HSSFCell cell = row.getCell(j);
//定义value,读取值
String value= cell.getStringCellValue();
System.out.print(value +" ");
}
System.out.println();
}
}catch (IOException e){
e.printStackTrace();
}
}
}
小测试一枚,学习JAVA中,记录点滴。。。