/*
全局变量
*/
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)方法的地方
3676

被折叠的 条评论
为什么被折叠?



