java实现导出excel表_java实现导出excel表

SpringMvc Contorller @SuppressWarnings("resource")@RequestMapping("/exportDailyExcel")public void exportDailyExcel(HttpServletRequest request,HttpServletResponse response){HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet she

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);

//   第五步,写入实体数据 实际应用中这些数据从数据库得到,java操作Excel主要有两种方式,JXL和POI,在这儿我们并不去讨论两者孰优孰劣,读者暂且知道有这两种方式就好了。java对于Excel的操作内容主要有:创建(工作簿 / 电子表 /  单元格)、修改(样式 / 数值 )基本上已经能满足日常开发工作的大部份了。若要了解

List list=ExperotExcel.getStudent();

for(int i=0;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 getStudent() throws Exception

{

List stuList=new ArrayList();

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来结束

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值