创建Excel数据表2

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Iterator;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;

import jxl.Workbook;
import jxl.format.Alignment;
import jxl.format.Colour;
import jxl.format.UnderlineStyle;
import jxl.write.Label;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;

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;

import com.yourcompany.struts.form.SportForm;

public class CreateXlsUtil {
 public static void method(HttpServletRequest request)
   throws ServletException, IOException {
  try {
   // 创建新的Excel 工作簿
   HSSFWorkbook workbook = new HSSFWorkbook();
   // 在Excel工作簿中建一工作表,其名为缺省值
   // 如要新建一名为"效益指标"的工作表,其语句为:
   // HSSFSheet sheet = workbook.createSheet("效益指标");
   HSSFSheet sheet = workbook.createSheet("SportSheet");
   List list;
   try {
    list = (List) request.getSession().getAttribute("sportlist");
    Iterator ite = list.iterator();
    int i = 0;
    HSSFRow row = sheet.createRow((short) i);
    // 创建单元格
    HSSFCell cell1 = row.createCell((short) 0);
    cell1.setEncoding(HSSFCell.ENCODING_UTF_16);// 设置cell编码解决中文高位字节截断

    HSSFCell cell2 = row.createCell((short) 1);
    cell2.setEncoding(HSSFCell.ENCODING_UTF_16);// 设置cell编码解决中文高位字节截断

    HSSFCell cell3 = row.createCell((short) 2);
    cell3.setEncoding(HSSFCell.ENCODING_UTF_16);// 设置cell编码解决中文高位字节截断

    HSSFCell cell4 = row.createCell((short) 3);
    cell4.setEncoding(HSSFCell.ENCODING_UTF_16);// 设置cell编码解决中文高位字节截断

    HSSFCell cell5 = row.createCell((short) 4);
    cell5.setEncoding(HSSFCell.ENCODING_UTF_16);// 设置cell编码解决中文高位字节截断

    HSSFCell cell6 = row.createCell((short) 5);
    cell6.setEncoding(HSSFCell.ENCODING_UTF_16);// 设置cell编码解决中文高位字节截断

    HSSFCell cell7 = row.createCell((short) 6);
    cell7.setEncoding(HSSFCell.ENCODING_UTF_16);// 设置cell编码解决中文高位字节截断

    HSSFCell cell8 = row.createCell((short) 7);
    cell8.setEncoding(HSSFCell.ENCODING_UTF_16);// 设置cell编码解决中文高位字节截断

    // 输入内容
    cell1.setCellValue("工作或日常生活中(8小时)坐着的时间");
    cell2.setCellValue("近距离(3公里以内)外出办事,您习惯的方式是");
    cell3.setCellValue("五楼以下您是否爬楼梯?");
    cell4.setCellValue("您是否从事家务劳动?");
    cell5.setCellValue("您平均每周锻炼次数");
    cell6.setCellValue("您平均每次锻炼时间");
    cell7.setCellValue("您每天步行的时间");
    cell8.setCellValue("您通常选择什么项目进行锻炼?");
    while (ite.hasNext()) {
     i++;
     // 创建行
     HSSFRow rows = sheet.createRow((short) i);
     // 创建单元格
     HSSFCell cell1s = rows.createCell((short) 0);
     cell1s.setEncoding(HSSFCell.ENCODING_UTF_16);// 设置cell编码解决中文高位字节截断

     HSSFCell cell2s = rows.createCell((short) 1);
     cell2s.setEncoding(HSSFCell.ENCODING_UTF_16);// 设置cell编码解决中文高位字节截断

     HSSFCell cell3s = rows.createCell((short) 2);
     cell3s.setEncoding(HSSFCell.ENCODING_UTF_16);// 设置cell编码解决中文高位字节截断

     HSSFCell cell4s = rows.createCell((short) 3);
     cell4s.setEncoding(HSSFCell.ENCODING_UTF_16);// 设置cell编码解决中文高位字节截断

     HSSFCell cell5s = rows.createCell((short) 4);
     cell5s.setEncoding(HSSFCell.ENCODING_UTF_16);// 设置cell编码解决中文高位字节截断

     HSSFCell cell6s = rows.createCell((short) 5);
     cell6s.setEncoding(HSSFCell.ENCODING_UTF_16);// 设置cell编码解决中文高位字节截断

     HSSFCell cell7s = rows.createCell((short) 6);
     cell7s.setEncoding(HSSFCell.ENCODING_UTF_16);// 设置cell编码解决中文高位字节截断

     HSSFCell cell8s = rows.createCell((short) 7);
     cell8s.setEncoding(HSSFCell.ENCODING_UTF_16);// 设置cell编码解决中文高位字节截断


     SportForm sp = (SportForm) ite.next();
     // 输入内容
     cell1s.setCellValue(sp.getSeattime());
     cell2s.setCellValue(sp.getHabit());
     cell3s.setCellValue(sp.getClimb());
     cell4s.setCellValue(sp.getHouswork());
     cell5s.setCellValue(sp.getExertime());
     cell6s.setCellValue(sp.getExerhour());
     cell7s.setCellValue(sp.getWalktime());
     cell8s.setCellValue(sp.getSportname());

    }

   } catch (Exception e) {
    e.printStackTrace();
   }

   FileOutputStream fOut = new FileOutputStream("D:\\website.xls");

   // 把相应的Excel工作簿存盘
   workbook.write(fOut);
   fOut.flush();

   // 操作结束,关闭流
   fOut.close();

  } catch (Exception e) {
   System.out.println("已运行 xlCreate() : " + e);
  }
 }

