`
limingcai
  • 浏览: 110506 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

java实现导出excel表

    博客分类:
  • JAVA
 
阅读更多
package com.experot;

import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFCellStyle;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

public class ExperotExcel {

/**
* @param args
* @throws ParseException
* @throws IOException
*/
@SuppressWarnings({ "deprecation", "unchecked" })
public static void main(String[] args) throws  Exception {

//第一步,创建一个webbook,对应一个Excel文件
HSSFWorkbook wb=new HSSFWorkbook();
//第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
HSSFSheet sheet=wb.createSheet("当日业务报表");
//第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
HSSFRow row=sheet.createRow((short)0);
//第四步,创建单元格,并设置值表头  设置表头居中
HSSFCellStyle style=wb.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);  //创建一个居中格式
HSSFCell cell=row.createCell((short)0);
cell.setCellValue("学号");cell.setCellStyle(style);
cell=row.createCell((short)1);
cell.setCellValue("姓名"); cell.setCellStyle(style);
cell=row.createCell((short)2);
cell.setCellValue("年龄");cell.setCellStyle(style);
cell=row.createCell((short)3);
cell.setCellValue("出生日期"); cell.setCellStyle(style);

   //   第五步,写入实体数据 实际应用中这些数据从数据库得到,
List list=ExperotExcel.getStudent();
for(int i=0;i<list.size();i++)
{
row=sheet.createRow((int)(i+1));// 创建行的数据
Student student=(Student)list.get(i);
// 第四步,创建单元格,并设置值表头 的值
// HSSFCell cell1=row.createCell((short)0);

cell=row.createCell((short)0);
cell.setCellValue((int)student.getId());
cell=row.createCell((short)1);
cell.setCellValue((String)student.getName());
cell=row.createCell((short)2);
cell.setCellValue((int)student.getAge());
cell=row.createCell((short)3);
cell.setCellValue(new SimpleDateFormat("yyyy-mm-dd").format(student.getBirth()));

//         row = sheet.createRow((int)i+1);
//            Student stu = (Student) list.get(i);
//            //第四步,创建单元格,并设置值
//            row.createCell((short)0).setCellValue((double)stu.getId());
//            row.createCell((short)1).setCellValue(stu.getName());
//            row.createCell((short)2).setCellValue((double)stu.getAge());
//            cell = row.createCell((short)3);
//            cell.setCellValue(new SimpleDateFormat("yyyy-mm-dd").format(stu.getBirth()));
      
}
try {
FileOutputStream outputStream=new FileOutputStream("E:/student.xls");
wb.write(outputStream);
outputStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}

}


@SuppressWarnings("unchecked")
public static  List<Student> getStudent() throws Exception
{
List stuList=new ArrayList<Student>();
SimpleDateFormat df=new SimpleDateFormat("yyyy-mm-dd");

Student student1=new Student(1,"张三",18,df.parse("1987-12-25"));
Student student2=new Student(2,"李四",19,df.parse("1997-01-25"));
Student student3=new Student(3,"王五",20,df.parse("1907-01-25"));
Student student4=new Student(4,"二师兄",21,df.parse("1977-12-25"));
stuList.add(student1);
stuList.add(student2);
stuList.add(student3);
stuList.add(student4);
return stuList;
}
}


/////
循环里两种都可以用,
这里是每列的创建,上面是为了简写,才写在row,到最后才用cell来结束
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics