以下是重构后的代码,并保持了段落结构:

```javascript

// 导出报表

function ExportTable(title, flag, tableId, isAddedFoot) {

try {

var $curTb = null;

if (flag != '') {

$curTb = $('#' + flag + '_' + tableId);

} else {

$curTb = $('#' + tableId);

}

var curTbl = $curTb[0];

var Lenc = curTbl.rows(0).cells.length;

var dateTime = $('#' + flag + '_txtBeginDateCtl').val();

var year = new Date().getYear();

var ds = null;

if (dateTime.indexOf('-') >= 0) {

ds = dateTime.split('-');

year = ds[0];

} else if (dateTime.indexOf('/') >= 0) {

ds = dateTime.split('/');

year = ds[0];

}

var tbTitle = '

';

tbTitle += '

';

tbTitle += '

';

tbTitle += '

';

tbTitle += '

' + title + '( ' + year + '-' + curTbl.rows(0).cells(1).innerText + ' 到 ' + year + '-' + curTbl.rows(0).cells(Lenc - 1).innerText + ' )
';

if (isAddedFoot === false){

$curTb.prepend(tbTitle);

}else{

var foot = document.createElement("tfoot"); //创建表尾元素,如果不需要可以注释掉这一行代码。

foot.innerHTML=$curTb[0].outerHTML; //将表格的全部内容放到表尾中。

$curTb.after(foot); //在原表格后添加表尾。如果需要放在表格内部可以将这一行代码改为 $curTb.append(foot);。

}

} catch (error) {} //捕获错误,防止程序崩溃。如果不需要可以注释掉这一行代码。

}

```

如果已添加页脚,则生成以下HTML代码:

```html

颜色说明 时间已过 已审查 已审核 已审阅

```

将以下代码重构为一个函数:

```javascript

function copyExcelTable(curTbl) {

var tbFoot = '冲突数据';

curTb.append(tbFoot);

var oXL = new ActiveXObject("Excel.Application");

var oWB = oXL.Workbooks.Add();

var oSheet = oWB.ActiveSheet;

var sel = document.body.createTextRange();

sel.moveToElementText(curTbl);

sel.select();

sel.execCommand("Copy");

oSheet.Paste();

var sheetR = oSheet.UsedRange.Rows.Count;

var sheetC = oSheet.UsedRange.Columns.Count;

oSheet.Range(oSheet.Cells(1, 1), oSheet.Cells(sheetR, sheetC)).Borders.LineStyle = 1;

oSheet.Range(oSheet.Cells(1, 1), oSheet.Cells(sheetR, sheetC)).Font.Size = 9;

oSheet.Range(oSheet.Cells(1, 1), oSheet.Cells(1, sheetC)).Merge();

oSheet.Cells(2, 1).HorizontalAlignment = 2;

oSheet.Cells(2, 1).VerticalAlignment = 2;

oSheet.Cells(2, 1).Font.Bold = true;

oSheet.Cells(2, 1).Font.Size = 12;

oSheet.Rows(2 + ":").RowHeight = 30;

}

```

Sheet.Range(oSheet.Cells(2, 1), oSheet.Cells(2, sheetC)).Merge();

if (isAddedFoot) {

oSheet.Range(oSheet.Cells(sheetR - 1, 1), oSheet.Cells(sheetR - 1, sheetC)).Merge();

}

oXL.Visible = true;

$("#tbTitle").remove();

$("#tbColor").remove();

//alert("导出成功!");

} catch(e) {

alert("导出失败!");

} finally {

window.setInterval("CleanUp()", 1);

}

}

var CleanUp= function ()

{

window.clearInterval(idTmr);

CollectGarbage();

}