private void export(HttpServletRequest request,HttpServletResponse response,
List<SIOrderBaoBiao> baobiao,
String dateFrom,String dateTo){
try {
// 用vnd.ms-excel形式返回数据
response.setContentType("application/vnd.ms-excel");
// 用OrderMess.xls作为默认的名字保存
response.addHeader("Content-Disposition",
"attachment; filename=\""+dateFrom+"_to_"+dateTo+"_BAOBIAO.xls" + "\"");
OutputStream os = response.getOutputStream();
// 创建一个工作簿
WritableWorkbook wwb = Workbook.createWorkbook(os);
OrderAction ra = new OrderAction();
// 查询粗符合条件的数据
// 新建一张表
WritableSheet wsheet = wwb.createSheet(dateFrom+" 至 "+dateTo+"报表", 1);
// 设置表头
// 判断是否为空,空就显示没有数据
if (baobiao != null && baobiao.size() > 0) {
//往工作簿中插入数据
Label label = new Label(0, 0, dateFrom+" 至 "+dateTo+"报表");
wsheet.addCell(label);
label = new Label(0, 1, "线路名称");
wsheet.addCell(label);
label = new Label(1, 1, "出发站点");
wsheet.addCell(label);
label = new Label(2, 1, "到达站点");
wsheet.addCell(label);
label = new Label(3, 1, "乘坐时间");
wsheet.addCell(label);
label = new Label(4, 1, "旅客名称");
wsheet.addCell(label);
label = new Label(5, 1, "联系方式");
wsheet.addCell(label);
label = new Label(6, 1, "证件号");
wsheet.addCell(label);
label = new Label(7, 1, "电子客票号");
wsheet.addCell(label);
label = new Label(8, 1, "座位号");
wsheet.addCell(label);
label = new Label(9, 1, "留言备注");
wsheet.addCell(label);
label = new Label(10, 1, "订购时间");
wsheet.addCell(label);
label = new Label(11, 1, "订购张数");
wsheet.addCell(label);
label = new Label(12, 1, "退票张数");
wsheet.addCell(label);
label = new Label(13, 1, "金额(元)");
wsheet.addCell(label);
label = new Label(14, 1, "客户类型");
wsheet.addCell(label);
label = new Label(15, 1, "支付方式");
wsheet.addCell(label);
label = new Label(16, 1, "订票状态");
wsheet.addCell(label);
label = new Label(17, 1, "申请退票");
wsheet.addCell(label);
label = new Label(18, 1, "备注说明");
wsheet.addCell(label);
int i=2;
for(SIOrderBaoBiao oneBaobiaoRecord : baobiao){
label = new Label(0, i , oneBaobiaoRecord.getLineName());
wsheet.addCell(label);
label = new Label(1, i, oneBaobiaoRecord.getLineBeginSite());
wsheet.addCell(label);
label = new Label(2, i, oneBaobiaoRecord.getLineEndSite());
wsheet.addCell(label);
label = new Label(3, i, oneBaobiaoRecord.getSeatDate()+" "+oneBaobiaoRecord.getSeatTime());
wsheet.addCell(label);
label = new Label(4, i, oneBaobiaoRecord.getGuestName());
wsheet.addCell(label);
label = new Label(5, i, oneBaobiaoRecord.getGuestPhone());
wsheet.addCell(label);
label = new Label(6, i, oneBaobiaoRecord.getGuestCard());
wsheet.addCell(label);
label = new Label(7, i, oneBaobiaoRecord.getETicketNo());
wsheet.addCell(label);
label = new Label(8, i,oneBaobiaoRecord.getSeat());
wsheet.addCell(label);
label = new Label(9, i, oneBaobiaoRecord.getLeftMsg());
wsheet.addCell(label);
label = new Label(10, i, oneBaobiaoRecord.getOrderTime());
wsheet.addCell(label);
//label = new Label(11, i, oneBaobiaoRecord.getBuyNums());
label = new Label(11, i, "1");
wsheet.addCell(label);
//label = new Label(12, i, oneBaobiaoRecord.getRefundNums());
label = new Label(12, i, oneBaobiaoRecord.getIsRefund());
wsheet.addCell(label);
//label = new Label(13, i, oneBaobiaoRecord.getTotalMoney());
label = new Label(13, i, oneBaobiaoRecord.getPayCost());
wsheet.addCell(label);
label = new Label(14, i, descOrderUserType(oneBaobiaoRecord.getOrderUserType()));
wsheet.addCell(label);
label = new Label(15, i, descPayType(oneBaobiaoRecord.getPayType()));
wsheet.addCell(label);
label = new Label(16, i, descOrderStatus(oneBaobiaoRecord.getOrderState()));
wsheet.addCell(label);
label = new Label(17, i, descQRefund(oneBaobiaoRecord.getQRefund()));
wsheet.addCell(label);
label = new Label(18, i, oneBaobiaoRecord.getOrderBf());
wsheet.addCell(label);
i++;
}
} else {
Label label = new Label(0, 0, dateFrom+" 至 "+dateTo+"报表");
wsheet.addCell(label);
label = new Label(0, 1, (String) "没有记录");
wsheet.addCell(label);
}
wwb.write();
wwb.close();
os.close();
response.flushBuffer();
} catch (Exception e) {
System.out.println("生成信息表(Excel格式)时出错:");
e.printStackTrace();
}
}
分享到:
相关推荐
【JXL库简介】 JXL是一个开源的Java库,专门用于处理Microsoft Excel文件。它允许开发者在不依赖于Windows环境的情况下,使用纯Java代码来读取、创建和修改Excel文件。JXL支持多种版本的Excel文件,包括Excel 95、...
"H3C交换机典型配置举例-6W100-ACL典型配置举例" 本文将详细介绍H3C交换机中的ACL(Access Control List,访问控制列表)典型配置举例,包括允许指定的主机访问网络和拒绝指定的主机访问网络两种配置举例。 首先,...
MVCC机制举例
最新单片机仿真 文件包应用举例最新单片机仿真 文件包应用举例最新单片机仿真 文件包应用举例最新单片机仿真 文件包应用举例最新单片机仿真 文件包应用举例最新单片机仿真 文件包应用举例最新单片机仿真 文件包应用...
最新单片机仿真 宏定义应用举例最新单片机仿真 宏定义应用举例最新单片机仿真 宏定义应用举例最新单片机仿真 宏定义应用举例最新单片机仿真 宏定义应用举例最新单片机仿真 宏定义应用举例最新单片机仿真 宏定义应用...
最新单片机仿真 条件编译应用举例最新单片机仿真 条件编译应用举例最新单片机仿真 条件编译应用举例最新单片机仿真 条件编译应用举例最新单片机仿真 条件编译应用举例最新单片机仿真 条件编译应用举例最新单片机仿真...
"Dijkstra算法应用举例" Dijkstra算法是一种常用的图算法,用于寻找从起点到其他顶点的最短路径。下面是一个使用Dijkstra算法的应用举例,展示了如何使用该算法来解决实际问题。 从给定的代码中,我们可以看到,这...
oracle 常用的命令举例,内容全面、实用
C语言程序设计-程序举例简易计算器 本节资源是关于C语言程序设计的简易计算器程序举例,旨在展示如何使用C语言实现一个基本的计算器功能。下面是该程序的详细解释: setTitle :C语言程序设计-程序举例简易计算器...
fputc和fgetc函数 使用举例 C源代码 /* 用fseek函数可以实现改变文件的位置指针。 fseek(文件类型指针,位移量,起始点) “起始点”用0、1或2代替,0代表“文件开始”,1为“当前位置”,2为“文件末尾”。 例:在...
深入理解条件随机场:包含其原理、应用及举例。CRF 就像一个反向的隐马尔可夫模型(HMM),两者都是用了马尔科夫链作为隐含变量的概率转移模型,只不过 HMM 使用隐含变量生成可观测状态,其生成概率有标注集统计得到,...
JvavMath类功能的使用举例,随机数
XILINX语法约束举例说明,列举了400多个xilinx语法约束的说明举例,便于学习xilinx约束
分布式链接,以一种常微分的在链接上的应用举例!打码了传统的链接方式 !
最新单片机仿真 内部函数intrins.h应用举例最新单片机仿真 内部函数intrins.h应用举例最新单片机仿真 内部函数intrins.h应用举例最新单片机仿真 内部函数intrins.h应用举例最新单片机仿真 内部函数intrins.h应用举例...
生成树配置举例 简介 本文档介绍了生成树的配置举例。 配置前提 本文档中的配置均是在实验室环境下进行的配置和验证,配置前设备的所有参数均采用出厂时的 缺省配置。如果您已经对设备进行了配置,为了保证配置效果...
此外,`test`文件可能包含了一个测试类或者一个简单的Java应用,用于演示上述操作。这个测试类可能使用了JUnit或其他测试框架,通过实例化实体,执行CRUD操作,并验证结果是否符合预期。 总的来说,"javahibernate...
最新单片机仿真 字符函数ctype.h应用举例最新单片机仿真 字符函数ctype.h应用举例最新单片机仿真 字符函数ctype.h应用举例最新单片机仿真 字符函数ctype.h应用举例最新单片机仿真 字符函数ctype.h应用举例最新单片机...
最新单片机仿真 标准函数stdlib.h应用举例最新单片机仿真 标准函数stdlib.h应用举例最新单片机仿真 标准函数stdlib.h应用举例最新单片机仿真 标准函数stdlib.h应用举例最新单片机仿真 标准函数stdlib.h应用举例最新...
计算机安全XSS 实际攻击举例 计算机安全是计算机系统和网络的安全保护,避免未经授权的访问、使用、披露、修改或破坏计算机系统和网络中的数据。黑客技术是计算机安全攻防技术的重要组成部分,其中包括XSS实际操作...