/* 全局变量 */ var xlsObj; //excel 对象 var xlsBook; var xlsSheet; function exportToExcel(){ //初始化 initXlsObj(); drawBaseExcel(); //结束 endXlsObj(); } //创建excel对象 function initXlsObj(){ try{ /* 由于每次执行new ActiveXObject ( "Excel.Application" )时, 都会创建一个EXCEL进程,所以执行这段代码只要执行一次, 之后就可以直接使用excel对象。 */ if (xlsObj == null){ xlsObj = new ActiveXObject ( "Excel.Application" ); } }catch(e) { alert( "要打印该表,您必须安装Excel电子表格软件,同时浏览器须使用“ActiveX 控件”,您的浏览器须允许执行控件。 请点击【帮助】了解浏览器设置方法!"); return ""; } xlsBook = xlsObj.Workbooks.Add; xlsSheet = xlsBook.Worksheets(1); } //在excel里画出基本的元素 function drawBaseExcel(){ //总行数 var iRows = 9; //获得业务类别 var busiValue = getRadioValue("case_busicode"); //获得是否回复 var isReply = getRadioValue("radiobutton"); //设置列显示字符而不是数字 xlsSheet.Columns(2).NumberFormatLocal="@"; xlsSheet.Columns(4).NumberFormatLocal="@"; xlsSheet.Columns(6).NumberFormatLocal="@"; //设置列宽 xlsSheet.Columns(1).ColumnWidth = "10"; xlsSheet.Columns(3).ColumnWidth = "10"; xlsSheet.Columns(5).ColumnWidth = "10"; xlsSheet.Columns(2).ColumnWidth = "20"; xlsSheet.Columns(4).ColumnWidth = "20"; xlsSheet.Columns(6).ColumnWidth = "20"; //第一行 xlsSheet.Range(xlsSheet.Cells(1,1),xlsSheet.Cells(1,6)).mergecells=true; xlsSheet.Range(xlsSheet.Cells(1,1),xlsSheet.Cells(1,6)).value="【基本信息】"; /* ColorIndex 值对应的颜色: 1-黑色, 2-白色, 3-红色, 4-绿色, 5-蓝色, 6-黄色, 7-粉红色, 8-天蓝色, 9-酱土色..可以多做尝试) */ xlsSheet.Range(xlsSheet.Cells(1,1),xlsSheet.Cells(1,6)).Interior.ColorIndex=41;//设置底色为蓝色 //xlsSheet.Rows(1).Interior.ColorIndex = 5 ;//设置行底色为蓝色 xlsSheet.Rows(1).Font.ColorIndex = 2; xlsSheet.Rows(1).Font.Size = 12; //第二行 xlsSheet.Cells(2,1).Value = "登记编号"; xlsSheet.Cells(2,1).Interior.ColorIndex=37; xlsSheet.Cells(2,2).Value = formDj.case_id.value; xlsSheet.Cells(2,3).Value = "来电号码"; xlsSheet.Cells(2,3).Interior.ColorIndex=37; xlsSheet.Cells(2,4).Value = formDj.case_phonenumber.value; xlsSheet.Cells(2,5).Value = "录音文件"; xlsSheet.Cells(2,5).Interior.ColorIndex=37; xlsSheet.Cells(2,6).Value = formDj.case_recordfile.value; //第三行 xlsSheet.Cells(3,1).Value = "来电时间"; xlsSheet.Cells(3,1).Interior.ColorIndex=37; xlsSheet.Cells(3,2).Value = formDj.calltime.value; xlsSheet.Cells(3,3).Value = "通话时长"; xlsSheet.Cells(3,3).Interior.ColorIndex=37; xlsSheet.Cells(3,4).Value = document.getElementById("calltimelong").innerText; xlsSheet.Cells(3,5).Value = "业务类别"; xlsSheet.Cells(3,5).Interior.ColorIndex=37; xlsSheet.Cells(3,6).Value = getRadioText("case_busicode",busiValue); //第四行 xlsSheet.Range(xlsSheet.Cells(4,1),xlsSheet.Cells(4,6)).mergecells=true; xlsSheet.Range(xlsSheet.Cells(4,1),xlsSheet.Cells(4,6)).value="【信息提供】"; xlsSheet.Range(xlsSheet.Cells(4,1),xlsSheet.Cells(4,6)).Interior.ColorIndex=41;//设置底色为蓝色 xlsSheet.Rows(4).Font.ColorIndex = 2; xlsSheet.Rows(4).Font.Size = 12; //第五行 xlsSheet.Cells(5,1).Value = "姓名"; xlsSheet.Cells(5,1).Interior.ColorIndex=37; xlsSheet.Cells(5,2).Value = formDj.case_caller.value; xlsSheet.Cells(5,3).Value = "人员类别"; xlsSheet.Cells(5,3).Interior.ColorIndex=37; xlsSheet.Cells(5,4).Value = formDj.case_callertype.options[formDj.case_callertype.selectedIndex].text; xlsSheet.Cells(5,5).Value = "性别"; xlsSheet.Cells(5,5).Interior.ColorIndex=37; xlsSheet.Cells(5,6).Value = formDj.sex.value; //第六行 xlsSheet.Cells(6,1).Value = "联系电话"; xlsSheet.Cells(6,1).Interior.ColorIndex=37; xlsSheet.Cells(6,2).Value = formDj.case_callertel.value; xlsSheet.Cells(6,3).Value = "所属区域"; xlsSheet.Cells(6,3).Interior.ColorIndex=37; xlsSheet.Cells(6,4).Value = formDj.case_callerareaname.value; xlsSheet.Cells(6,5).Value = "所在单位"; xlsSheet.Cells(6,5).Interior.ColorIndex=37; xlsSheet.Cells(6,6).Value = formDj.case_callerunit.value; //第七行 xlsSheet.Cells(7,1).Value = "手机号码"; xlsSheet.Cells(7,1).Interior.ColorIndex=37; xlsSheet.Cells(7,2).Value = formDj.case_callermob.value; xlsSheet.Cells(7,3).Value = "Email地址"; xlsSheet.Cells(7,3).Interior.ColorIndex=37; xlsSheet.Cells(7,4).Value = formDj.case_callermail.value; xlsSheet.Cells(7,5).Value = "邮编"; xlsSheet.Cells(7,5).Interior.ColorIndex=37; xlsSheet.Cells(7,6).Value = formDj.case_callerpost.value; //第八行 xlsSheet.Cells(8,1).Value = "通信地址"; xlsSheet.Cells(8,1).Interior.ColorIndex=37; xlsSheet.Range(xlsSheet.Cells(8,2),xlsSheet.Cells(8,6)).mergecells=true; xlsSheet.Cells(8,2).Value = formDj.case_calleraddr.value; //业务类别为投诉举报,则显示如下行 if(busiValue == "03"){ //第九行 xlsSheet.Range(xlsSheet.Cells(iRows,1),xlsSheet.Cells(iRows,6)).mergecells=true; xlsSheet.Range(xlsSheet.Cells(iRows,1),xlsSheet.Cells(iRows,6)).value="【涉及对象】"; xlsSheet.Range(xlsSheet.Cells(iRows,1),xlsSheet.Cells(iRows,6)).Interior.ColorIndex=41;//设置底色为蓝色 xlsSheet.Rows(iRows).Font.ColorIndex = 2; xlsSheet.Rows(iRows).Font.Size = 12; iRows++; //第十行 xlsSheet.Cells(iRows,1).Value = "姓名/名称"; xlsSheet.Cells(iRows,1).Interior.ColorIndex=37; xlsSheet.Cells(iRows,2).Value = formDj.case_appellee.value; xlsSheet.Cells(iRows,3).Value = "所属区域"; xlsSheet.Cells(iRows,3).Interior.ColorIndex=37; xlsSheet.Cells(iRows,4).Value = formDj.case_appelleeunitname.value; xlsSheet.Cells(iRows,5).Value = "管辖部门"; xlsSheet.Cells(iRows,5).Interior.ColorIndex=37; xlsSheet.Cells(iRows,6).Value = formDj.case_appelleedept.value; iRows++; //第十一行 xlsSheet.Cells(iRows,1).Value = "电话"; xlsSheet.Cells(iRows,1).Interior.ColorIndex=37; xlsSheet.Cells(iRows,2).Value = formDj.case_appelleetel.value; xlsSheet.Cells(iRows,3).Value = "手机"; xlsSheet.Cells(iRows,3).Interior.ColorIndex=37; xlsSheet.Cells(iRows,4).Value = formDj.case_appelleemob.value; iRows++;; } //第十二行 xlsSheet.Range(xlsSheet.Cells(iRows,1),xlsSheet.Cells(iRows,6)).mergecells=true; xlsSheet.Range(xlsSheet.Cells(iRows,1),xlsSheet.Cells(iRows,6)).value="【具体内容】"; xlsSheet.Range(xlsSheet.Cells(iRows,1),xlsSheet.Cells(iRows,6)).Interior.ColorIndex=41;//设置底色为蓝色 xlsSheet.Rows(iRows).Font.ColorIndex = 2; xlsSheet.Rows(iRows).Font.Size = 12; iRows++; //第十三行 xlsSheet.Cells(iRows,1).Value = "问题类别"; xlsSheet.Cells(iRows,1).Interior.ColorIndex=37; xlsSheet.Range(xlsSheet.Cells(iRows,2),xlsSheet.Cells(iRows,4)).mergecells=true; xlsSheet.Rows(iRows).WrapText=true; //自动换行 xlsSheet.Cells(iRows,2).Value = formDj.case_infotypename.value; xlsSheet.Cells(iRows,5).Value = "缓急"; xlsSheet.Cells(iRows,5).Interior.ColorIndex=37; xlsSheet.Cells(iRows,6).Value = formDj.case_exigencesign.options[formDj.case_exigencesign.selectedIndex].text; iRows++; //第十四行 xlsSheet.Cells(iRows,1).Value = "主题"; xlsSheet.Cells(iRows,1).Interior.ColorIndex=37; xlsSheet.Range(xlsSheet.Cells(iRows,2),xlsSheet.Cells(iRows,4)).mergecells=true; xlsSheet.Cells(iRows,2).Value = formDj.case_callersubject.value; //业务类别为投诉举报,则显示如下列 if(busiValue == "03"){ xlsSheet.Cells(iRows,5).Value = "保密设置"; xlsSheet.Cells(iRows,5).Interior.ColorIndex=37; xlsSheet.Cells(iRows,6).Value = formDj.case_secrecylevel.options[formDj.case_secrecylevel.selectedIndex].text; } iRows++; //第十五行 xlsSheet.Rows(iRows).RowHeight = 60; //行高 xlsSheet.Cells(iRows,1).Value = "内容"; xlsSheet.Cells(iRows,1).Interior.ColorIndex=37; xlsSheet.Range(xlsSheet.Cells(iRows,2),xlsSheet.Cells(iRows,6)).mergecells=true; xlsSheet.Rows(iRows).WrapText=true; //自动换行 xlsSheet.Cells(iRows,2).Value = formDj.case_callercontent.value; iRows++; //第十六行 xlsSheet.Cells(iRows,1).Value = "是否回复"; xlsSheet.Cells(iRows,1).Interior.ColorIndex=37; xlsSheet.Cells(iRows,2).Value = getRadioText("radiobutton",isReply); if(isReply == "1"){ xlsSheet.Cells(iRows,3).Value = "回复时间"; xlsSheet.Cells(iRows,3).Interior.ColorIndex=37; xlsSheet.Cells(iRows,4).Value = formDj.case_transactdate.value; xlsSheet.Cells(iRows,5).Value = "回复方式"; xlsSheet.Cells(iRows,5).Interior.ColorIndex=37; xlsSheet.Cells(iRows,6).Value = formDj.case_reverttype.options[formDj.case_reverttype.selectedIndex].text; iRows++; //第十七行 xlsSheet.Rows(iRows).RowHeight = 60; //行高 xlsSheet.Cells(iRows,1).Value = "回复内容"; xlsSheet.Cells(iRows,1).Interior.ColorIndex=37; xlsSheet.Range(xlsSheet.Cells(iRows,2),xlsSheet.Cells(iRows,6)).mergecells=true; xlsSheet.Rows(iRows).WrapText=true; //自动换行 //xlsSheet.Rows(17).RowHeight = 500; //行高 xlsSheet.Cells(iRows,2).Value = formDj.case_transactresult.value; } //设置边框 xlsSheet.Range(xlsSheet.Cells(1,1),xlsSheet.Cells(iRows,6)).Borders.Weight = 2; //列自适应宽度 //xlsSheet.Range(xlsSheet.Cells(1,1),xlsSheet.Cells(iRows,6)).Columns.AutoFit; } function endXlsObj(){ xlsObj.visible = true; xlsObj.UserControl = true; //xlsBook.Close(savechanges=false); //这句会关闭sheet //xlsObj.Quit(); //这句会提示关闭生成的excel文件 xlsObj=null; xlsBook=null; xlsSheet=null; } function getRadioText(sId,sValue){ if(sId == "case_busicode"){ switch (sValue){ case '01' : return "政策咨询"; break; case '02' : return "办事指南"; break; case '03' : return "投诉举报"; break; case '05' : return "信息查询"; break; case '06' : return "建议意见"; break; } }else if(sId == "radiobutton"){ switch (sValue){ case '1' : return "是"; break; case '0' : return "否"; break; } } } function getRadioValue(sName){ var radioObj = document.getElementsByName(sName); for(var i=0;i<radioObj.length;i++){ if(radioObj[i].checked==true){ return radioObj[i].value; } } }
1、展示效果见附件;
2、以上代码不一定能直接运行,需要出发exportToExcel()方法,且根据业务需要,需要去掉调用getRadioValue(sName)方法的地方