function Co_Export(formObj,sSingleCmd, sCtrlId,nPos) {
var a=formObj;
var a=sSingleCmd;
var a=sCtrlId;
var a=nPos;
var vscmd = sSingleCmd.substring(nPos + 9,sSingleCmd.length);
vscmd = ScanStr(formObj,vscmd,0,2,0,0);
//获取后台传入的业务表单编号
var ywbdid=vscmd.substring(1,vscmd.length-1);
/**
* 声明属性
*/
var btmc="";//标题名称
var year="";//标题名称
/**
* 获取动态加载值
*/
//btmc=document.getElementsByName("SingelEdit_40").value;
//alert("btmc="+btmc);
//year=document.getElementsByTagName("征地年份").value;
//alert("year="+year);
/**
* 导出excel
*/
var oXL = new ActiveXObject("Excel.Application"); //创建excel应用程序对象
var oWB = oXL.Workbooks.Add(); //创建工作簿
var oSheet = oWB.ActiveSheet; //获取当前活动的工作簿
oSheet.Rows("1:30").ColumnWidth =18;
var table = document.all.myTaskTable; //获取当前页面中的表格
// var hang = table.rows.length; //获取表格有多少行
// var count = selectedCheckBoxArr.size(); //获取表格有多少行
// var lie = table.rows(0).cells.length; //获取首行有多少列-多少标题
//格式设置
/*oSheet.Cells(1,1).Font.Bold = true;//加粗
oXL.Range("A2:K2").Font.Bold = true;//加粗
oXL.Range("A1:K1").MergeCells = true;//合并
oSheet.Cells(1,10).HorizontalAlignment = 7;//居中
oSheet.Cells(1,1).Font.Size = 20;
oSheet.Cells(2,1).Font.Size = 12; */
//标题设置
oSheet.Cells(1,3).RowHeight=40;
oSheet.Columns('A:E').ColumnWidth = 15;
//提取对应导出表单的表头信息
$.post("exportAction_getCfg.do",{id:ywbdid},
function(data){
var str=data[0].lbm.split(";");
var liecell;
for(var ii=0;ii<str.length;ii++){
var strs=str[ii].split(",");
oSheet.Cells(1,1).Font.Bold = true;//加粗
var a=String.fromCharCode(65+strs.length-1);//ASCII 值的提取获得对应字符
oXL.Range("A"+(ii+2)+":"+a+'3').Font.Bold = true;//加粗
oXL.Range("A1:"+a+'1').MergeCells = true;//合并
oSheet.Cells(1,strs.length).HorizontalAlignment = 7;//居中
oSheet.Cells(1,1).Font.Size = 20;
oSheet.Cells(2,1).Font.Size = 12;
oSheet.Cells(1,1).Value = data[0].xznf+" "+data[0].bt;//标题
var hangcell;
var hang2cell;
var currentcell;
var n;
for(var i=0;i<strs.length;i++){
currentcell=strs[i];
oSheet.Cells(2+ii,i+1).Value = strs[i];
var hq=String.fromCharCode(65+i);//合并的前cell
var hh=String.fromCharCode(65+(i+1));//合并的当前cell
debugger;
var qiancurrentcell;
if(ii>0){
qiancurrentcell=str[ii-1].split(",")[(i-1)]
}
if(currentcell!=qiancurrentcell){
if(hangcell==currentcell){//针对每行的处理,如果上个单元格与当前单元格内容相同,择执行合并
hq=String.fromCharCode(65+(i-1));//合并的前cell
hh=String.fromCharCode(65+i);//合并的当前cell
var hbys=hq+(ii+2)+":"+hh+(ii+2);//组合的元素,示例:"A2:B2"
//oSheet.Cells(i,(i+1)).HorizontalAlignment =3;//居中
oXL.Range(hbys).MergeCells = true;//合并
}
}
hangcell=strs[i];
if(ii<str.length-1){
var strs2=str[ii+1].split(",");
hang2cell=strs2[i];
if(hang2cell==hangcell){//如果第二行的列与第一行的列单元格值相同,择执行合并
var lq=hq+(ii+2);
var lh=hq+(ii+(2+1));//默认是从第三行进行处理
var lbys=lq+":"+lh;//组合的元素,示例:"A2:A3"
oXL.Range(lbys).MergeCells = true;//合并
n=hang2cell;
}
else{
oSheet.Cells(2+(ii+1),i+1).Value = strs2[i];
}
}
}
}
//获取excel内容
$.ajax({
type:"post",
url:"exportAction_exportData.do?id="+ywbdid+"",//通过控制器调用后台
dataType:"json",
async: false,
success:function(data){
for(i=0;i<data.length;i++){
oSheet.Cells(i+(str.length+2),1).Value = data[i].bzddw;
oSheet.Cells(i+(str.length+2),2).Value = data[i].zdmj;
oSheet.Cells(i+(str.length+2),3).Value = data[i].xm;
oSheet.Cells(i+(str.length+2),4).Value = data[i].wz;
oSheet.Cells(i+(str.length+2),(str.length+2)).Value = data[i].zdk;
oSheet.Cells(i+(str.length+2),6).Value = data[i].fzwbc;
oSheet.Cells(i+(str.length+2),7).Value = data[i].qt;
oSheet.Cells(i+(str.length+2),8).Value = data[i].zjk;
oSheet.Cells(i+(str.length+2),9).Value = data[i].xyqdrq;
oSheet.Cells(i+(str.length+2),10).Value = data[i].bh;
oSheet.Cells(i+(str.length+2),11).Value = data[i].bz;
}
},
error:function(){
alert('暂无数据!');
}
});
oXL.Visible = true; //设置Excel的属性
oXL.UserControl = true;
},"json");
}
webform.CoReg('Co_Export', Co_Export);
相关推荐
js导出execl,自动合并单元格,自动增行,增列
winform使用Microsoft.Office.Interop.Excel读取带有合并单元格的Excel的demo,Excel版本不限,可以是.xls可以是.xlsx版本。本程序采用webbrowser显示读取的数据,使用bootstrap的css样式美化table表格,使用Json...
Javascript导出excel为xlsx格式,兼容IE6+和主流浏览器,下载下来直接可以使用。 其他javascript导出excel插件可看作者文章:https://blog.csdn.net/qq_21693027/article/details/80459677
Javascript导出Excel,自动合并单元格、自动列宽、自动获取table页面数据进行合并单元格。列
一个导出excel的demo,包含导出的逻辑代码和依赖包,下载以后请执行 npm install ,然后起服务访问,不能直接以 file://打开哦
前端导出excel,可以控制样式,单元格合并居中等
SheetJS免费版的不支持格式,比如居中、自动换行都不行。xlsx-style是SheetJS的一个分支,且支持各种格式,可以做到文字居中,自动换行,列宽设置,单元格合并,冻结表头等。
vue 导出excel,支持单元格合并,背景色,列宽,字体大小,一个js 文件就可以搞定
layui数据表格导出Excel插件 博客地址: https://www.cnblogs.com/YunRuiSoftWare/p/13346396.html
在浏览器中将数据导出到excel或WPS的电子表格中是程序开发中经常在实现的功能,提供数据导出,详细的功能注释让你一目了然,如Excel文件的操作,工作表、工作簿操作,单元格操作,表格格式(表格线、行高、列宽、...
自己写的一个关于页面表格(HtmlTable)导出为Execl的功能,专门用户一些复杂的报表导出,因为有些表头存在一些合并单元格、或合并行问题。
使用xlsx.full.min.js导出有复杂表头的excel(亲测有效) > 今天项目用到了导出table表格,但表头有点特殊,多个合并的单元格。 > 搜索了半天,发现有博主使用 ``xlsx.full.min.js`` 做过此类功能,使用的是vue+...
使用nodejs将mysql数据库中的数据导出成excel格式,并附带mysql连接池及mysql模块的封装,以及三百万的mysql测试数据,内容详细。
vue实现多sheet页导出所需文件Export2Excel.js
直接可以用的项目。数据量大,导出多个excel然后压缩成zip文件。。。
自动计算并合并单元格 树结构保留 API简洁 高度内聚 依赖 FileSaver.js exceljs 数据格式要求 [ { value: "value 1", list: [ { value: "value 2" }, ] } ] 示例 // 数据 const header = ['日期','人员','...
但是随着项目进行,客户又提出了需要按照格式修改样式的需求,故而只能去查找相关修改excel样式的资料,本想直接用XLSX.js,但显然不行XLSX.js的基础版本只有宽高、合并单元格等比较基础的修改,要更加复杂样式的...
1、页内数据导出excel 2、后端数组数据导出excel 3、自定义excel样式 4、自定义合并单元格
Export2Excel.js、Blob.js实现将数据导出为表格的形式
基于xlsx、xlsx-style框架改进的vue前端页面导出功能(可导出样式、自定义样式、可导出合并单元格),适用于前端开发人员,在非分页场景下对于table的导出。 主要方法:_export_table_to_excel(),在ExportExcel.js...