jxl例子
利用JXL导出EXCEL的简单实例<%@ page pageEncoding="gbk" %>
<%@ include file="/sys-adm.jsp" %>
<%@ page language="java" contentType="text/html; charset=GBK" %><%@ page import="java.util.*" %>
<%@ page import="javax.jdo.*" %><%@ page import="java.io.OutputStream" %>
<%@ page import="cn.com.pconline.play.*" %>
<%@ page import="cn.com.pconline.play.util.*" %>
<%@ page import="jxl.Workbook" %>
<%@ page import="jxl.write.WritableCellFormat" %>
<%@ page import="jxl.write.WritableSheet" %>
<%@ page import="jxl.write.WritableWorkbook" %>
<%@ page import="jxl.write.WriteException" %>
<%@ page import="java.text.SimpleDateFormat" %>
<% List result = PlayService.xlsMembers();//
一个简单的方法,列出Member类的所有实例// 设置资源头信息
response.reset();
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-Disposition", "filename=Member.xls");//attachment// WritableWorkbook是JexcelApi的一个类。
// 以下可以理解为创建一个excel文件,然后在excel里面创建一个表
OutputStream os = response.getOutputStream();
//取得输出流
WritableWorkbook workbook = Workbook.createWorkbook(os);
WritableSheet sheet = workbook.createSheet("First Sheet", 0);
// 组织excel文件的内容
jxl.write.Label label = null;
int excelCol = 0;
int row = 0;
try {
label = new jxl.write.Label(excelCol++, row, "帐号");
sheet.addCell(label);
label = new jxl.write.Label(excelCol++, row, "姓名");
sheet.addCell(label);
label = new jxl.write.Label(excelCol++, row, "身份证");
sheet.addCell(label);
label = new jxl.write.Label(excelCol++, row, "联系电话");
sheet.addCell(label);
label = new jxl.write.Label(excelCol++, row, "生日");
sheet.addCell(label);
label = new jxl.write.Label(excelCol++, row, "城市");
sheet.addCell(label);
label = new jxl.write.Label(excelCol++, row, "职业");
sheet.addCell(label);
label = new jxl.write.Label(excelCol++, row, "已购音箱型号");
sheet.addCell(label);
label = new jxl.write.Label(excelCol++, row, "试听与否");
sheet.addCell(label);
label = new jxl.write.Label(excelCol++, row, "邮箱");
sheet.addCell(label);
label = new jxl.write.Label(excelCol, row, "注册时间");
sheet.addCell(label);
//jxl.write.Number number = null;
jxl.write.DateTime dateTime;
jxl.write.DateFormat customDateFormat = new jxl.write.DateFormat("yyyy-MM-dd");//时间格式
WritableCellFormat dateFormat = new WritableCellFormat(customDateFormat); for(int i=0;i<result.size();i++){
Member rr = (Member) result.get(i);
excelCol = 0;
row = i + 1; SimpleDateFormat formatDate = new SimpleDateFormat("yyyy-MM-dd"); label = new jxl.write.Label(excelCol++, row, rr.getLogin());
sheet.addCell(label); label = new jxl.write.Label(excelCol++, row, rr.getName());
sheet.addCell(label); label = new jxl.write.Label(excelCol++, row, rr.getIdcard());
sheet.addCell(label); label = new jxl.write.Label(excelCol++, row, rr.getPhone());
sheet.addCell(label); /*字串格式*/
try{
label = new jxl.write.Label(excelCol++, row, formatDate.format(rr.getBirth()));
sheet.addCell(label);
}catch (Exception e){
//Maybe somebody fogot to input his birthday ,I need do nothing here!
} label = new jxl.write.Label(excelCol++, row, rr.getAddress());
sheet.addCell(label); label = new jxl.write.Label(excelCol++, row, rr.getSerialNumber());
sheet.addCell(label); label = new jxl.write.Label(excelCol++, row, rr.getType());
sheet.addCell(label); label = new jxl.write.Label(excelCol++, row, rr.getDeclaration());
sheet.addCell(label); label = new jxl.write.Label(excelCol++, row, rr.getEmail());
sheet.addCell(label); /*时间格式*/
dateTime = new jxl.write.DateTime(excelCol, row, rr.getCreateTime(), dateFormat);
sheet.addCell(dateTime); //label = new jxl.write.Label(excelCol, row, formatDate.format(rr.getCreateTime()));
//sheet.addCell(label);
}
} catch (Exception e) {
e.printStackTrace();
} finally{
// 生成excel文件
workbook.write();
workbook.close();
os.close();
}
%>
-----------------------
页:
[1]