Heim  >  Artikel  >  Web-Frontend  >  通过Javascript将数据导出到外部Excel文档的函数代码_javascript技巧

通过Javascript将数据导出到外部Excel文档的函数代码_javascript技巧

WBOY
WBOYOriginal
2016-05-16 17:52:511064Durchsuche
复制代码 代码如下:

function AutomateExcel() {
try {
//Start Excel and get Application object.
var oXL;
try
{
oXL = new ActiveXObject("Excel.Application");
}
catch(e)
{
alert("无法启动Excel!\n\n如果您确信您的电脑中已经安装了Excel," + "那么请调整IE的安全级别。 \n具体操作: \n" + "工具 → Internet选项 → 安全 → 自定义级别 → 对没有标记为安全的ActiveX进行初始化和脚本运行 → 启用");
return false;
}
//Get a new workbook.
var oWB = oXL.Workbooks.Add();
var oSheet = oWB.ActiveSheet;
var table = $("#GridView1")[0];
var rows = table.rows;
var columns = table.rows(0).cells;
var codes = "";
//设置标题
var name = "第 页";
oXL.Caption = name;
oSheet.Name = name;
//设置表头
oSheet.Cells(1, 1).Value = "申请单编号";
oSheet.Cells(1, 2).Value = "出货金额";
oSheet.Cells(1, 3).Value = "营销部门";
oSheet.Cells(1, 4).Value = "业务人员";
oSheet.Cells(1, 5).Value = "内部合同号";
oSheet.Cells(1, 6).Value = "客户名称";
oSheet.Cells(1, 7).Value = "币种";
oSheet.Cells(1, 8).Value = "客户船期";
oSheet.Cells(1, 9).Value = "国别";
oSheet.Cells(1, 10).Value = "核销单号";
oSheet.Cells(1, 11).Value = "发票号码";
oSheet.Cells(1, 12).Value = "报关日期";
//获取当前页申请单编号
for (var i = 2; i codes += "'" + rows(i - 1).cells(0).innerText + "',";
}
codes += "''";
//获取数据并填充数据到EXCEL
$.post("../Handlers/ShippingApplyHandler.ashx",
{ Action: "ExportData", ExportCondition: codes },
function (views) {
if (views != null) {
var beginindex = 1;
var endindex = 1;
for (var i = 0; i endindex++;
oSheet.Cells(i + 2, 1).Value = views[i].SACode;
oSheet.Cells(i + 2, 2).Value = views[i].AmountSum;
oSheet.Cells(i + 2, 3).Value = views[i].Department;
oSheet.Cells(i + 2, 4).Value = views[i].SalesName;
oSheet.Cells(i + 2, 5).Value = views[i].ContractNo;
oSheet.Cells(i + 2, 6).Value = views[i].CustomerName;
oSheet.Cells(i + 2, 7).Value = views[i].CurrencyCode;
if (views[i].CustomerSchedule != null) {
oSheet.Cells(i + 2, 8).Value = ConvertToJSDate(views[i].CustomerSchedule).Format("yyyy-MM-dd");
}
oSheet.Cells(i + 2, 9).Value = views[i].Country;
oSheet.Cells(i + 2, 10).Value = views[i].VerificationNumber;
oSheet.Cells(i + 2, 11).Value = views[i].InvoiceNumber;
if (views[i].CustomsDate != null) {
oSheet.Cells(i + 2, 12).Value = ConvertToJSDate(views[i].CustomsDate).Format("yyyy-MM-dd");
}
if (i > 0 && views[i - 1].SACode == views[i].SACode) {
oSheet.Range(oSheet.Cells(beginindex, 1), oSheet.Cells(endindex, 1)).Merge();
oSheet.Range(oSheet.Cells(beginindex, 2), oSheet.Cells(endindex, 2)).Merge();
oSheet.Range(oSheet.Cells(beginindex, 3), oSheet.Cells(endindex, 3)).Merge();
oSheet.Range(oSheet.Cells(beginindex, 4), oSheet.Cells(endindex, 4)).Merge();
oSheet.Range(oSheet.Cells(beginindex, 5), oSheet.Cells(endindex, 5)).Merge();
oSheet.Range(oSheet.Cells(beginindex, 6), oSheet.Cells(endindex, 6)).Merge();
oSheet.Range(oSheet.Cells(beginindex, 7), oSheet.Cells(endindex, 7)).Merge();
oSheet.Range(oSheet.Cells(beginindex, 8), oSheet.Cells(endindex, 8)).Merge();
beginindex = endindex;
}
else {
beginindex++;
}
}
}
}, "json");
//设置自动列宽
oSheet.Columns.AutoFit();
//设置excel为可见
oXL.Visible = true;
//将Excel交由用户控制
oXL.UserControl = true;
//禁止提示
oXL.DisplayAlerts = false;
//释放资源
//oXL = null;
//oWB = null;
//oSheet = null;
}
catch (e) {
}
}
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn