用户登录
用户注册

分享至

jqueryword插件

  • 作者: 香气CG
  • 来源: 51数据库
  • 2020-04-21

1.利用 jquery.wordexport.js 插件将Echarts图表导出到word文档

你好! 经过简单测试,不利用后台也可以将Echarts图表导出到word文档。

需要修改插件源码,以及简单设置html元素。 说下原理:1. html中设置一个与echarts图表相同style的元素,包裹一个空白的image元素, 初始隐藏;2. echarts图表 -> getDataURL() -> 获取到对应的base64编码;3. 将编码赋值给上面image元素的src;4. 导出word前,将echarts图表隐藏,显示 步骤1 中的元素;5. 修改插件源码,在源码中处理image元素的地方,对src属性进行了base64编码的判断, 并做响应的处理。

其中非base64格式的,会在图片后面插入一个canvas元素;6. 由于第5点中,会在图片后面插入一个canvas元素,页面会有空白内容出现, 从而影响美观。解决方案是在页面设置一个隐藏元素,调用导出函数之前, 将含有导出内容赋值给这个隐藏元素,然后将这个隐藏元素的内容导出word即可。

当然如果页面其他图片都是base64编码的情况下,直接调用导出函数即可。部分代码片段: html片段 。

我是一只小小鸟I'm a little bird。

Hello, world!php..

。

。

jsjQuery(document).ready(function($) { initChart(); $("a.jquery-word-export").click(function(event) { var picBase64Info = myChart.getDataURL(); $("#img_charts").attr("src", picBase64Info); $("#main").hide(); $("#imgDiv").css("display", "block"); setTimeout(function(){ $("#page-content2").html($("#page-content").html()); $("#page-content2").find("div:eq(0)").text("我是一只大灰狼..The Big Bad Wolf"); $("#page-content2").wordExport('测试'); }, 3000); });}); 源码修改 var isBase64 = function(src) { _regex = /^\s*data:([a-z]+\/[a-z0-9-+.]+(;[a-z-]+=[a-z0-9-]+)?)?(;base64)?,([a-z0-9!$&',()*+;=\-._~:@\/?%\s]*?)\s*$/i; return _regex.test(src); }; // Embed all images using Data URLs var images = Array(); var img = markup.find('img'); for (var i = 0; i < img.length;="" i++)="" {="" calculate="" dimensions="" of="" output="" image="" var="" w="Math.min(img[i].width," options.maxwidth);="" var="" h="img[i].height" *="" (w="" img[i].width);="" create="" canvas="" for="" converting="" image="" to="" data="" url="" if="" (isbase64(img[i].src))="" {="" var="" uri="img[i].src;" images[i]="{" type:="" uri.substring(uri.indexof(":")="" +="" 1,="" uri.indexof(";")),="" encoding:="" uri.substring(uri.indexof(";")="" +="" 1,="" uri.indexof(",")),="" location:="" uri,="" data:="" uri.substring(uri.indexof(",")="" +="" 1)="" };="" }="" else="" {="" var="" img_id="#" +="" img[i].id;="">').attr("id", "test_word_img_" + i).width(w).height(h).insertAfter(img_id); } }希望对你有帮助。

2.jquery最好用的表格控件是哪个

其实没有最好用,只是个人用的习惯不一样。常用的有下面几个。

1. DataTables。DataTables是一个jQuery的表格插件。这是一个高度灵活的工具,依据的基础逐步增强,这将增加先进的互动控制,支持任何HTML表格。

2. tablesorter。Tablesorter是一个用来直接在浏览器上对表格数据进行排序的jQuery插件,无需再次刷新页面,支持多种单元格数据类型,例如数值、字符串、日期和自定义排序。

3. uiTableFilter。uiTableFilter是一个用来过滤表格中的列的jQuery插件。

3.word文档内容锁定

第一步:先确认此WORD文档是唯一打开的(特别是网络互联的情况下,要先排除其他用户也打开了此文档) 第二步:检查权限问题。

确认是否具有修改等权限(网络权限和word自身的安全设置密码) 第三步:检查该WORD文档所在目录下是否存在同名的TMP文件(一般为隐藏属性),如有,则将同名TMP文档删除即可!(如无法删除同名TMP文档,可通过任务管理器先结束错误的WORD进程,再进行删除。) 第四步:如还是不能打开,请复制文件到其他目录(最好改个文件名),再使用WPS等软件尝试打开。

转载请注明出处51数据库 » jqueryword插件

软件
前端设计
程序设计
Java相关