easyui导出excel表格?排序就是指排当前页,因为看不见的排序也没用。楼主要是想全局排序的话,可以使用服务器端排序,但那样的话会刷新整个表格的数据的。easyui目前还没提供导出Excel的功能,tiger ui这个有导出Excel的功能。要导出Excel,那么,easyui导出excel表格?一起来了解一下吧。
对于你这个问题,首先easyui的控件液纤不支持直接导出的方式,也不可能支持,如果一个浏览器可以获得导出(写)的权限,那么你的PC存在极大的安全隐患!对方可以通过浏核埋前览器做任何他改清想做的事情。所以你要导出EXCEL 只能从后台返回来的JSON数据想办法
首先将excel是不可能直接导入到表格毕老中的,因为它是文件,easyui用的不多,不清楚有没有这个支持,但是如果用一般的方法,当然是用java第三方的解析excle的插件,来解析上传的excle,读取excle的内容,旁闭存入bean中,前台再显示。运数裂
用easyui实现datagird导出到Excel的方法:
//导出Excel
function exportExcel() {
var rows = $("#saleGrid").datagrid("getRows");
for (var i = 0; i < rows.length; i++) {//进行数据处理
if (isArray(rows[i].OrganizedId)) {
rows[i].OrganizedId = rows[i].OrganizedId[0];
}
if (isArray(rows[i].CustomerId)) {
rows[i].CustomerId = rows[i].CustomerId[0];
}
if (rows[i].AdvanceDate != null) {
var unix = rows[i].AdvanceDate.replace("/Date(", "").replace(")/", "");
var un = unix.substring(0, 10);
var newDate = new Date();
newDate.setTime(un * 1000);
rows[i].AdvanceDate = newDate.toLocaleString();
}
if (rows[i].OrderDate != null) {
var unix = rows[i].OrderDate.replace("/Date(", "").replace(")/", "");
var un = unix.substring(0, 10);
var newDate = new Date();
newDate.setTime(un * 1000);
rows[i].OrderDate = newDate.toLocaleString();
}
if (rows[i].RetainageDate != null) {
var unix = rows[i].RetainageDate.replace("/Date(", "").replace(")/", "");
var un = unix.substring(0, 10);
var newDate = new Date();
newDate.setTime(un * 1000);
rows[i].RetainageDate = newDate.toLocaleString();
}
//移除不要的字段
delete rows[i].SaleAtts;
delete rows[i].SaleOrderId;
delete rows[i].SaleOrderItems;
delete rows[i].SaleStatus;
delete rows[i].UserName;
delete rows[i].Customer;
delete rows[i].AddDate;
}
var bodyData = JSON.stringify(rows);/铅轿凯/转成json字符串
//替换中文标题
var a = bodyData.replace(/SaleOrderNo/g, "订单编号").replace(/OrderType/g, "订单类型").replace(/FromWhere/g, "订单来源")
.replace(/OrganizedId/g, "机构").replace(/SaleUser/g, "销售员").replace(/SaleTc/g, "销售提成").replace(/OrderDate/g, '订单日期')
.replace(/ContractNo/g, "合同编号").replace(/Amount/g, "总额").replace(/Advance/g, "首付款").replace(/AdvanceDate/g, "首付款日期")
.replace(/PayMethod/g, "支付方式").replace(/Retainage/g, "尾款").replace(/RetainageDate/g, "尾款日期").replace(/InlayPrice/g, "镶嵌款")
.replace(/CustManager/g, "客户经理").replace(/EquityNo/g, "认股书编号").replace(/LogisticsTotal/g, "物流帆兄费用")
.replace(/Remarks/g, "备注").replace(/CompletedStatus/g, "状态").replace(/CustomerId/g, "终端客槐唤户");
var postData = {
data: a
};
$.ajax({
type: "POST",
url: "ExportExcel",
data: postData,
success: function (data) {
if (data == "1") {
layer.msg("操作成功,文件在桌面!", {
icon: 6,
time: 2000,
});
} else if (data == "-1") {
layer.msg("操作失败!", { icon: 2 });
}
}
});
}
废话俺就少说了,直接进入正题!!单纯的JS能够导出Excel的不多竖链见,一般都需要调用客户端所安装的Office
Excel组件来完成这个工作。这里我主要讲EasyUI内的DataGrid如何结合JS导出Excel文件
一、
导出Excel的核心代码段如下所示
function
Exproter()
{
//获取Datagride的列
var
rows
=
$('#test').datagrid('getRows');
var
oXL
=
new
ActiveXObject("Excel.Application");
//创建AX对象excel
var
oWB
=
oXL.Workbooks.Add();
//获取workbook对象
var
oSheet
=
oWB.ActiveSheet;
//激活当前sheet
for
(var
i
=
0;
i
<
rows.length;
i++)
{
oSheet.Cells(i
+
1,
1).value
=
rows[i].O_NAME;
}
oXL.Visible
=
true;
//设置excel可见属性
}
二、以上JS方法能够顺利执行的大前提就是
1.机器上Excel已经安装.
2.Internet
选项=>安全=>Internet
\"对没有标记为安全的ActiveX控件进行初始化和脚本运行,设定为启用\"
//EasyUI
datagrid
动态导出Excel
function
ExporterExcel()
{
//获取Datagride的列
var
rows
=
$('#tt').datagrid('getRows');
var
columns
=
$("#tt").datagrid("options").columns[0];
var
oXL
=
new
ActiveXObject("Excel.Application");
//创建AX对象excel
var
oWB
=
oXL.Workbooks.Add();
//获取workbook对象
var
oSheet
=
oWB.ActiveSheet;
//激活当前sheet
//设置工作薄名称
oSheet.name
=
"导出Excel报表";
//设置表头
for
(var
i
=
0;
i
<肢知
columns.length;
i++)
{
oSheet.Cells(1,
i+1).value
=
columns[i].title;
}
//设置内容部分
for
(var
i
=
0;
i
<
rows.length;
i++)
{
//动态历纤消获取每一行每一列的数据值
for
(var
j
=
0;
j
<
columns.length;
j++)
{
oSheet.Cells(i
+
2,
j+1).value
=
rows[i][columns[j].field];
}
}
oXL.Visible
=
true;
//设置excel可见属性
}
以上就是小编为大家带来的EasyUI
结合JS导出Excel文件的实现方法全部内容了,希望大家多多支持脚本之家~
排序就是指排当前页,因为看不见的排序也没用。楼主要是想全局排序的话,可以使用服务器端排序,但那样的话会刷新整个表格的正蔽棚数据的。
easyui目前还没提供导出举则Excel的功能,tiger ui这个并昌有导出Excel的功能。要导出Excel,可以使用PHPExcel这个风骚的类库,各种功能。
以上就是easyui导出excel表格的全部内容,easyuiexcel文件1、把数据导入到excel表中,存放在项目upload文件夹下2、利用Struts2提供的功能把excel表从项目的upload文件夹中下来。