生成报告 打印
程序员文章站
2024-03-21 22:40:04
...
一。 页面按钮
<div style="text-align: center;">
<button type="button" class="btn btn-sm btn-danger" onclick="closeItemYesOrNo()"><i class="fa fa-reply-all"></i>关闭</button>
<button id="saveBtn" type="button" class="btn btn-sm btn-primary" onclick="saveProject(0,'保存成功')"><i class="fa fa-check"></i>保存</button>
<a class="btn btn-success" onclick="execl1()" id="jbxxBtn"><i class="fa fa-plus"></i>财政支出项目基本信息表</a>
<a class="btn btn-success" onclick="execl4()" id="jxmbBtn"><i class="fa fa-plus"></i>财政支出项目绩效目标表</a>
<button id="subBtn" type="button" class="btn btn-sm btn-primary" onclick="saveProject(3,'提交成功')"><i class="fa fa-check"></i>提交审核</button>
<button id="toBack" type="button" class="btn btn-sm btn-danger" onclick="toBack()"><i class="fa fa-reply-all"></i>任务退回</button>
</div>
二。按钮点击事件
function execl1() {
var prodId = $("#projectId").val();
if (prodId) {
createMenuItem(ctx + "gather/export1/" + prodId, "财政支出项目基本信息表");
}
}
三。控制器 转到样式页面
@GetMapping("/export1/{projectId}")
public String toExport(@PathVariable Long projectId,ModelMap modelMap){
modelMap.put("projectId",projectId);
return "beforehand/gather/export";
}
四。样式页面 ( 有导出按钮和打印按钮)
1.样式页面可直接在线转换
2.打印和导出按钮
//导出excel按钮
<a class="btn btn-primary" onclick="method5('tableexcel')">
<i class="fa fa-edit"></i> 导出EXCEL
</a>
//打印按钮
<a class="btn btn-primary" style="top:10px;left:10px;" onclick="doPrint('tableexcel')">
<i class="fa fa-print"></i> 打印
</a>
五。导出和打印事件 设置导出的excel高度事件
//导出excel事件 传一个tableid就行
function method5(tableid) {
if(getExplorer()=='ie')
{
var curTbl = document.getElementById(tableid);
var oXL = new ActiveXObject("Excel.Application");
var oWB = oXL.Workbooks.Add();
var xlsheet = oWB.Worksheets(1);
var sel = document.body.createTextRange();
sel.moveToElementText(curTbl);
sel.select();
sel.execCommand("Copy");
xlsheet.Paste();
oXL.Visible = true;
try {
var fname = oXL.Application.GetSaveAsFilename("Excel.xls", "Excel Spreadsheets (*.xls), *.xls");
} catch (e) {
print("Nested catch caught " + e);
} finally {
oWB.SaveAs(fname);
oWB.Close(savechanges = false);
oXL.Quit();
oXL = null;
idTmr = window.setInterval("Cleanup();", 1);
}
}
else
{
tableToExcel(tableid)
}
}
//打印事件 要打印的Html加上 <!--startprint--> 和 <!--endprint-->
function doPrint() {
bdhtml=window.document.body.innerHTML;
sprnstr="<!--startprint-->"; //开始打印标识字符串有17个字符
eprnstr="<!--endprint-->"; //结束打印标识字符串
prnhtml=bdhtml.substr(bdhtml.indexOf(sprnstr)+17); //从开始打印标识之后的内容
prnhtml=prnhtml.substring(0,prnhtml.indexOf(eprnstr)); //截取开始标识和结束标识之间的内容
window.document.body.innerHTML=prnhtml; //把需要打印的指定内容赋给body.innerHTML
window.print(); //调用浏览器的打印功能打印指定区域
window.document.body.innerHTML=bdhtml;//重新给页面内容赋值;
return false;
}
//设置导出的excel高度
function GetInfoFromTable(tableid) {
var tableInfo = "";
var tableObj = document.getElementById(tableid);
for (var i = 0; i < tableObj.rows.length; i++) { //遍历Table的所有Row
for (var j = 0; j < tableObj.rows[i].cells.length; j++) { //遍历Row中的每一列
if(tableObj.rows[i].cells[j]&&tableObj.rows[i].cells[j].innerText){
if(!tableObj.rows[i].cells[j].style.height){
tmp=tableObj.rows[i].offsetHeight/1.6;
if(tmp<15){
tmp=15;
}
tableObj.rows[i].cells[j].style.height=tmp+'pt';
}
}
tableInfo += tableObj.rows[i].cells[j].innerText; //获取Table中单元格的内容
tableInfo += " ";
}
tableInfo += "\n";
}
return tableInfo;
}