Java把表导出成Excel的代码
如果通过JavaBean导出Excel文件?看了这个小例子,相信你一定就明白了,虽然这个小例子写的不是太好,但是我相信只要你认识思考着看,那你一定能收获到你想要的
导成Excel的类
调用上面类的Action方法
Code
1import java.io.OutputStream;
2import java.util.List;
3
4import com.hhwl.liubei.javabean.client_javabean;
5import jxl.Workbook;
6import jxl.format.UnderlineStyle;
7import jxl.write.WritableFont;
8
9public class Excel {
10public static void writeExcel(OutputStream os,List listExcel) throws Exception {
11jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(os);
12jxl.write.WritableSheet ws = wwb.createSheet("TestSheet1", 0);
13jxl.write.Label labelC = new jxl.write.Label(0, 1, "客户分类");
14ws.addCell(labelC);
15labelC = new jxl.write.Label(1, 1, "是否重要");
16ws.addCell(labelC);
17labelC = new jxl.write.Label(2, 1, "客户类型");
18ws.addCell(labelC);
19labelC = new jxl.write.Label(3, 1, "客户名称");
20ws.addCell(labelC);
21labelC = new jxl.write.Label(4, 1, "联系日期");
22ws.addCell(labelC);
23labelC = new jxl.write.Label(5, 1, "联系人");
24ws.addCell(labelC);
25labelC = new jxl.write.Label(6, 1, "联系电话");
26ws.addCell(labelC);
27labelC = new jxl.write.Label(7, 1, "职务");
28ws.addCell(labelC);
29labelC = new jxl.write.Label(8, 1, "email");
30ws.addCell(labelC);
31labelC = new jxl.write.Label(9, 1, "添加人员");
32ws.addCell(labelC);
33for(int i=0;i<listExcel.size();i++){
34 client_javabean visiter=(client_javabean)listExcel.get(i);
35 labelC = new jxl.write.Label(0, i+2, String.valueOf(visiter.getCid()));
36 ws.addCell(labelC);
37 labelC = new jxl.write.Label(1, i+2, String.valueOf(visiter.getIsimportant()));
38 ws.addCell(labelC);
39 labelC = new jxl.write.Label(2, i+2,visiter.getCtype().toString() );
40 ws.addCell(labelC);
41 labelC = new jxl.write.Label(3, i+2, visiter.getCname());
42 ws.addCell(labelC);
43 labelC = new jxl.write.Label(4, i+2, visiter.getContact_date().toString());
44 ws.addCell(labelC);
45 labelC = new jxl.write.Label(5, i+2, visiter.getContact_people());
46 ws.addCell(labelC);
47 labelC = new jxl.write.Label(6, i+2, visiter.getContact_phone());
48 ws.addCell(labelC);
49 labelC = new jxl.write.Label(7, i+2, visiter.getCposition());
50 ws.addCell(labelC);
51 labelC = new jxl.write.Label(8, i+2, visiter.getCemail());
52 ws.addCell(labelC);
53 labelC = new jxl.write.Label(9, i+2, visiter.getInputpeople());
54 ws.addCell(labelC);
55}
56//
57jxl.write.WritableFont wfc = new jxl.write.WritableFont(
58WritableFont.ARIAL, 20, WritableFont.BOLD, false,
59UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.GREEN);
60jxl.write.WritableCellFormat wcfFC = new jxl.write.WritableCellFormat(
61wfc);
62// wcfFC.setBackground(jxl.format.Colour.RED);
63labelC = new jxl.write.Label(3, 0, "客户信息表", wcfFC);
64ws.addCell(labelC);
65//写入Exel工作表
66wwb.write();
67//关闭Excel工作薄对象
68wwb.close();
69 }
70}
1import java.io.OutputStream;
2import java.util.List;
3
4import com.hhwl.liubei.javabean.client_javabean;
5import jxl.Workbook;
6import jxl.format.UnderlineStyle;
7import jxl.write.WritableFont;
8
9public class Excel {
10public static void writeExcel(OutputStream os,List listExcel) throws Exception {
11jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(os);
12jxl.write.WritableSheet ws = wwb.createSheet("TestSheet1", 0);
13jxl.write.Label labelC = new jxl.write.Label(0, 1, "客户分类");
14ws.addCell(labelC);
15labelC = new jxl.write.Label(1, 1, "是否重要");
16ws.addCell(labelC);
17labelC = new jxl.write.Label(2, 1, "客户类型");
18ws.addCell(labelC);
19labelC = new jxl.write.Label(3, 1, "客户名称");
20ws.addCell(labelC);
21labelC = new jxl.write.Label(4, 1, "联系日期");
22ws.addCell(labelC);
23labelC = new jxl.write.Label(5, 1, "联系人");
24ws.addCell(labelC);
25labelC = new jxl.write.Label(6, 1, "联系电话");
26ws.addCell(labelC);
27labelC = new jxl.write.Label(7, 1, "职务");
28ws.addCell(labelC);
29labelC = new jxl.write.Label(8, 1, "email");
30ws.addCell(labelC);
31labelC = new jxl.write.Label(9, 1, "添加人员");
32ws.addCell(labelC);
33for(int i=0;i<listExcel.size();i++){
34 client_javabean visiter=(client_javabean)listExcel.get(i);
35 labelC = new jxl.write.Label(0, i+2, String.valueOf(visiter.getCid()));
36 ws.addCell(labelC);
37 labelC = new jxl.write.Label(1, i+2, String.valueOf(visiter.getIsimportant()));
38 ws.addCell(labelC);
39 labelC = new jxl.write.Label(2, i+2,visiter.getCtype().toString() );
40 ws.addCell(labelC);
41 labelC = new jxl.write.Label(3, i+2, visiter.getCname());
42 ws.addCell(labelC);
43 labelC = new jxl.write.Label(4, i+2, visiter.getContact_date().toString());
44 ws.addCell(labelC);
45 labelC = new jxl.write.Label(5, i+2, visiter.getContact_people());
46 ws.addCell(labelC);
47 labelC = new jxl.write.Label(6, i+2, visiter.getContact_phone());
48 ws.addCell(labelC);
49 labelC = new jxl.write.Label(7, i+2, visiter.getCposition());
50 ws.addCell(labelC);
51 labelC = new jxl.write.Label(8, i+2, visiter.getCemail());
52 ws.addCell(labelC);
53 labelC = new jxl.write.Label(9, i+2, visiter.getInputpeople());
54 ws.addCell(labelC);
55}
56//
57jxl.write.WritableFont wfc = new jxl.write.WritableFont(
58WritableFont.ARIAL, 20, WritableFont.BOLD, false,
59UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.GREEN);
60jxl.write.WritableCellFormat wcfFC = new jxl.write.WritableCellFormat(
61wfc);
62// wcfFC.setBackground(jxl.format.Colour.RED);
63labelC = new jxl.write.Label(3, 0, "客户信息表", wcfFC);
64ws.addCell(labelC);
65//写入Exel工作表
66wwb.write();
67//关闭Excel工作薄对象
68wwb.close();
69 }
70}
调用上面类的Action方法
Code
// 导出Excel
public ActionForward getExcel(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
List clients=(List)request.getSession().getAttribute("clients");
Excel ex=new Excel();
File f = new File("d:\\clientManage.xls");
try {
f.createNewFile();
} catch (IOException e1) {
e1.printStackTrace();
}
if (clients == null) {
clients = new ArrayList();
} else {
client_javabean ab = new client_javabean();
try {
ex.writeExcel(new FileOutputStream(f), clients);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
return mapping.findForward("get");
}
// 导出Excel
public ActionForward getExcel(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
List clients=(List)request.getSession().getAttribute("clients");
Excel ex=new Excel();
File f = new File("d:\\clientManage.xls");
try {
f.createNewFile();
} catch (IOException e1) {
e1.printStackTrace();
}
if (clients == null) {
clients = new ArrayList();
} else {
client_javabean ab = new client_javabean();
try {
ex.writeExcel(new FileOutputStream(f), clients);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
return mapping.findForward("get");
}