HTML代码:

<a id="aExportData" hidden><span>Export</span></a>

<div class="col-sm-3 col-md-2 col-lg-1">
<button class="btn btn-primary" id="btnImport" onclick="GetImportData()"><i class="fa fa-file-excel-o"></i> 导出</button>
</div>

function ImportToExcel(data) {
try {

if (data.length == 0) {
layer.msg('无可导出数据', { time: 2000, icon: 0 });
return;
}
var table = '<table id="newTable" border="1" cellspacing="0" cellpadding="0">';
table += '<thead>'
+ '<tr>'
//+ ' <th>配件申请ID</th>'
//+ ' <th>订单ID</th>'
+ ' <th>订单编号</th>'
//+ ' <th>车辆DI</th>'
+ ' <th>车牌号</th>'
+ ' <th>司机姓名</th>'
+ ' <th>配件名称</th>'
+ ' <th>单价</th>'
+ ' <th>数量</th>'
+ ' <th>总价</th>'
+ ' <th>应收金额</th>'
+ ' <th>实收金额</th>'
+ ' <th>欠款金额</th>'
+ ' <th>申请时间</th>'
+ '</tr>'
+ '</thead><tbody>';
for (var i = 0, l = data.length; i < l; i++) {
table += '<tr>'
//+ ' <td>' + data[i].FittingSumID.toString() + '</td>'
//+ ' <td>' + data[i].ApplyID.toString() + '</td>'
+ ' <td>' + data[i].ApplyNO.toString() + '</td>'
//+ ' <td>' + data[i].VehicleID + '</td>'
+ ' <td>' + data[i].RegName + '</td>'
+ ' <td>' + data[i].DriverName + '</td>'
+ ' <td>' + data[i].AccessoriesName + '</td>'
+ ' <td>' + data[i].FittingUnitPrice + '</td>'
+ ' <td>' + data[i].Quantity + '</td>'
+ ' <td>' + data[i].Price + '</td>'
+ ' <td>' + data[i].AbleAmount + '</td>'
+ ' <td>' + data[i].EdAmount + '</td>'
+ ' <td>' + data[i].OwedAmount + '</td>'
+ ' <td>' + data[i].InsertTime + '</td>'
+ '</tr>';
}
table += '</tbody></table>';
// 使用outerHTML属性获取整个table元素的HTML代码(包括<table>标签),然后包装成一个完整的HTML文档,设置charset为urf-8以防止中文乱码
var html = "<html><head><meta charset='utf-8' /></head><body>" + table + "</body></html>";
// 实例化一个Blob对象,其构造函数的第一个参数是包含文件内容的数组,第二个参数是包含文件类型属性的对象
var blob = new Blob([html], { type: "application/vnd.ms-excel" });
var a = document.getElementById("aExportData");
// 利用URL.createObjectURL()方法为a元素生成blob URL
a.href = URL.createObjectURL(blob);
// 设置文件名
a.download = "租户配件费用管理.xls";
$("#aExportData span").click();
}
catch (ex) {
catchTheException("ImportToExcel", ex);
}
};

function GetImportData() {
$('#btnImport').prop("disabled", "true")
$.ajax({
type: "Post",
url: _rootPath + "/BusApply/ApplyFitting/GetFittingCostInfoPageAjax?",
data: {
pVehicleIDs: $("#hidVehicleIDs").val(),
pBTime: $("#tBTime").val() + ' 00:00:00',
pETime: $("#tETime").val() + ' 23:59:59',
pCostFlag: $("#tInsurance").val(),
pDriverName: $("#tRenterName").val(),
page: 1,
rows: 100000
},
dataType: "json",
success: function (data) {
$('#btnImport').prop("disabled", "")
if (data.obj.rows) {
ImportToExcel(data.obj.rows);
}
},
error: function (err) {
$('#btnImport').prop("disabled", "")
layer.msg('请求数据异常' + err, { time: 2000, icon: 0 });
}
});
};

