WPSJS加载项通过剪贴板插入二维码
创作者俱乐部成员
时隔三年,WPSJS终于更新啦,可喜可贺👍
昨天初心不忘老师发帖,用加载项批量生成二维码,https://bbs.wps.cn/topic/36639
受此影响,我就在想,能否不通过本地文件,将js库生成的二维码图片插入表格
虽然可能效率不高,不过还是试着写一下,就当庆祝WPSJS终于更新了吧🤣
先用wpsjs create创建项目,不修改其他文件,只在ui/taskpane.html里添加这几句
🔔 |
引入qrcode.min.js库
💡 | <script> function copyToClipboard(text) { var textarea = document.createElement('textarea'); textarea.value = text; document.body.appendChild(textarea); textarea.select(); document.execCommand('copy'); document.body.removeChild(textarea); } function tt() { let a = document.createElement("div") new QRCode(a, document.getElementById("t1").value) let b = a.firstChild.toDataURL() copyToClipboard(`<table><img src="${b}">`) wps.ActiveSheet.Paste() } </script> |
copyToClipboard是ai写的,浏览器写入剪贴板的函数,直接拿来用了🤣
tt函数里,调用QRCode,用t1输入框里的内容,生成二维码,获取二维码图片的DataURL
然后将"<table><img src="url">"写入剪贴板,这里的url可以是网址、本地地址,也可以是上面获得的base64编码的图片的DataURL
最后调用ActiveSheet.Paste方法,粘贴到表格
💡 | <input type="text" id="t1"/> <button onclick="tt()">生成二维码</button> |
在body里添加t1输入框和一个按钮,按钮的点击执行tt函数
没有任何美化,就是wpsjs的默认demo,只是在taskpane.html里添加了一点,尝试了一下,用js库生成库之后,将base64编码的图片的DataURL,直接通过剪贴板粘贴到表格,而不通过本地文件,算是备选的一条路吧😁
创作者俱乐部成员
创作者俱乐部成员
创作者俱乐部成员
创作者俱乐部成员