jxl-03、poi-07、easyexcel
需要导入jar包
创建excel文件,写入
public static void main(String[] args) {
try {
//创建一个工作簿excel文件,指定一个文件路径和名称
WritableWorkbook workbook = Workbook.createWorkbook(new File("E:\\java\\temp\\学生信息.xls"));
//创建一个工作表sheet,指定表格名称和序号,第一个表格序号0
WritableSheet sheet = workbook.createSheet("学生信息列表", 0);
/*
//创建一个单元格对象cell,该单元格位于表格中的第一行第一列,内容是“学生编号”,第一行第一列都是从0开始
Label cell = new Label(0,0,"学生编号");
//把单元格添加到表格中
sheet.addCell(cell);
sheet.addCell(new Label(1,0,"学生姓名"));
sheet.addCell(new Label(2,0,"学生性别"));
sheet.addCell(new Label(3,0,"学生年龄"));
sheet.addCell(new Label(4,0,"学生生日"));
sheet.addCell(new Label(5,0,"创建时间"));
*/
//excel表格的标头内容
String[] title = {"学生编号","学生姓名","学生性别","学生年龄","学生生日","创建时间"};
for (int i=0;i<title.length;i++){
sheet.addCell(new Label(i,0,title[i]));
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//随机数
Random r = new Random();
int age;
//输入一百条信息
for (int i=1;i<=65535;i++){
sheet.addCell(new Label(0,i,String.valueOf(i)));
sheet.addCell(new Label(1,i,"张三"+i));
sheet.addCell(new Label(2,i,r.nextInt(2)==1?"男":"女"));
age = r.nextInt(10)+20;
sheet.addCell(new Label(3,i,String.valueOf(age)));
sheet.addCell(new Label(4,i,sdf.format(new Date())));
sheet.addCell(new Label(5,i,sdf2.format(new Date())));
}
//写入到工作簿
workbook.write();
//关闭工作簿
workbook.close();
} catch (IOException e) {
e.printStackTrace();
} catch (RowsExceededException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
}
}
读取
public static void main(String[] args) {
try {
//从指定文件路径中读取工作簿内容
Workbook workbook = Workbook.getWorkbook(new File("E:\\java\\temp\\学生信息.xls"));
//获取第一个工作表,序号从0开始
Sheet sheet = workbook.getSheet(0);
//根据单元格的行号和列好获取单元格对象
// Cell cell = sheet.getCell(0, i);
// 获取单元格内容
// System.out.print(sheet.getContents());
for (int row=1;row<sheet.getRows();row++){
for (int col=0;col<sheet.getColumns();col++){
System.out.print(sheet.getCell(col,row).getContents()+"\t");
}
System.out.println();
}
} catch (IOException e) {
e.printStackTrace();
} catch (BiffException e) {
e.printStackTrace();
}
}