jxl 实例
来源:互联网 发布:淘宝好评返现不返钱 编辑:程序博客网 时间:2024/05/24 06:13
package com;
import java.io.File;
import java.text.DateFormat;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jxl.Workbook;
import jxl.format.Alignment;
import jxl.format.Border;
import jxl.format.BorderLineStyle;
import jxl.format.Colour;
import jxl.format.UnderlineStyle;
import jxl.format.VerticalAlignment;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
import com.ctdw.zk.utils.Global;
import com.ctdw.zk.utils.GlobalInitParam;
import com.sun.j2ee.blueprints.util.dao.DAONoRecordException;
import com.sun.j2ee.blueprints.util.dao.DBUtil;
public class WjqkAndKdxxAction extends DispatchAction{
public ActionForward exportExcel1(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest request,
HttpServletResponse response) {
String kslbdm = (String)request.getSession().getAttribute(Global.kslbdmCurrent);
String ksq = (String)request.getSession().getAttribute(Global.ksqCurrent);
String qxdm = (String)request.getSession().getAttribute("GROUPID");
//取数据
String sql = "";
List list = null;
try{
DBUtil dbUtil = new DBUtil();
list = dbUtil.selectMapList(sql);
}catch(DAONoRecordException e){
}catch(Exception e){
e.printStackTrace();
}
String fileName = "";
String filePath = "/guanli/download/wjqkAndKdxxExcel/";
File file = new File(String.valueOf(request.getRealPath("/"))
+ filePath);
if (!file.exists()) {
file.mkdirs();
}
fileName = "wjqkAndKdxx_1_"+nowTimeName() + ".xls";
filePath = String.valueOf(request.getRealPath("/")) + filePath
+ fileName;
try {
// 创建一个可写入的excel文件对象
WritableWorkbook workbook = Workbook.createWorkbook(new File(
filePath));
// 使用第一张工作表
WritableSheet sheet = workbook.createSheet("考试考场情况", 0);
WritableFont font = new WritableFont(WritableFont.ARIAL,12,WritableFont.BOLD,false,UnderlineStyle.NO_UNDERLINE, Colour.BLACK);
WritableCellFormat styleTitle = new WritableCellFormat(font);
styleTitle.setAlignment(Alignment.CENTRE);
styleTitle.setVerticalAlignment(VerticalAlignment.CENTRE);
styleTitle.setBorder(Border.NONE, BorderLineStyle.THIN);
styleTitle.setWrap(true);
font = new WritableFont(WritableFont.ARIAL,10,WritableFont.NO_BOLD,false,UnderlineStyle.NO_UNDERLINE, Colour.BLACK);
WritableCellFormat styleHead = new WritableCellFormat(font);
styleHead.setAlignment(Alignment.LEFT);
styleHead.setVerticalAlignment(VerticalAlignment.CENTRE);
styleHead.setBorder(Border.NONE, BorderLineStyle.THIN);
styleHead.setWrap(true);
font = new WritableFont(WritableFont.ARIAL,10,WritableFont.BOLD,false,UnderlineStyle.NO_UNDERLINE, Colour.BLACK);
WritableCellFormat styleCellT = new WritableCellFormat(font);
styleCellT.setAlignment(Alignment.CENTRE);
styleCellT.setVerticalAlignment(VerticalAlignment.CENTRE);
styleCellT.setBorder(Border.ALL, BorderLineStyle.THIN);
styleCellT.setWrap(true);
font = new WritableFont(WritableFont.ARIAL,10,WritableFont.NO_BOLD,false,UnderlineStyle.NO_UNDERLINE, Colour.BLACK);
WritableCellFormat styleCell = new WritableCellFormat(font);
styleCell.setAlignment(Alignment.CENTRE);
styleCell.setVerticalAlignment(VerticalAlignment.CENTRE);
styleCell.setBorder(Border.ALL, BorderLineStyle.THIN);
styleCell.setWrap(true);
font = new WritableFont(WritableFont.ARIAL,10,WritableFont.NO_BOLD,false,UnderlineStyle.NO_UNDERLINE, Colour.BLACK);
WritableCellFormat styleCellR = new WritableCellFormat(font);
styleCellR.setAlignment(Alignment.RIGHT);
styleCellR.setVerticalAlignment(VerticalAlignment.CENTRE);
styleCellR.setBorder(Border.ALL, BorderLineStyle.THIN);
styleCellR.setWrap(true);
for(int j = 2;j<11;j++){
sheet.setColumnView(j,7);
}
sheet.mergeCells(0,0,10,0);
sheet.setRowView(0,1000);
sheet.addCell(new Label(0,0,"20"+ksq.substring(0,2)+"年"+ksq.substring(2,4)+"月自学考试考场情况",styleTitle));
DecimalFormat df1=new DecimalFormat("####.00");
if(list != null ){
int listSize = list.size();
int row = 1;
int col = 0;
Map map = null;
String kssj = "";
String ksdydm = "";
String kcdm = "";
String kcmc = "";
String bprs = "";//编排人数
String kch = "";
int kcrs = 0;//考场人数
int sdrs = 0;//实到人数
int qkrs = 0;//缺考人数
int sum_kcrs = 0;
int sum_sdrs = 0;
int sum_qkrs = 0;
for(int i = 0; i<listSize;i++){
map = (Map)list.get(i);
kssj = String.valueOf(map.get("考试时间"));
ksdydm = String.valueOf(map.get("考试单元"));
kcdm = String.valueOf(map.get("课程代码"));
kcmc = String.valueOf(map.get("课程名称"));
bprs = String.valueOf(map.get("编排人数"));
kch = String.valueOf(map.get("考场号"));
kcrs = Integer.parseInt(String.valueOf(map.get("考场人数")));
sdrs = Integer.parseInt(String.valueOf(map.get("实考人数")));
qkrs = Integer.parseInt(String.valueOf(map.get("缺考人数")));
if(map.get("考试类别代码") != null){
if(i != 0){
for(int m =col%10 + 1;m<=10 && col != 10;m++){
sheet.addCell(new Label(m,row,"",styleCellT));
sheet.addCell(new Label(m,row+1,"",styleCell));
}
row = row + 2;
sheet.setRowView(row,300);
sheet.mergeCells(0,row,1,row);
sheet.addCell(new Label(0,row,"应考人数:" + String.valueOf(sum_kcrs),styleHead));
sheet.mergeCells(2,row,4,row);
sheet.addCell(new Label(2,row,"实到人数:"+ String.valueOf(sum_sdrs),styleHead));
sheet.mergeCells(5,row,7,row);
sheet.addCell(new Label(5,row,"缺考率:"+ String.valueOf(df1.format((double)sum_qkrs/(double)sum_kcrs * 100))+"%",styleHead));
sum_kcrs = 0;
sum_sdrs = 0;
sum_qkrs = 0;
row = row + 2;
sheet.setRowView(row-1,300);
sheet.setRowView(row,300);
}
sheet.setRowView(row,300);
sheet.mergeCells(0,row,3,row);
sheet.addCell(new Label(0,row,"时间:"+kssj,styleHead));
sheet.mergeCells(4,row,6,row);
sheet.addCell(new Label(4,row,"单元:"+ksdydm.toUpperCase(),styleHead));
++row;
sheet.setRowView(row,300);
sheet.mergeCells(0,row,1,row);
sheet.addCell(new Label(0,row,"课程代码:"+kcdm,styleHead));
sheet.mergeCells(2,row,7,row);
sheet.addCell(new Label(2,row,"课程名称:"+kcmc,styleHead));
sheet.mergeCells(8,row,10,row);
sheet.addCell(new Label(8,row,"考场设置人数:"+bprs,styleHead));
++row;
col = 0;
}
sheet.setRowView(row,300);
if((col + 1) % 10 == 1){
sheet.addCell(new Label(0,row,"考场号",styleCellT));
sheet.addCell(new Label(0,row+1,"实到人数",styleCellT));
}
sheet.addCell(new Label(1+ (col%10),row,kch,styleCellT));
sheet.addCell(new Label(1+ (col%10),row+1,String.valueOf(sdrs),styleCellR));
if(((col + 1) % 10 == 0)){
row = row + 2;
}
sheet.setRowView(row,300);
sum_kcrs = sum_kcrs +kcrs;
sum_qkrs = sum_qkrs + qkrs;
sum_sdrs = sum_sdrs + sdrs;
col++;
if(i == listSize-1){
for(int m =col%10 + 1;m<=10 && col != 10;m++){
sheet.addCell(new Label(m,row,"",styleCellT));
sheet.addCell(new Label(m,row+1,"",styleCell));
}
sheet.setRowView(row,300);
sheet.mergeCells(0,row,1,row);
sheet.addCell(new Label(0,row,"应考人数:" + String.valueOf(sum_kcrs),styleHead));
sheet.mergeCells(2,row,4,row);
sheet.addCell(new Label(2,row,"实到人数:"+ String.valueOf(sum_sdrs),styleHead));
sheet.mergeCells(5,row,7,row);
sheet.addCell(new Label(5,row,"缺考率:"+ String.valueOf(df1.format((double)sum_qkrs/(double)sum_kcrs * 100))+"%",styleHead));
sum_kcrs = 0;
sum_sdrs = 0;
sum_qkrs = 0;
}
}
}
workbook.write();
workbook.close();
} catch (Exception e) {
System.out.println(e);
}
filePath = request.getRealPath("//guanli//download//wjqkAndKdxxExcel//")+"//";
request.setAttribute("filePath", filePath);
request.setAttribute("fileName", fileName);
return actionMapping.findForward("wjqkAndKdxx_download_forward");
}
public String s_cl(String s) {
if (s == null || s.equals("null")) {
s = "";
return s;
}
return s;
}
public static String nowTimeName() {
String s = null;
DateFormat dateFormat = new SimpleDateFormat("yyyyMMddkkmmsss");
s = dateFormat.format(new Date());
return s;
}
}
import java.io.File;
import java.text.DateFormat;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import jxl.Workbook;
import jxl.format.Alignment;
import jxl.format.Border;
import jxl.format.BorderLineStyle;
import jxl.format.Colour;
import jxl.format.UnderlineStyle;
import jxl.format.VerticalAlignment;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
import com.ctdw.zk.utils.Global;
import com.ctdw.zk.utils.GlobalInitParam;
import com.sun.j2ee.blueprints.util.dao.DAONoRecordException;
import com.sun.j2ee.blueprints.util.dao.DBUtil;
public class WjqkAndKdxxAction extends DispatchAction{
public ActionForward exportExcel1(ActionMapping actionMapping,
ActionForm actionForm, HttpServletRequest request,
HttpServletResponse response) {
String kslbdm = (String)request.getSession().getAttribute(Global.kslbdmCurrent);
String ksq = (String)request.getSession().getAttribute(Global.ksqCurrent);
String qxdm = (String)request.getSession().getAttribute("GROUPID");
//取数据
String sql = "";
List list = null;
try{
DBUtil dbUtil = new DBUtil();
list = dbUtil.selectMapList(sql);
}catch(DAONoRecordException e){
}catch(Exception e){
e.printStackTrace();
}
String fileName = "";
String filePath = "/guanli/download/wjqkAndKdxxExcel/";
File file = new File(String.valueOf(request.getRealPath("/"))
+ filePath);
if (!file.exists()) {
file.mkdirs();
}
fileName = "wjqkAndKdxx_1_"+nowTimeName() + ".xls";
filePath = String.valueOf(request.getRealPath("/")) + filePath
+ fileName;
try {
// 创建一个可写入的excel文件对象
WritableWorkbook workbook = Workbook.createWorkbook(new File(
filePath));
// 使用第一张工作表
WritableSheet sheet = workbook.createSheet("考试考场情况", 0);
WritableFont font = new WritableFont(WritableFont.ARIAL,12,WritableFont.BOLD,false,UnderlineStyle.NO_UNDERLINE, Colour.BLACK);
WritableCellFormat styleTitle = new WritableCellFormat(font);
styleTitle.setAlignment(Alignment.CENTRE);
styleTitle.setVerticalAlignment(VerticalAlignment.CENTRE);
styleTitle.setBorder(Border.NONE, BorderLineStyle.THIN);
styleTitle.setWrap(true);
font = new WritableFont(WritableFont.ARIAL,10,WritableFont.NO_BOLD,false,UnderlineStyle.NO_UNDERLINE, Colour.BLACK);
WritableCellFormat styleHead = new WritableCellFormat(font);
styleHead.setAlignment(Alignment.LEFT);
styleHead.setVerticalAlignment(VerticalAlignment.CENTRE);
styleHead.setBorder(Border.NONE, BorderLineStyle.THIN);
styleHead.setWrap(true);
font = new WritableFont(WritableFont.ARIAL,10,WritableFont.BOLD,false,UnderlineStyle.NO_UNDERLINE, Colour.BLACK);
WritableCellFormat styleCellT = new WritableCellFormat(font);
styleCellT.setAlignment(Alignment.CENTRE);
styleCellT.setVerticalAlignment(VerticalAlignment.CENTRE);
styleCellT.setBorder(Border.ALL, BorderLineStyle.THIN);
styleCellT.setWrap(true);
font = new WritableFont(WritableFont.ARIAL,10,WritableFont.NO_BOLD,false,UnderlineStyle.NO_UNDERLINE, Colour.BLACK);
WritableCellFormat styleCell = new WritableCellFormat(font);
styleCell.setAlignment(Alignment.CENTRE);
styleCell.setVerticalAlignment(VerticalAlignment.CENTRE);
styleCell.setBorder(Border.ALL, BorderLineStyle.THIN);
styleCell.setWrap(true);
font = new WritableFont(WritableFont.ARIAL,10,WritableFont.NO_BOLD,false,UnderlineStyle.NO_UNDERLINE, Colour.BLACK);
WritableCellFormat styleCellR = new WritableCellFormat(font);
styleCellR.setAlignment(Alignment.RIGHT);
styleCellR.setVerticalAlignment(VerticalAlignment.CENTRE);
styleCellR.setBorder(Border.ALL, BorderLineStyle.THIN);
styleCellR.setWrap(true);
for(int j = 2;j<11;j++){
sheet.setColumnView(j,7);
}
sheet.mergeCells(0,0,10,0);
sheet.setRowView(0,1000);
sheet.addCell(new Label(0,0,"20"+ksq.substring(0,2)+"年"+ksq.substring(2,4)+"月自学考试考场情况",styleTitle));
DecimalFormat df1=new DecimalFormat("####.00");
if(list != null ){
int listSize = list.size();
int row = 1;
int col = 0;
Map map = null;
String kssj = "";
String ksdydm = "";
String kcdm = "";
String kcmc = "";
String bprs = "";//编排人数
String kch = "";
int kcrs = 0;//考场人数
int sdrs = 0;//实到人数
int qkrs = 0;//缺考人数
int sum_kcrs = 0;
int sum_sdrs = 0;
int sum_qkrs = 0;
for(int i = 0; i<listSize;i++){
map = (Map)list.get(i);
kssj = String.valueOf(map.get("考试时间"));
ksdydm = String.valueOf(map.get("考试单元"));
kcdm = String.valueOf(map.get("课程代码"));
kcmc = String.valueOf(map.get("课程名称"));
bprs = String.valueOf(map.get("编排人数"));
kch = String.valueOf(map.get("考场号"));
kcrs = Integer.parseInt(String.valueOf(map.get("考场人数")));
sdrs = Integer.parseInt(String.valueOf(map.get("实考人数")));
qkrs = Integer.parseInt(String.valueOf(map.get("缺考人数")));
if(map.get("考试类别代码") != null){
if(i != 0){
for(int m =col%10 + 1;m<=10 && col != 10;m++){
sheet.addCell(new Label(m,row,"",styleCellT));
sheet.addCell(new Label(m,row+1,"",styleCell));
}
row = row + 2;
sheet.setRowView(row,300);
sheet.mergeCells(0,row,1,row);
sheet.addCell(new Label(0,row,"应考人数:" + String.valueOf(sum_kcrs),styleHead));
sheet.mergeCells(2,row,4,row);
sheet.addCell(new Label(2,row,"实到人数:"+ String.valueOf(sum_sdrs),styleHead));
sheet.mergeCells(5,row,7,row);
sheet.addCell(new Label(5,row,"缺考率:"+ String.valueOf(df1.format((double)sum_qkrs/(double)sum_kcrs * 100))+"%",styleHead));
sum_kcrs = 0;
sum_sdrs = 0;
sum_qkrs = 0;
row = row + 2;
sheet.setRowView(row-1,300);
sheet.setRowView(row,300);
}
sheet.setRowView(row,300);
sheet.mergeCells(0,row,3,row);
sheet.addCell(new Label(0,row,"时间:"+kssj,styleHead));
sheet.mergeCells(4,row,6,row);
sheet.addCell(new Label(4,row,"单元:"+ksdydm.toUpperCase(),styleHead));
++row;
sheet.setRowView(row,300);
sheet.mergeCells(0,row,1,row);
sheet.addCell(new Label(0,row,"课程代码:"+kcdm,styleHead));
sheet.mergeCells(2,row,7,row);
sheet.addCell(new Label(2,row,"课程名称:"+kcmc,styleHead));
sheet.mergeCells(8,row,10,row);
sheet.addCell(new Label(8,row,"考场设置人数:"+bprs,styleHead));
++row;
col = 0;
}
sheet.setRowView(row,300);
if((col + 1) % 10 == 1){
sheet.addCell(new Label(0,row,"考场号",styleCellT));
sheet.addCell(new Label(0,row+1,"实到人数",styleCellT));
}
sheet.addCell(new Label(1+ (col%10),row,kch,styleCellT));
sheet.addCell(new Label(1+ (col%10),row+1,String.valueOf(sdrs),styleCellR));
if(((col + 1) % 10 == 0)){
row = row + 2;
}
sheet.setRowView(row,300);
sum_kcrs = sum_kcrs +kcrs;
sum_qkrs = sum_qkrs + qkrs;
sum_sdrs = sum_sdrs + sdrs;
col++;
if(i == listSize-1){
for(int m =col%10 + 1;m<=10 && col != 10;m++){
sheet.addCell(new Label(m,row,"",styleCellT));
sheet.addCell(new Label(m,row+1,"",styleCell));
}
sheet.setRowView(row,300);
sheet.mergeCells(0,row,1,row);
sheet.addCell(new Label(0,row,"应考人数:" + String.valueOf(sum_kcrs),styleHead));
sheet.mergeCells(2,row,4,row);
sheet.addCell(new Label(2,row,"实到人数:"+ String.valueOf(sum_sdrs),styleHead));
sheet.mergeCells(5,row,7,row);
sheet.addCell(new Label(5,row,"缺考率:"+ String.valueOf(df1.format((double)sum_qkrs/(double)sum_kcrs * 100))+"%",styleHead));
sum_kcrs = 0;
sum_sdrs = 0;
sum_qkrs = 0;
}
}
}
workbook.write();
workbook.close();
} catch (Exception e) {
System.out.println(e);
}
filePath = request.getRealPath("//guanli//download//wjqkAndKdxxExcel//")+"//";
request.setAttribute("filePath", filePath);
request.setAttribute("fileName", fileName);
return actionMapping.findForward("wjqkAndKdxx_download_forward");
}
public String s_cl(String s) {
if (s == null || s.equals("null")) {
s = "";
return s;
}
return s;
}
public static String nowTimeName() {
String s = null;
DateFormat dateFormat = new SimpleDateFormat("yyyyMMddkkmmsss");
s = dateFormat.format(new Date());
return s;
}
}
- JXL实例
- jxl实例
- jxl实例
- jxl 实例
- Jxl 实例
- jxl实例
- JXL实例 写excel
- jxl基础实例
- jxl.jar实例说明
- jxl的实例
- jxl.jar实例说明
- jxl实例(一)
- JXL实例(二)
- jxl导出execl实例
- jxl 读写Excel实例
- jxl导出excel报表实例
- Jxl导出excel开发实例
- 关于Jxl导出excel的简单实例
- How to mkbranch for a set of rules
- 对新人学习破解的帮助http://bbs.tomatolei.com/redirect.php?tid=649881&goto=lastpost
- Adobe加入Web Office战局 收购线上文字处理软件
- WebSphere连接AS400的DB2
- 求助:ISAPI部署运行的BDE错误!
- jxl 实例
- Windows XP系统中如何屏蔽 Ctrl+Alt+Del、Alt+Tab以及Ctrl+Esc键序列
- WINDOWS下的gdt和ldt http://www.vkfz.com/WINDOWS-gdt-ldt-t709032.htm
- 实验一 网络处理器软件分析与设计
- 清问一个Windows的程序的LDT是谁创建的?http://topic.csdn.net/t/20061228/17/5262577.html
- 替换GINA DLL实现智能卡登录--DayDayUp
- window对象的status、location、name、self、opener属性的使用
- javascript 判断checkboxlist 绑定
- doc_net2003_運行常見問題 http://junhli.cnblogs.com/