最近客户提出一个需求,就是把页面上的图表导出为pdf文件. 找了很多资料.终于有了点头绪.最主要是参考了HighCharts的做法.http://www.hcharts.cn/ 实现原理:把页面图表的svg内容发送到后台,后台生成pdf图片文件流,返回. 但是遇到问题,用jquery的post请求,不能下载文件:用get请求方式,svg数据可能很多,传不过来:最后用了如下方法,创建一个隐藏的form来sumbit. 前台代码片段: $("#btn").click(function ()…
史上最全的CSS hack方式一览 2013年09月28日 15:57:08 阅读数:175473 做前端多年,虽然不是经常需要hack,但是我们经常会遇到各浏览器表现不一致的情况.基于此,某些情况我们会极不情愿的使用这个不太友好的方式来达到大家要求的页面表现.我个人是不太推荐使用hack的,要知道一名好的前端,要尽可能不使用hack的情况下实现需求,做到较好的用户体验.可是啊,现实太残酷,浏览器厂商之间历史遗留的问题让我们在目标需求下不得不向hack妥协,虽然这只是个别情况.今天,结合自己的经…
写给读者的话^_^: 众所周知,基于Highcharts插件生成的svg图片组(注意这里鄙人指的组是若干图有序组合,并非一张图片,具有业务意义)导出为PDF文档是有难度滴.鄙人也曾“异想天开”用前端技术拍个快照然后转换为pdf文件导出,后来因为能力有限未能完美实现.因此,参照互联网已有的经验和做法,创造出一套较为有操作性的方案,详情见下文. ---------------------------------------------------说正事儿分割线--------------------…
如果在页面上展示了一个数据表格,而用户想把这个表格导出为Excel文件,那么在要求不高的情况下,可以不通过服务器生成表格,而是直接利用JavaScript的Blob和Object URL特性将表格导出.不过,丑话说在前头,这篇随笔中利用了Excel能打开HTML文档的特性,所以导出的表格实际上是一个HTML文档,并且其扩展名只能为.xls,而不能是.xlsx,否则Excel无法打开.(不过确实见过使用JavaScript生成真正Excel文件的方案,这里暂不提及.) 实现代码如下,包含HTML页…
样本: 在这个示例中,我们使用的是微软给我们提供的数据库,也就是家喻户晓的Northwind数据库.要下载Microsoft的免费样本Northwind数据库,您需要访问以下URL.下载Northwind数据库在页面上,您将找到下载按钮,如以下屏幕截图所示. 第2步:安装Microsoft的免费样本Northwind数据库 一个安装程序文件(.msi)将被下载.您可以将其保存在桌面上,因为下载完成后您需要执行它.文件下载完成后,您可以通过双击安装文件或右键单击然后单击上下文菜单中的安装选项来开始…
如果在页面上展示了一个表格,想把这个表格导出为Excel文件,那么在要求不高的情况下,可以直接利用 JavaScript 的 Blob 和 Object URL 特性将表格导出.不过,这就是利用了 Excel 能打开 HTML 文档的特性,所以导出的表格实际上是一个 HTML 文档,并且其扩展名只能为 .xls,而不能是 .xlsx,否则Excel无法打开.(有使用JavaScript生成真正Excel文件的方案,以后再研究.) 实例: <!DOCTYPE html> <html>…
//请求一个excel类 Microsoft.Office.Interop.Excel.ApplicationClass excel = null; //创建 Workbook对象 Microsoft.Office.Interop.Excel._Workbook workbook = null; Microsoft.Office.Interop.Excel.Workbooks workbooks = null; //创建工作薄 Microsoft.Office.Interop.Excel._Wo…
先说一下环境 EasyUI+SpringMVC+MyBatis 因为按正常手段,无法使用Ajax来提交一个包含文件的表单,故想到利用EasyUI的Form来提交,EasyUI的form封装了一套伪Ajax提交的方法,所以能够起到以ajax提交文件表单的作用! 但是当文件提交成功后,后台往前台返回了一个Json用来提示上传成功! 但是在其他浏览器下都正常,但是唯独在IE中会提示用户下载这个Json文件! 仔细的查看了下EasyUI的API看到API里有这样的一段话: 也就是说,返回的数据要无需设置…
突然发现又很久没有写博客了,想起哎呦,还是写一篇博客记录一下吧,虽然自己还是那个渣渣猿. 最近在做上传文件的功能,上传到ftp文件服务器有利于管理上传文件. 前面的博客有写到layui如何上传文件,然后控制器用IFormFile去接收,那么我们为了消除代码的重复,我们可以建一个公共类,这样就可以重用了. 其实上传很简单,用一个带有IFormFile参数的函数封装就OK了,如下: /// <summary> /// 上传文件到ftp服务器上 /// </summary> /// &l…
Html中的代码: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <meta charset="utf-8" /> <script src="Contents/JS…