我是靠谱客的博主 迷你大地,最近开发中收集的这篇文章主要介绍js和Java导出Excel,csv文件,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

javascript导出Excel文件:

js导出Excel的前提是:必须在IE下,并且在安全级别下启用activeX控件

//导出Excel
function exproter() {
/*
var rows = $('#datatable').datagrid('getRows');//获得页面数据
try{
//创建操作Excel文件的对象
var oXL = new ActiveXObject("Excel.Application");
var oWB = oXL.Workbooks.Add();
var oSheet = oWB.ActiveSheet;
//产品名称按顺序
//定义第一行每一列的值,用for循环写入
var title=["产品类型","产品编号","产品名称","产品明细","交易金额","单价","数量","总价","用户备注",
"商户ID","状态","提交时间","处理方式","结束时间","处理结果","机器号","操作记录","账户余额",
"打折金额","是否打折","IP地址",];
for(var i=0;i<title.length;i++){
oSheet.Cells(1, i+1).value=title[i];
}
for (var i = 0; i < rows.length; i++) {
oSheet.Cells(i + 2, 1).value = rows[i].protype;
oSheet.Cells(i + 2, 2).value = rows[i].product;
oSheet.Cells(i + 2, 3).value = rows[i].productname;
oSheet.Cells(i + 2, 4).value = rows[i].detail;
oSheet.Cells(i + 2, 5).value = rows[i].dealmoney;
oSheet.Cells(i + 2, 6).value = rows[i].price;
oSheet.Cells(i + 2, 7).value = rows[i].num;
oSheet.Cells(i + 2, 8).value = rows[i].money;
oSheet.Cells(i + 2, 9).value = rows[i].uremark;
oSheet.Cells(i + 2, 10).value = rows[i].userid;
oSheet.Cells(i + 2, 11).value = rows[i].status;
oSheet.Cells(i + 2, 12).value = rows[i].intime;
oSheet.Cells(i + 2, 13).value = rows[i].finishmethod;
oSheet.Cells(i + 2, 14).value = rows[i].oktime;
oSheet.Cells(i + 2, 15).value = rows[i].result;
oSheet.Cells(i + 2, 16).value = rows[i].machine;
oSheet.Cells(i + 2, 17).value = rows[i].operate;
oSheet.Cells(i + 2, 18).value = rows[i].ubalance;
oSheet.Cells(i + 2, 19).value = rows[i].rebate;
oSheet.Cells(i + 2, 20).value = rows[i].isrebatedone;
oSheet.Cells(i + 2, 21).value = rows[i].ip;
}
//导出时会弹出另存为对话框,让用户自行制定保存位置
oWB.Close(savechanges=true);
}catch(e){
$.messager.alert("提示信息","创建Excel文件失败,请确保您的计算机上安装了Microsoft Office Excel软件,并"+
"在IE浏览器中做如下设置:单击“安全”中的“自定义级别”,单击“ActiveX控件和插件”,请选择第三项为启用,错误信息:"+e.message, "info");
return;
}finally{
//关闭操作对象
oXL.Application.Quit();
} */
}

java导出csv文件:

csv文件格式很简单,只需要将要导出的内容拼接为制定格式,再用流写出就可以了:


* 导出
* @param request
* @param response
*/
public void exportService(HttpServletRequest request,HttpServletResponse response){
try {
//将第一次查询的条件保存到session,这里封装成对象,导出时再去数据库查询一次
CurrentRecord currentrecord=(CurrentRecord) request.getSession().getAttribute(Constant.SESSION_RECORDERPARAM);
currentrecord.setStartIndex(0);
List<CurrentRecord> currentrecordlist=currentrecorddao.queryCurrentRecord(currentrecord);
StringBuilder sb=new StringBuilder();
//将查到的数据拼接为csv文件格式
sb.append(""缴费号码","缴费金额","卡点","上报时间","完成时间","状态","通道","机器名"rn");
for (CurrentRecord c : currentrecordlist) {
sb.append("""+c.getChargetelephone()+"",");
sb.append("""+c.getMoney()+"",");
sb.append("""+c.getCode()+"",");
sb.append("""+c.getChargetime()+"",");
sb.append("""+c.getOktime()+"",");
sb.append("""+c.getStatus()+"",");
sb.append("""+c.getChanel()+"",");
sb.append("""+c.getMachine()+"""+"rn");
}
String result=sb.toString().replace("null","");//null替换成空格
response.setContentType("text/html;charset=UTF-8");
BufferedOutputStream bos = null;
//写出到浏览器,如果用Ajax发送的请求无法下载文件,在页面将请求改为超链接的形式
String filename=new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
response.setHeader("Content-disposition","attachment;filename="" +filename+".csv"");
bos=new BufferedOutputStream(response.getOutputStream());
byte b[]=result.getBytes();
bos.write(b);
bos.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}


最后

以上就是迷你大地为你收集整理的js和Java导出Excel,csv文件的全部内容,希望文章能够帮你解决js和Java导出Excel,csv文件所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部