vue+element-ui+js頁面列印(列印elementui的table)
前端呼叫瀏覽器列印功能,實現純前端vue+element-ui+js列印頁面功能
1.效果展示
開啟新頁面,列印表格,可以自動分頁
2.封裝成公共函式
可以根據自己的需要,選擇是否封裝成公共函式。
我是放在utils下的config.js檔案裡面。
//id 是你要列印的某個dom元素的id名
export function printExcel(id) {
// 空頁面
let printStr = "<html><head><meta http-equiv='Content-Type' content='text/html; charset=utf-8'></head>";
// 定義element-ui table元件的樣式
const tabStyle = `<style>
table{width:100%;display:table-cell!important;box-sizing:border-box;}
.el-table__header,.el-table__body,.el-table__footer{width:100%!important;border-collapse: collapse;text-align:center;}
table,table tr th, table tr td { border:1px solid #ddd;color:#606266;word-wrap:break-word}
table tr th,table tr td{padding:4mm 0mm;word-wrap:break-word }
.el-table__body, tr td .cell{width:100%!important}
.el-table th.gutter{display: none;}
.el-table colgroup.gutter{display: none;}
</style><body>`;
let content = "";
// 獲取名為傳入id的 dom元素內的內容
let str = document.getElementById(id).innerHTML;
// 拼接空頁面+style樣式+dom內容
content = content + str;
printStr = printStr + tabStyle + content + "</body></html>";
// 開啟新頁面
let pwin = window.open("_blank");
// 將內容賦值到新頁面
pwin.document.write(printStr);
pwin.document.close();
// 聚焦-不加focuse,在某些情況下,列印頁面會有問題。
pwin.focus();
// 使用setTimeout,等頁面dom元素渲染完成後再列印。
setTimeout(() => {
pwin.print(); // 列印功能。 例如 window.print() 直接列印當前整個頁面。
pwin.close(); // 關閉 列印建立的當前頁面
}, 500);
}
3.在.vue檔案中引入並使用"printExcel"函式
在需要列印的dom元素外面包了一個div,id叫“export”
// 使用-點選事件觸發"printExcel ",傳入引數為 id
// 引入函式
import { printExcel } from "@/utils/config";
printExcel() {
printExcel("export");
},
相關文章
- 列印頁面時怎樣自定義列印頁首頁尾或者去掉眉頁尾?
- jquery列印頁面(jquery.jqprint)jQuery
- vxe-table 列印出貨單、自定義列印單據
- 列印網頁的時候,如何讓指定的元素另起一頁(列印分頁)?網頁
- vxe-table 實現列印出貨單、自定義單據列印
- Lua 列印table 實現型別python的repr用於table型別Python
- 分享 vxe-table 實現列印出貨單、自定義列印單據
- 列印服務的細節部署(列印許可權、印表機池、列印優先順序、列印文件轉向、分隔頁)
- macOS 蘋果電腦雙面列印單面列印PDF設定Mac蘋果
- HTML API + CSS 控制頁面列印內容和樣式HTMLAPICSS
- 手動雙面列印怎麼設定 手動雙面列印設定的方法
- web 實現分頁列印功能Web
- jQuery列印網頁指定區域jQuery網頁
- JS 網頁列印解決方案JS網頁
- 印萌自助列印系統,如何提升傳統列印店的列印效率?
- 頁面table彈框
- ElementUI Table 列不齊UI
- Web 列印Web
- 列印流
- 雲列印比線下列印店便宜嗎?
- Word 列印技巧大全,列印知識全在這。
- 【Spring】日誌列印sql,日誌配置列印sqlSpringSQL
- elementUI table 自定義表頭UI
- [js]使用瀏覽器列印事件window.print()設定橫向;列印時新增分頁標記JS瀏覽器事件
- Mybatis 列印完整的SQLMyBatisSQL
- Java的圖形列印Java
- 1.15 列印的縮放和頁邊距的設定 [Excel教程]Excel
- TVM VLOG列印
- 日誌列印
- 關於列印
- python列印菱形Python
- 【面試題】從上向下列印陣列|||面試題陣列
- vue vxe-table 實現財務記賬憑證和列印功能Vue
- 水晶報表製作6*4cm的列印紙標籤,預覽時資料是一頁,列印出來卻多了一頁空白?
- 雲列印和無線列印有什麼區別?
- web 頁面如何實現 echarts 統計圖的列印匯出?WebEcharts
- win7系統下列印ppt時去除列印時間的方法Win7
- 網際網路+列印的印萌自助列印系統,憑什麼給傳統列印店增加50%營收?營收