首页 > 代码库 > ExcelUtil以及导出
ExcelUtil以及导出
工具 ExcelUtil
【
package com.bjsxt.util;
import java.io.FileOutputStream;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import javax.naming.spi.DirStateFactory.Result;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import com.bjsxt.po.Teacher;
/**
*
* @author zhai
*excel_test<---->com.bjsxt.util
*2014-10-23上午12:27:18 Verson-1.0
*/
public class ExcelUtil {
//需要添加标题, fields 代表User类的属性, list 代表数据
public static void write(String[] titleString, String[] fields , List list) throws Exception{
//声明
HSSFWorkbook workbook=new HSSFWorkbook();
//建立excel 和标题(主键)
HSSFSheet sheet=workbook.createSheet();
HSSFRow title = sheet.createRow(0);
for(int i=0; i<titleString.length;i++){
//遍历标题的行列
title.createCell(i).setCellValue(titleString[i]);
}
//声明受影响的行数
int count =1;
for(Iterator iterator=list.iterator(); iterator.hasNext();){
//放置一个动态的数据 reflect
Object obj=iterator.next();
//创建一个row
HSSFRow row= sheet.createRow(count++);
//获取dynamic 数据(通用的)
Class cc= obj.getClass();
//获取用户属性
for(int i=0; i<fields.length; i++){
String fileName = fields[i]; // id getId name getName
//获取用户类型属性
Field filed = cc.getDeclaredField(fileName);
Class type = filed.getType();
//获取方法 和方法名
String methodName= "get"+fileName.substring(0,1).toUpperCase()+fileName.substring(1);
Method method= cc.getDeclaredMethod(methodName);
Object invoke = method.invoke(obj);
if("Integer".equals(type.getSimpleName())){
row.createCell(i).setCellValue((Integer)invoke);
}else if( "String".equals(type.getSimpleName())){
row.createCell(i).setCellValue((String)invoke);
}else{
row.createCell(i).setCellValue("请检查数据或书写格式~-~");
}
}
FileOutputStream stream=new FileOutputStream("c:/zsf.xls");
workbook.write(stream);
stream.close();
}
}
public static void main(String[] args) throws Exception {
List<Teacher> list= new ArrayList<Teacher>();
for(int i=0; i<30;i++){
list.add(new Teacher(i, "laoliang", "5888"));
}
//对用的键值对
String[] tiString={"主键","姓名","薪水"};
String[] fields={"id", "name","salary"};
ExcelUtil.write(tiString, fields, list);
}
}
】
测试
【
package com.bjsxt;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
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;
public class Test {
public static void main(String[] args) throws IOException {
HSSFWorkbook workbook =new HSSFWorkbook();
//创建表格
HSSFSheet sheet=workbook.createSheet();
//创建 行 列
HSSFRow row = sheet.createRow(0);
HSSFCell cell = row.createCell(0);
//写入资料
cell.setCellValue("zhaisong88");
//输出到文件
FileOutputStream stream =new FileOutputStream("c:/zsf.xls");
workbook.write(stream);
System.out.println("OK");
}
}
】
ExcelUtil以及导出
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。