首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 计算机考试 > 认证考试 > JAVA认证 >

JavaExcel读写组件jxl使用

2008-12-12 
读写组件jxl

    使用起来很简单,就不多说了,只把代码贴出来
  package com.yinbo.satisfy.web.struts;
  import javax.servlet.ServletOutputStream;
  import javax.servlet.http.HttpServletRequest;
  import javax.servlet.http.HttpServletResponse;
  import org.apache.struts.action.Action;
  import org.apache.struts.action.ActionForm;
  import org.apache.struts.action.ActionForward;
  import org.apache.struts.action.ActionMapping;
  //import com.lowagie.text.List;
  import java.util.List;
  import com.yinbo.satisfy.service.satisfy.SatisfyManage;
  import com.yinbo.satisfy.service.sysmanage.BranchManage;
  import com.yinbo.satisfy.service.sysmanage.ParamManage;
  import com.yinbo.satisfy.util.CommonUtils;
  import com.yinbo.satisfy.vo.Branch;
  import com.yinbo.satisfy.vo.Suggestion;
  import com.yinbo.satisfy.vo.SysParam;
  import java.io.*;
  import jxl.Workbook;
  import jxl.write.Label;
  import jxl.write.WritableSheet;
  import jxl.write.WritableWorkbook;
  import jxl.write.WriteException;
  public class QuestionAction extends Action {
  private SatisfyManage satisfyManage;
  private BranchManage branchManage;
  private ParamManage paramManage;
  /**
  * Method execute
  * @param mapping
  * @param form
  * @param request
  * @param response
  * @return ActionForward
  */
  public ActionForward execute(ActionMapping mapping, ActionForm form,
  HttpServletRequest request, HttpServletResponse response) {
  String excelFileName = "c:\\testaaa.xls";
  //////////////////////
  String branchId = request.getParameter("branchId");
  String level = request.getParameter("level");
  List list = satisfyManage.getQuestionData(branchId, level);
  String result[][] = new String[list.size()][5];
  for(int i=0; i<list.size(); i++) {
  Suggestion sug = (Suggestion)list.get(i);
  result[i][0]=sug.getSugContent();
  ///System.out.println(sug.getSugContent());
  }
  //添加所在单位
  Branch branch = branchManage.getBranchById(branchId);
  String branchName = branch.getBranchName();
  if(CommonUtils.isEmpty(branchName)) branchName = "所有机构";
  //添加级别
  SysParam param = paramManage.getParam("3", level);
  String paramName = param.getParamName();

    if(CommonUtils.isEmpty(paramName)) paramName = "所有级别";
  try {
  String strFileName = "question.xls";
  strFileName = java.net.URLEncoder.encode(strFileName, "UTF-8");//处理中文文件名的问题
  strFileName = new String(strFileName.getBytes("UTF-8"),"GBK");//处理中文文件名的问题
  response.reset();
  response.setCharacterEncoding("UTF-8");
  response.setContentType("application/vnd.ms-excel");
  response.setHeader("Content-Disposition","attachment; filename=" + strFileName);
  ByteArrayOutputStream baos = new ByteArrayOutputStream();
  //创建可写入的Excel工作薄
  //WritableWorkbook book = Workbook.createWorkbook(new File(excelFileName));
  WritableWorkbook book = Workbook.createWorkbook(baos);
  // 写工作表名字
  WritableSheet sheet = book.createSheet("XXX建议", 0);
  //此处可以设置列的宽度
  int column = 0;
  sheet.setColumnView(column++, 30);
  sheet.setColumnView(column++, 30);
  sheet.setColumnView(column++, 30);
  sheet.setColumnView(column++, 30);
  sheet.addCell(new Label(0, 0, "建议(" + branchName + ")(" + paramName + ")")); // 增加excel单元格
  //sheet.addCell(new Label(1, 0, "部门名称")); // 增加excel单元格
  //sheet.addCell(new Label(2, 0, "部门类型")); // 增加excel单元格
  //sheet.addCell(new Label(3, 0, "综合成绩")); // 增加excel单元格
  // result = getSelectResultWithStringArray(ds, sql);
  int rows = result.length;
  if (rows != 0) {
  int cols = result[0].length;
  for (int i = 0; i < rows; i++) {
  for (int j = 0; j < cols; j++) {
  sheet.addCell(new Label(j, i + 1, result[i][j]));
  }
  }
  }
  book.write(); // 写入byte输出流数组
  book.close(); // jxl对象关闭
  ServletOutputStream out = response.getOutputStream();
  baos.writeTo(out);
  out.flush();
  } catch (IOException e) {
  e.printStackTrace();
  } catch (WriteException e) {
  e.printStackTrace();
  }
  return null;
  }
  public SatisfyManage getSatisfyManage() {
  return satisfyManage;
  }
  public void setSatisfyManage(SatisfyManage satisfyManage) {
  this.satisfyManage = satisfyManage;
  }
  public BranchManage getBranchManage() {
  return branchManage;
  }
  public void setBranchManage(BranchManage branchManage) {
  this.branchManage = branchManage;
  }
  public ParamManage getParamManage() {
  return paramManage;
  }
  public void setParamManage(ParamManage paramManage) {
  this.paramManage = paramManage;
  }
  }

 

3COME考试频道为您精心整理,希望对您有所帮助,更多信息在http://www.reader8.com/exam/

热点排行