package com.ihd.card.service;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.swing.JOptionPane;
import jxl.Workbook;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import com.ihd.po.CardsInfoPO;
import com.ihd.po.ProvincesPO;
import com.ihd.service.InterService;
import com.ihd.util.PoiDemo;
public class CreateExcelService implements InterService {
@Override
public String doService(HttpServletRequest request,
HttpServletResponse response) {
List<CardsInfoPO> cardlist = (List<CardsInfoPO>)request.getSession().getAttribute("cardlist");
if(cardlist == null){
JOptionPane.showMessageDialog(null, "没有任何数据要导出,请检查!");
return "bgjsp/searchCardsInput.do";
}
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss" );
String date = sdf.format(new Date());
String targetfile = "C:/"+date+".xls";// 输出的excel文件名
String[] title = { "地区", "批次", "卡号","密码" };// excel工作表的标题
WritableWorkbook workbook;
try {
// 创建可写入的Excel工作薄,运行生成的文件在tomcat/bin下
// workbook = Workbook.createWorkbook(new File("output.xls"));
//System.out.println("begin");
OutputStream os = new FileOutputStream(targetfile);
workbook = Workbook.createWorkbook(os);
for(int j=0; j<4; j++) {
String worksheet = "List"+(j+1);// 输出的excel文件工作表名
WritableSheet sheet = workbook.createSheet(worksheet, j); // 添加第一个工作表
jxl.write.Label label;
jxl.write.Label label1;
jxl.write.Label label2;
jxl.write.Label label3;
for (int i = 0; i < title.length; i++) {
// Label(列号,行号 ,内容 )
label = new jxl.write.Label(i, 0, title[i]); // put the title
// in row1
sheet.addCell(label);
}
for(int i=0;i<cardlist.size();i++){
label1 = new jxl.write.Label(0, i+1,cardlist.get(i).getProvinces().getProvincesName() );
label2 = new jxl.write.Label(1, i+1, cardlist.get(i).getBatch());
label = new jxl.write.Label(2, i+1, cardlist.get(i).getCardID());
label3 = new jxl.write.Label(3, i+1, cardlist.get(i).getCardPwd());
sheet.addCell(label1);
sheet.addCell(label2);
sheet.addCell(label);
sheet.addCell(label3);
}
}
workbook.write();
workbook.close();
} catch (Exception e) {
JOptionPane.showMessageDialog(null, "表格导出出错,错误信息 :"+e+"\n错误原因可能是表格已经打开。");
e.printStackTrace();
}
JOptionPane.showMessageDialog(null, "表格已成功导出到"+targetfile);
return "bgjsp/searchCardsInput.do";
}
}
分享到:
相关推荐
jxl导出excel加水印 WritableWorkbook、WritableSheet、WritableCellFormat
jxl导出excel 完整例子工程jxl导出excel 完整例子工程jxl导出excel 完整例子工程 jxl导出excel 完整例子工程jxl导出excel 完整例子工程jxl导出excel 完整例子工程
jxl导出excel工具类,封装好了的,实现传递任意集合自动导出excel
使用jxl导出Excel表的好例子 导出excel表的例子
jxl导入导出excel 详细的描述了如何使用jxl导入导出excel。
jxl导出Excel基础,非常有用的一个东西,漫漫看
Android使用jxl快速导出excel表
jxl工具类导出excel,导出详细说明,及相关代码和jar,如有不明白私聊
jxl从数据库中直接导出excel文档java源码
使用jxl方式实现Excel表格导出,非常简单而且实用
利用JXL技术支持模板和非模板的表格导出
jxlapi和jar包 博文链接:https://dhl004.iteye.com/blog/1324644
绝对不会让你失望。自己找了好多帮助才实现的哦,希望对你有帮助。互相学习
java JXL导出Excel源码及jfreechart 生成折线图,饼图 java JXL导出Excel源码及jfreechart 生成折线图,饼图 java JXL导出Excel源码及jfreechart 生成折线图,饼图
本例为利用JXL导出Excel的代码示例
这是一个jxl声称excel的示例,及jxl的文档
jxl对excel添加水印(含有setWaterMarkImage方法).zip
JXL操作EXCEL 数据库导出EXCEL相关文件一些详细资料
java使用jxl导入导出excel,此为中文doc文档,但jxl貌似实现不了单元格画出斜线