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. banner.txt

    Spring Boot Version: ${spring-boot.version} __----~~~~~~~~~~~------___ . . ~~//====...... __--~ ~~ - ...

  2. Linux之crond任务调度

    1. 示意图 2. 基本语法 crontab [选项] # -e : 编辑crontab定时任务 # -l : 查询crontab # -r : 删除当前用户所有的crontab任务 # 例子: # ...

  3. 笔记Mysql(1)

    客户端的登录命令 查看版本 查看设置(数据库的基本设置信息) 查看时间 查看链接数 查看超时的关键字 创建数据库 查看已有数据库 进入数据库,查询链接到的数据库 查询数据目录 创建表 查看表

  4. Volatile的3大特性

    Volatile volatile是Java虚拟机提供的轻量级的同步机制 3大特性 1.保证可见性 当多个线程同时访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看得到修改的值 案例代码 ...

  5. js获取中国省市区,省市筛选、省市、省市筛选联动。【C#】【js】

    <style type="text/css"> .labelhide { -webkit-box-shadow: 0px 1px 0px 0px #f3f3f3 !im ...

  6. c++ cmake及包管理工具conan简单入门

    cmake是一个跨平台的c/c++工程管理工具,可以通过cmake轻松管理我们的项目 conan是一个包管理工具,能够自动帮助我们下载及管理依赖,可以配合cmake使用 这是一个入门教程,想深入了解的 ...

  7. applogs流量数据项目学习

    一. 项目介绍 项目的功能主要是面向App开发商提供App使用情况的统计服务 主要是基于用户启动app的统计分析,app只要启动就会上报一条日志记录 (启动日志),当然也会有其他的日志比如说页面访问日 ...

  8. 大数据学习day39----数据仓库02------1. log4j 2. 父子maven工程(子spring项目的创建)3.项目开发(埋点日志预处理-json数据解析、清洗过滤、数据集成实现、uid回补)

    1. log4j(具体见log4j文档) log4j是一个java系统中用于输出日志信息的工具.log4j可以将日志定义成多种级别:ERROR  /  WARN  /  INFO  /  DEBUG ...

  9. pyqt5 的串口编写进度

    2020.12.18 今天遇到一个问题, 想用回车实现串口数据的发送. 下面这句话是让光标移动到文字的尾部,但是不能够实现. 对QTextEdit控件中的文字改写,或清除后,再调用下面的移动到尾部,就 ...

  10. 容器之分类与各种测试(四)——unordered-multiset

    unordered-multiset是不定序关联式容器,其底部是通过哈希表实现功能. (ps:黑色框就是bucket,白色框即为bucket上挂载的元素) 为了提高查找效率,bucket(篮子)的数量 ...