Excel数据导出功能的更多相关文章

  1. vue导出excel数据表格功能

    前端工作量最多的就是需求,需求就是一直在变,比如当前端数据写完之后,需要用Excel把数据下载出来. 第一步安装依赖包,需要把代码下载你的项目当中 cnpm install  file-saver c ...

  2. 【基于WinForm+Access局域网共享数据库的项目总结】之篇二:WinForm开发扇形图统计和Excel数据导出

    篇一:WinForm开发总体概述与技术实现 篇二:WinForm开发扇形图统计和Excel数据导出 篇三:Access远程连接数据库和窗体打包部署 [小记]:最近基于WinForm+Access数据库 ...

  3. ThinkPHP 整合 PHPExcel ,数据导出功能实现,解决Invalid cell coordinate

    PHPExcel想必大家都不陌生,是用来操作Office Excel 文档的一个PHP类库,它基于微软的OpenXML标准和PHP语言.可以使用它来读取.写入不同格式的电子表格 本次只做数据导出功能的 ...

  4. excel数据导出新妙招

    之前在做项目的时候需要将数据库中的数据导出为excel表格一遍打印查阅,在网上找了很多插件也没有找到自己理想的好用的插件(也就是说没有找到令我满意的插件),最近在学习a标签的相关知识时理解到,a标签不 ...

  5. java实现Excel数据导出

    java实现Excel数据导出: 目前,比较常用的实现Java导入.导出Excel的技术有两种Jakarta POI和Java Excel Jakarta POI 是一套用于访问微软格式文档的Java ...

  6. 实现excel导入导出功能,excel导入数据到页面中,页面数据导出生成excel文件

    今天接到项目中的一个功能,要实现excel的导入,导出功能.这个看起来思路比较清楚,但是做起了就遇到了不少问题. 不过核心的问题,大家也不会遇到了.每个项目前台页面,以及数据填充方式都不一样,不过大多 ...

  7. .Net之Nopi Excel数据导出和批量导入功能

    一.介绍NPOI和编写demo的原因 1.Npoi是什么: 它是一个专门用于读写Microsoft Office二进制和OOXML文件格式的.NET库,我们使用它能够轻松的实现对应数据的导入,导出功能 ...

  8. php做EXCEL数据导出导入开发的一些小问题

    前两天刚刚做开发CRM系统项目,在做要做EXCEL导出导入功能,因为以前做.NET开发用的是NPOI,但可是没找到PHP版本的,所以就网搜找了个国外的开源PHPEXCEL , 一开始只是做了简单的导入 ...

  9. ASP.NET 之 常用类、方法的超级总结,并包含动态的EXCEL导入导出功能,奉上类库源码

    实用类:UtilityClass 包含如下方法 判断对象是否为空或NULL,如果是空或NULL返回true,否则返回false 验证手机号是否正确 13,15,18 验证邮箱 验证网址 MD5加密,返 ...

随机推荐

  1. 如何用three.js搭建处理3D园区、3D楼层、3D机房管线(机房升级版)-第九课(二)

    接着上一篇文章,<如何用webgl(three.js)搭建处理3D园区.3D楼层.3D机房管线问题(机房升级版)-第九课(一)> 继续讲解关于三维数据中心管线可视化的解决方案. 上一篇我们 ...

  2. CF1202E You Are Given Some Strings...

    题目传送门. 题意简述:给出 \(t\) 与 \(s_{1,2,\cdots,n}\).求对于所有 \(i,j\in[1,n]\),\(s_i+s_j\) 在 \(t\) 中出现次数之和. 如果只有 ...

  3. 【4】蛋白质组学鉴定软件之MSGFPlus

    目录 1.简介 2.安装运行 3.结果 1.简介 MSGF+也是近年来应用得比较多的蛋白鉴定软件.java写的,2008年初次发表JPR,2014年升级发表NC,免费开源,持续更新维护,良心软件.而且 ...

  4. 毕业设计之dns搭建:

    [apps@dns_sever ~]$ sudo yum install -y bind [apps@dns_sever ~]$ sudo vim /etc/named.conf // // name ...

  5. perl练习——计算点突变

    题目来源:http://rosalind.info/problems/hamm/ 一.程序目的:计算序列点突变(Point Mutations) 输入: GAGCCTACTAACGGGAT CATCG ...

  6. Identity Server 4 从入门到落地(六)—— 简单的单页面客户端

    前面的部分: Identity Server 4 从入门到落地(一)-- 从IdentityServer4.Admin开始 Identity Server 4 从入门到落地(二)-- 理解授权码模式 ...

  7. idea数据库报错java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

    通过idea操作数据库,进行数据的增加,运行时报错java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 原因:没有导入mysql-connec ...

  8. 启动spark-shell --master yarn的bug

    报错如下 18/06/06 15:55:31 ERROR cluster.YarnClientSchedulerBackend: Yarn application has already exited ...

  9. Spark的shuffle和MapReduce的shuffle对比

    目录 MapperReduce的shuffle Spark的shuffle 总结 MapperReduce的shuffle shuffle阶段划分 Map阶段和Reduce阶段 任务 MapTask和 ...

  10. GPU随机采样速度比较

    技术背景 随机采样问题,不仅仅只是一个统计学/离散数学上的概念,其实在工业领域也都有非常重要的应用价值/潜在应用价值,具体应用场景我们这里就不做赘述.本文重点在于在不同平台上的采样速率,至于另外一个重 ...