name="exportWorkerTrades"

class="com.skylink.jixiao.action.ReportAction"

method="exportWorkerTrades" >

name="success">/download/jsp/download.jsp

//=========================== 实例代码

===========================

private String realExportPath;

private String fileName;

public String exportWorkerTrades() {

if (!checkLogin())

return

LOGIN;

try {

SubscribeService

subscribeService = new SubscribeService();

SubscribeInfo

subscribe = subscribeService.getSubscribeInfo(nick);

ReportService

servie = new ReportService();

String

filePath = Tools.getRootTruePath() + "download/files/";

fileName =

"[" + worker + "]订单查询结果(" + beginTime + "至" + endTime + ")";

realExportPath

= servie.exportWorkerTrades(nick, worker, beginTime, endTime,

workerType,

fileName, subscribe.getSalesDifine(), filePath);

LOG.debug("订单查询结果成xls文件成功");

} catch (Exception e) {

e.printStackTrace();

}

return SUCCESS;

}

public String exportWorkerTrades(String nick,

String workNick, String beginTime,

String

endTime, String workerType, String fileName,String salesDifine,

String filepath) {

Export2XLS export2XLS = new

Export2XLS();

StringBuffer sql = new

StringBuffer("");

sql.append("select

distinct(t.TID),t.BUYER_NICK,to_char(t.CREATED,'yyyy-mm-dd

hh24:mi') CREATED");

sql.append(",t.PAYMENT,t.STATUS,t.RECEIVED_PAYMENT,w.WW_NICK

");

if("TRADE_PAY".equals(salesDifine)){

sql.append("

from JX_TRADES_INFO_T t, JX_WORKER_TRADES_PAY_T w ,JX_WORKER_IM_T m

");

sql.append("

where t.TID=w.TID and w.WW_NICK(+)= m.WORK_NICK ");

sql.append("

and t.SELLER_NICK='" + nick + "' and w.WORK_NICK='" + workNick + "'

");

sql.append("

and t.PAY_TIME>=to_date('" + beginTime+ "

00:00:00','yyyy-mm-dd hh24:mi:ss')");

sql.append("

and t.PAY_TIME<=to_date('" + endTime+ "

23:59:59','yyyy-mm-dd hh24:mi:ss') ");

}else

if("TRADE_DONE".equals(salesDifine)){

sql.append("

from JX_TRADES_INFO_T t, JX_WORKER_TRADES_DONE_T w ,JX_WORKER_IM_T

m ");

sql.append("

where t.TID=w.TID and w.WW_NICK(+)= m.WORK_NICK ");

sql.append("

and t.SELLER_NICK='" + nick + "' and w.WORK_NICK='" + workNick + "'

");

sql.append("

and t.END_TIME>=to_date('" + beginTime+ "

00:00:00','yyyy-mm-dd hh24:mi:ss')");

sql.append("

and t.END_TIME<=to_date('" + endTime+ "

23:59:59','yyyy-mm-dd hh24:mi:ss') ");

}else{

sql.append("

from JX_TRADES_INFO_T t, JX_WORKER_TRADES_T w ,JX_WORKER_IM_T m

");

sql.append("

where t.TID=w.TID and w.WW_NICK(+)= m.WORK_NICK ");

sql.append("

and t.SELLER_NICK='" + nick + "' and w.WORK_NICK='" + workNick + "'

");

sql.append("

and t.CREATED>=to_date('" + beginTime+ "

00:00:00','yyyy-mm-dd hh24:mi:ss')");

sql.append("

and t.CREATED<=to_date('" + endTime+ "

23:59:59','yyyy-mm-dd hh24:mi:ss') ");

} if (workerType != null

&& !"".equals(workerType)) {

sql.append("

and m.JOB='" + workerType + "' ");

}

sql.append(" order

by CREATED ");

System.out.println(sql.toString());

List

list = BaseDAO.executeQuery(sql.toString()); //

执行查询语句

// 标题行

List

columns = new

ArrayList();

columns.add("订单号");

columns.add("客户名称");

columns.add("交易时间");

columns.add("订单金额");

columns.add("订单状态");

columns.add("旺号");

columns.add("实付金额");

List>

rows = new

ArrayList>();

if (list != null

&& list.size() > 0)

{

for (Map map

: list) {

try

{

List

row = getRowMain(map);

rows.add(row);

}

catch (Exception ex) {

ex.printStackTrace();

}

}

}

return

export2XLS.CreateXLS(fileName, filepath, columns, rows);

}

// 取行值

public

List getRowMain(Map map)

{

CommonAction common = new

CommonAction();

List

row = new ArrayList();

row.add(map.get("TID").toString());

row.add(map.get("BUYER_NICK").toString());

row.add(map.get("CREATED").toString());

row.add(map.get("PAYMENT").toString());

row.add(common.getTradeStatus(map.get("STATUS").toString()));

row.add(map.get("WW_NICK").toString());

row.add(map.get("RECEIVED_PAYMENT").toString());

return row;

}

//=========================== Export2XLS 生成Excel类

===========================

package com.skylink.common.util;

import java.io.File;

import java.io.IOException;

import java.util.ArrayList;

import java.util.List;

import jxl.Workbook;

import jxl.write.Label;

import jxl.write.WritableSheet;

import jxl.write.WritableWorkbook;

import jxl.write.WriteException;

public class Export2XLS {

public String CreateXLS(String fileName, String

filepath,

List

columnHeaders,

List>

rows) {

WritableWorkbook workbook =

null;

WritableSheet sheet =

null;

// 创建一个可写入的excel文件对象

String realPath = filepath +

fileName;

try {

workbook =

Workbook.createWorkbook(new File(realPath));

} catch (IOException e1)

{

e1.printStackTrace();

}

try {

sheet =

workbook.createSheet("sheet1", 0);

// 表头

for (int i =

0; i < columnHeaders.size(); i++) {

sheet.addCell(new

Label(i, 0, columnHeaders.get(i)));

}

for (int i =

0; i < rows.size(); i++) {

List

row = rows.get(i);

for

(int j = 0; j < row.size(); j++) {

sheet.addCell(new

Label(j, i + 1, row.get(j)));

}

}

// 写入信息

//

关闭excel表

workbook.write();

workbook.close();

} catch (Exception e) {

try {

workbook.close();

} catch

(WriteException e1) {

e1.printStackTrace();

} catch

(IOException e1) {

e1.printStackTrace();

}

}

return realPath;

}

public static void main(String[] args) {

String fileName =

"testFile.xls";

String filepath = "e:\\";

ArrayList

columns = new

ArrayList();

columns.add("01");

columns.add("测试列2");

columns.add("测试列3");

ArrayList>

rows = new

ArrayList>();

for (int i = 0; i

< 10; i++) {

List

row = new ArrayList();

for (int j =

0; j < 3; j++) {

if

(j == 0) {

row.add("00"

+ i + j);

}

else {

row.add("单元格"

+ i + "," + j);

}

}

rows.add(row);

}

new

Export2XLS().CreateXLS(fileName, filepath, columns, rows);

// new

Export2XLS().append(fileName, filepath, rows);

}

}

//=========================== download.jsp导出页面 ===========================

charset=GBK" pageEncoding="GBK"%>

import="java.io.PrintWriter"%>

import="java.io.File"%>

import="java.io.IOException"%>

import="java.text.SimpleDateFormat"%>

import="java.util.*"%>

import="com.opensymphony.xwork2.ActionContext"

%>

request.setCharacterEncoding("GBK");

String fileName =

request.getParameter("fileName");

String filepath =

request.getParameter("realExportPath");

fileName = new

String(fileName.getBytes("GBK"),"iso8859-1");

String fileTitle= fileName;

if (filepath != null) {

response.setContentType("APPLICATION/OCTET-STREAM;charset=ISO-8859-1");

response.setHeader("Content-Disposition","attachment;

filename=" + fileTitle + "");

java.io.FileInputStream

fileInputStream = new java.io.FileInputStream(filepath);

java.io.File file = new

java.io.File(filepath);

response.setContentLength((new

Long(file.length()).intValue()));

PrintWriter pw =

response.getWriter();

byte[] charArray = new

byte[4096];

int len;

while ((len =

fileInputStream.read(charArray)) != -1) {

String s =

new String(charArray, "ISO-8859-1");

pw.write(s);

}

pw.flush();

pw.close();

fileInputStream.close();

System.out.println("输出完成............");

deleteFile(filepath);

}

%>

IOException {

File f = new

File(filepath);//定义文件路径 if (f.exists()

&& f.isDirectory())

{//判断是文件还是目录

if

(f.listFiles().length == 0) {//若目录下没有文件则直接删除

f.delete();

} else

{//若有则把文件放进数组,并判断是否有下级目录

File

delFile[] = f.listFiles();

int

i = f.listFiles().length;

for

(int j = 0; j < i; j++) {

if

(delFile[j].isDirectory()) {

deleteFile(delFile[j].getAbsolutePath());//递归调用del方法并取得子目录路径

}

delFile[j].delete();//删除文件

}

}

deleteFile(filepath);//递归调用

} else {

f.delete();

}

}%>

java分页导出excel_java导出Excel(适用于分页,导出大量数据)相关推荐

  1. 工作系列Java开发之利用Java实现ERP系统中Excel表格的导出

    工欲善其事必先利其器 前言: 最好的学习方式就是分享,喜欢就三连一下吧(关注,转发,点赞). 今天的内容开始之前,我先申明一下,今天的知识很重要! 很重要! 很重要 ,Excel表格的导出在正式步入公 ...

  2. (半成品)Excel文件按要求导出至模板excel中(含配套数据)

    Task:Excel文件按要求导出至模板excel中 要求其实挺多的,一下次也说不完,大致情况如下图所示 数据:配套数据下载链接(如未审核完成,请评论留言邮箱给我哈) 思路: 用openpyxl库筛选 ...

  3. php导出复杂表头excel,php如何导出复杂列的excel?

    //前台处理 document.getElementById("a_export").οnclick=function(){ $("#LoadingPark") ...

  4. java jxl 写 excel_Java 操作Excel(jxl读和写)

    一.读操作: package com.jxl.opr; import java.io.FileInputStream; import java.io.FileNotFoundException; im ...

  5. java 上传 excel_Java对Excel表格的上传和下载处理方法

    Excel表格文件的上传和下载,java中涉及到文件肯定会有io流的知识. 而excel文件就要涉及到poi技术,而excel的版本包括:2003-2007和2010两个版本, 即excel的后缀名为 ...

  6. php导出数据库为excel文件,phpexcel导出数据库成excel文件

    error_reporting(E_ALL); date_default_timezone_set('Europe/London'); /** PHPExcel */ require_once '.. ...

  7. java jxl写excel_java读写Excel(JXL)

    1.找到JXL.jar包,导入程序. 2.读取Excel public static void readExcel() throws BiffException, IOException{ //创建一 ...

  8. java实现简单的读取excel中的每一行数据

    参考: https://www.cnblogs.com/cbzg/p/5747739.html 需要的jar包 网盘下载链接 提取码:qw23 读取excle文件代码 public class Rea ...

  9. tiptop使用java的poi包实现EXCEL导入导出功能

    4gl可以调用java的poi包实现EXCEL的导入导出,今天分享一个EXCEL导入的功能!  一:环境搭建  1:poi文件导入  首先下载POI文件(找不到的可以私信我),解压后上传到ERP的服务 ...

  10. EasyPoi实现excel文件导入导出

    EasyPoi学习实践 1 简介 easypoi功能如同名字easy,主打的功能就是容易,让一个没见接触过poi的人员 就可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板 ...

最新文章

  1. Go在区块链的发展和演进
  2. golang从stdin中读取一行
  3. URI,URL和URN有什么区别?
  4. win7映射网络驱动器消失了_驱动器出现问题怎么办_Win7系统映射网络驱动器出现故障如何解决...
  5. ubuntu 设置root启动
  6. TensorFlow2实现协同过滤算法中的矩阵分解(首家基于TS2版本)
  7. web ua检测_UA Web挑战会议:针对初创公司的SpringIO
  8. Google AppEngine:任务队列API
  9. 写博客的好处,专家告诉你
  10. 迪杰斯特拉算法 两点间最短路径的选择
  11. Topology and Geometry in OpenCascade-Face
  12. 新一代互联网巨头老板,最大方谁抠门?
  13. android 9.0打开wifi,Android9.0 SystemUI 屏蔽打开wifi时不显示4G图标的逻辑
  14. oracle9.2.0.7,Oracle9.2.0.1升级到9.2.0.7
  15. 蓝蓝设计 扁平化界面风格的设计
  16. 从零开发区块链应用(十一)--以太坊地址生成
  17. Unity中创建地形和给地形贴图的学习方法
  18. 入门级练习题(1-15)
  19. Linux创建用户密码修改
  20. 女人要想赚钱,应该选什么路?

热门文章

  1. C# SQLserver 学习
  2. 荣耀x10max有在鸿蒙系统里吗,荣耀X10Max对比荣耀X10?怎么选?看完就明白了
  3. RanorexStudio使用遇到的问题
  4. 小米9,我连抢4场失败,蓝厂IQOO一次成功,还有MIUI和VIVO那啥系统的体验对比
  5. linux 驱动学习笔记-ALSA声卡驱动(二)
  6. android恢复出厂设置广播,如何恢复出厂设置您的Android TV | MOS86
  7. 十分钟教你部署一个属于自己的chatgpt网站
  8. Windows文件直接上传到Linux
  9. C语言基础知识之分支结构
  10. Linux权限命令sudo和chmod