java分页导出excel_java导出Excel(适用于分页,导出大量数据)
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(适用于分页,导出大量数据)相关推荐
- 工作系列Java开发之利用Java实现ERP系统中Excel表格的导出
工欲善其事必先利其器 前言: 最好的学习方式就是分享,喜欢就三连一下吧(关注,转发,点赞). 今天的内容开始之前,我先申明一下,今天的知识很重要! 很重要! 很重要 ,Excel表格的导出在正式步入公 ...
- (半成品)Excel文件按要求导出至模板excel中(含配套数据)
Task:Excel文件按要求导出至模板excel中 要求其实挺多的,一下次也说不完,大致情况如下图所示 数据:配套数据下载链接(如未审核完成,请评论留言邮箱给我哈) 思路: 用openpyxl库筛选 ...
- php导出复杂表头excel,php如何导出复杂列的excel?
//前台处理 document.getElementById("a_export").οnclick=function(){ $("#LoadingPark") ...
- java jxl 写 excel_Java 操作Excel(jxl读和写)
一.读操作: package com.jxl.opr; import java.io.FileInputStream; import java.io.FileNotFoundException; im ...
- java 上传 excel_Java对Excel表格的上传和下载处理方法
Excel表格文件的上传和下载,java中涉及到文件肯定会有io流的知识. 而excel文件就要涉及到poi技术,而excel的版本包括:2003-2007和2010两个版本, 即excel的后缀名为 ...
- php导出数据库为excel文件,phpexcel导出数据库成excel文件
error_reporting(E_ALL); date_default_timezone_set('Europe/London'); /** PHPExcel */ require_once '.. ...
- java jxl写excel_java读写Excel(JXL)
1.找到JXL.jar包,导入程序. 2.读取Excel public static void readExcel() throws BiffException, IOException{ //创建一 ...
- java实现简单的读取excel中的每一行数据
参考: https://www.cnblogs.com/cbzg/p/5747739.html 需要的jar包 网盘下载链接 提取码:qw23 读取excle文件代码 public class Rea ...
- tiptop使用java的poi包实现EXCEL导入导出功能
4gl可以调用java的poi包实现EXCEL的导入导出,今天分享一个EXCEL导入的功能! 一:环境搭建 1:poi文件导入 首先下载POI文件(找不到的可以私信我),解压后上传到ERP的服务 ...
- EasyPoi实现excel文件导入导出
EasyPoi学习实践 1 简介 easypoi功能如同名字easy,主打的功能就是容易,让一个没见接触过poi的人员 就可以方便的写出Excel导出,Excel模板导出,Excel导入,Word模板 ...
最新文章
- Go在区块链的发展和演进
- golang从stdin中读取一行
- URI,URL和URN有什么区别?
- win7映射网络驱动器消失了_驱动器出现问题怎么办_Win7系统映射网络驱动器出现故障如何解决...
- ubuntu 设置root启动
- TensorFlow2实现协同过滤算法中的矩阵分解(首家基于TS2版本)
- web ua检测_UA Web挑战会议:针对初创公司的SpringIO
- Google AppEngine:任务队列API
- 写博客的好处,专家告诉你
- 迪杰斯特拉算法 两点间最短路径的选择
- Topology and Geometry in OpenCascade-Face
- 新一代互联网巨头老板,最大方谁抠门?
- android 9.0打开wifi,Android9.0 SystemUI 屏蔽打开wifi时不显示4G图标的逻辑
- oracle9.2.0.7,Oracle9.2.0.1升级到9.2.0.7
- 蓝蓝设计 扁平化界面风格的设计
- 从零开发区块链应用(十一)--以太坊地址生成
- Unity中创建地形和给地形贴图的学习方法
- 入门级练习题(1-15)
- Linux创建用户密码修改
- 女人要想赚钱,应该选什么路?