 public static void downExcel(OutputStream ops, List list) {
  /** 输出的excel文件工作表名 */
  String worksheet = "运动信息导出处理";
  /** excel工作表的标题 */
  String[] title = { "工作或日常生活中(8小时)坐着的时间", "近距离(3公里以内)外出办事,您习惯的方式是", "五楼以下您是否爬楼梯?", "您是否从事家务劳动?", "您平均每周锻炼次数", "您平均每次锻炼时间",
    "您每天步行的时间", "您通常选择什么项目进行锻炼?" };
  WritableWorkbook workbook;

  try {
   workbook = Workbook.createWorkbook(ops);

   /** 添加第一个工作表 */
   WritableSheet sheet = workbook.createSheet(worksheet, 0);

   Label label;
   /** 标题栏格式设置 */
   /**  字体 大小 颜色*/
   WritableFont wf = new jxl.write.WritableFont(WritableFont.TIMES,
     11, WritableFont.NO_BOLD, false,
     UnderlineStyle.NO_UNDERLINE, Colour.BLUE);
   WritableCellFormat wcfF = new jxl.write.WritableCellFormat(wf);
   /** 单元格居中 */
   wcfF.setAlignment(Alignment.CENTRE);

   for (int k = 0; k < title.length; k++) {
    Label label1 = new Label(k, 0, title[k], wcfF);
    sheet.addCell(label1);
   }
   for (int j = 0; j < list.size(); j++) {
    SportForm sp = (SportForm) list.get(j);
    String context = "";
    for (int i = 0; i < title.length; i++) {
     /** Label(列号 ,行号 ,内容) */
     switch (i) {
     case 0:
      context = sp.getSeattime().toString();
      break;

     case 1:
      context = sp.getHabit().toString();
      break;

     case 2:
      context = sp.getClimb().toString();
      break;

     case 3:
      context = sp.getHouswork().toString();
      break;

     case 4:
      context = sp.getExertime().toString();
      break;
     case 5:
      context = sp.getExerhour().toString();
      break;
     case 6:
      context = sp.getWalktime().toString();
      break;
     case 7:
      context = sp.getSportname().toString();
      break;
     }

     label = new Label(i, j + 1, context, wcfF);

     /** put the title in row1 */
     sheet.addCell(label);
    }
   }

   /** 关闭工作区 */
   workbook.write();
   workbook.close();
  } catch (Exception e) {
   e.printStackTrace();
  }
 }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值