tt

	@Action
	public void exportOrderEbayList() throws Exception {
		HttpServletResponse response = ServletActionContext.getResponse();
		HttpServletRequest request = ServletActionContext.getRequest();
		response.setCharacterEncoding("UTF-8");
		//迭代观察request有什么属性值
		/*Enumeration  enumeration = request.getParameterNames();
		while (enumeration.hasMoreElements()) {
			Object object = (Object) enumeration.nextElement();
			System.out.println("参数名="+object);
		}*/
		//封装搜索条件
		this.setSearchMap(request);
		//被分装的搜索条件会以一个key-value的map集合存放在request中
		Map<String, String> map = (Map<String, String>) ServletActionContext
				.getRequest().getAttribute("setSearchMap");

		response.setContentType("application/vnd.ms-excel");
		String fileName = "ruleOrderEbayObject"
				+ DateUtils.dateToString8(new Date());
		List<RuleOrderEbayObject> listRule = ruleOrderEbayObjectService
				.getRuleEbayListForExport(map);
		/*List<RuleOrderEbayObject> listRule = ruleOrderEbayObjectService
				.getRuleEbayListImportTxt(map);
		*/		
		OutputStream os = response.getOutputStream();

		WritableWorkbook wbook = Workbook.createWorkbook(os);
		// 建立excel文件
		WritableSheet wsheet = wbook.createSheet("已归档订单信息表", 0);
		// 工作表名称
		response.reset();// 清空输出流
		response.setHeader("Content-disposition", "attachment; filename="
				+ fileName + ".xls");
		// 设置Excel字体
		WritableFont wfont = new WritableFont(WritableFont.ARIAL, 16,
				WritableFont.BOLD, false,
				jxl.format.UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.BLACK);
		WritableCellFormat titleFormat = new WritableCellFormat(wfont);

		String[] title = {"Date", "buyer ID", "Transaction ID", "Name",
				"country", "数量", "型号", "", "发货日期", "发货方式", "", "备注", "Team",
				"", "", "recorded", "Address Line1", "Address Line",
				"Town/City",
				"State/Province/Region/County/Territory/Prefecture/Republic",
				" Zip/Postal Code", "仓库国家", "仓库", "状态", "", "account", "", "重发"};

		// 设置Excel表头
		for (int i = 0; i < title.length; i++) {
			Label excelTitle = new Label(i, 0, title[i], titleFormat);
			wsheet.addCell(excelTitle);
		}
		int totalOrderNum = 0;
		int totalGoodsNum = 0;
		if (null != listRule && listRule.size() > 0) {
			Map<String, Integer> itemMap = new HashMap<String, Integer>();
			for (int i = 1; i <= listRule.size(); i++) {
				totalOrderNum = totalOrderNum + 1;
				RuleOrderEbayObject wo = listRule.get(i - 1);
				itemMap.clear();
				totalGoodsNum = totalGoodsNum
						+ wo.getRuleOrderEbayObjectItem().size();
				for (RuleOrderEbayObjectItem item : wo
						.getRuleOrderEbayObjectItem()) {
					if (itemMap.get(item.getGoodsCode()) == null) {
						itemMap.put(item.getGoodsCode(), 1);
					} else {
						itemMap.put(item.getGoodsCode(),
								itemMap.get(item.getGoodsCode()) + 1);
					}
				}
				for (Map.Entry<String, Integer> en : itemMap.entrySet()) {
					// for(RuleOrderEbayObjectItem item :
					// wo.getRuleOrderEbayObjectItem()){
					if (wo.getCheckoutDate() != null) {
						Label content0 = new Label(0, i,
								wo.getCheckoutDate() == null
										? ""
										: DateUtils.dateToString16(wo
												.getCheckoutDate()));
						wsheet.addCell(content0);
					}

					String address = wo.getShippingAddress();

					Label content1 = new Label(1, i, wo.getBuyerEmail());
					wsheet.addCell(content1);

					Label content2 = new Label(2, i, wo.getTransIds());
					wsheet.addCell(content2);

					Label content3 = new Label(3, i, wo.getBuyerFullName());
					wsheet.addCell(content3);

					Label content4 = new Label(4, i, wo.getTargetCountry());
					wsheet.addCell(content4);

					Label content5 = new Label(5, i, en.getValue() + "");
					wsheet.addCell(content5);

					Label content6 = new Label(6, i, en.getKey());
					wsheet.addCell(content6);

					Label content7 = new Label(7, i, "");
					wsheet.addCell(content7);

					Label content8 = new Label(8, i,
							DateUtils.dateToString18(new Date()));
					wsheet.addCell(content8);

					Label content9 = new Label(9, i, wo.getRulePostServer());
					wsheet.addCell(content9);

					Label content10 = new Label(10, i, "");
					wsheet.addCell(content10);

					Label content11 = new Label(11, i, wo.getRemark());
					wsheet.addCell(content11);

					Label content12 = new Label(12, i, "");
					wsheet.addCell(content12);

					Label content13 = new Label(13, i, "");
					wsheet.addCell(content13);
					if (wo.getCheckoutDate() != null) {
						Label content14 = new Label(14, i,
								DateUtils.dateToString18(wo.getCheckoutDate()));
						wsheet.addCell(content14);
					}

					Label content15 = new Label(15, i, "");
					wsheet.addCell(content15);

					Label content16 = new Label(16, i, wo.getStreet());
					wsheet.addCell(content16);

					Label content17 = new Label(17, i, wo.getStreet2());
					wsheet.addCell(content17);

					Label content18 = new Label(18, i, wo.getCity());
					wsheet.addCell(content18);

					Label content19 = new Label(19, i, address);
					wsheet.addCell(content19);

					Label content20 = new Label(20, i, wo.getZipCode());
					wsheet.addCell(content20);

					Label content21 = new Label(21, i, wo.getTargetCountry());
					wsheet.addCell(content21);

					Label content22 = new Label(22, i, wo.getSourceWarehouse());
					wsheet.addCell(content22);

					Label content23 = new Label(23, i, "已归档");
					wsheet.addCell(content23);

					Label content24 = new Label(24, i, "");
					wsheet.addCell(content24);

					Label content25 = new Label(25, i, wo.getAmount() + "");
					wsheet.addCell(content25);

					Label content26 = new Label(26, i, "");
					wsheet.addCell(content26);

					Label content27 = new Label(27, i, "");
					wsheet.addCell(content27);

				}

			}
		}

		WritableSheet totalSheet = wbook.createSheet("汇总", 1);
		totalSheet.addCell(new Label(0, 0, "订单总数:"));
		totalSheet.addCell(new Number(1, 0, totalOrderNum));
		totalSheet.addCell(new Label(2, 0, "货品总数:"));
		totalSheet.addCell(new Number(3, 0, totalGoodsNum));
		wbook.write();
		// 写入文件
		wbook.close();
		os.close();
	}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值