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,自动合并单元格,自动增行,增列
总之,将HTML表格导出为Excel并支持合并单元格和合并行是一项实用的技术,它扩展了网页应用的功能,使用户能够方便地处理和分享结构化的数据。通过理解和实现这样的功能,开发者可以提升用户体验,特别是在数据报告...
总结来说,前端导出Excel涉及到数据转换、样式设置和文件生成等多个步骤。使用像`SheetJS`这样的库可以帮助简化这一过程,但正确配置和优化仍然是关键。在实际项目中,确保按照需求正确设置字体、列宽、行高、对齐...
vue 导出excel,支持单元格合并,背景色,列宽,字体大小,一个js 文件就可以搞定
winform使用Microsoft.Office.Interop.Excel读取带有合并单元格的Excel的demo,Excel版本不限,可以是.xls可以是.xlsx版本。本程序采用webbrowser显示读取的数据,使用bootstrap的css样式美化table表格,使用Json...
在标题提到的两种方法中,我们将重点讨论如何利用SheetJS和xlsx-style库来实现更复杂的Excel导出功能,如文字居中、自动换行、列宽设置、单元格合并以及冻结表头。 SheetJS是一个强大的JavaScript库,它允许开发者...
Javascript导出excel为xlsx格式,兼容IE6+和主流浏览器,下载下来直接可以使用。 其他javascript导出excel插件可看作者文章:https://blog.csdn.net/qq_21693027/article/details/80459677
纯JS导出Excel 处理导出Excel如果是合并单元格了无法显示边框问题 处理插入表头问题 导出Excel样式可自定义
"Export2Excel.js导出excel"是一个针对这种情况的解决方案,它允许在Vue项目中实现前端直接导出Excel文件。下面将详细阐述这个功能的实现原理和涉及的技术。 首先,"Blob.js"是用于处理浏览器中的Blob对象的...
总结一下,JavaScript导出Excel和Word的关键步骤包括: 1. 获取Table数据和样式信息。 2. 将数据转化为适合Excel或Word的格式。 3. 使用库(如SheetJS、docx)生成相应格式的文件。 4. 创建下载链接或通过服务器完成...
二、导出Excel的基本步骤 1. 引入库:在HTML文件中,通过`<script>`标签引入"xlsx.full.min.js"库。 2. 数据准备:将需要导出的数据整理成二维数组或JSON对象,这是Excel数据的基本结构。 3. 创建工作簿:使用`XLSX....
在JavaScript中,导出Excel是一项...以上就是关于使用JavaScript导出Excel,包括自动合并单元格、自动调整列宽以及从HTML表格获取数据的一些关键技术点。实际开发中,还需要结合项目需求和具体库的文档进行细致的实现。
layui数据表格导出Excel插件是一款为layui框架设计的实用工具,它允许用户方便地将layui数据表格中的数据导出到Excel文件中。layui是一款轻量级的前端UI框架,以其简洁、优雅的代码风格和丰富的组件库深受开发者喜爱...
在前端开发中,导出Excel表格是一项常见的需求,特别是在数据可视化和报表生成的场景下。SheetJS是一个强大的JavaScript库,用于读写多种电子表格格式,包括Microsoft Excel (XLS / XLSX) 和OpenDocument (ODS) 等。...
下面我们将详细探讨JavaScript导出Excel的相关知识点以及layui如何在这个过程中发挥作用。 1. **JavaScript导出Excel**: - JavaScript本身并不直接支持创建或编辑二进制文件,如Excel。因此,开发者通常会借助于...
在JavaScript(JS)环境中,实现Excel导出是一项常见的需求,特别是在Web应用中处理大量数据时。前后端分离的开发模式下,前端需要处理用户交互,包括数据导出,这就需要我们借助一些库或者API来实现。以下是一些...
在浏览器中将数据导出到excel或WPS的电子表格中是程序开发中经常在实现的功能,提供数据导出,详细的功能注释让你一目了然,如Excel文件的操作,工作表、工作簿操作,单元格操作,表格格式(表格线、行高、列宽、...
Kendo UI的Excel导出主要看两点,一是该列(column)是field字段,而不是自定义的name;二是该列不是隐藏的(hidden:true)。这样我们无法灵活导出我们需要的列。 为了解决上面两个问题,我查看了Kendo UI的源代码,...
1. **Aspose导出Excel**: Aspose允许开发者将数据导出为Excel文件格式,这对于数据报告、数据分析或者创建电子表格非常有用。通过Aspose.Cells API,你可以创建一个新的Workbook对象,然后在其中添加Worksheets,...