博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Html Table to Excel 的一种实现 (PHP)
阅读量:5139 次
发布时间:2019-06-13

本文共 2336 字,大约阅读时间需要 7 分钟。

将HTML 前端生成的 table 作为数据源下载

思路

1 将 html 脚本 通过form post到后端

导出为EXCEL文档
标题1 标题2 标题3 标题4 标题5
data data data data data

 html代码 编码后放到一个 form隐藏域

var source=escape("
导出为EXCEL文档
标题1 标题2 标题3 标题4 标题5
data data data data data
")$("datasource").val(source);

 页面做点击下载事件 将form提交

 2 php接住 作为数据源输出 附件

// 将 前段 抛过来的 html代码 解码  function phpUnescape($escstr)       {           preg_match_all("/%u[0-9A-Za-z]{4}|%.{2}|[0-9a-zA-Z.+-_]+/", $escstr, $matches);           $ar = &$matches[0];           $c = "";           foreach($ar as $val)           {               if (substr($val, 0, 1) != "%")               {                   $c .= $val;               } elseif (substr($val, 1, 1) != "u")               {                   $x = hexdec(substr($val, 1, 2));                   $c .= chr($x);               }                else              {                   $val = intval(substr($val, 2), 16);                   if ($val < 0x7F) // 0000-007F                   {                       $c .= chr($val);                   } elseif ($val < 0x800) // 0080-0800                   {                       $c .= chr(0xC0 | ($val / 64));                       $c .= chr(0x80 | ($val % 64));                   }                    else // 0800-FFFF                   {                       $c .= chr(0xE0 | (($val / 64) / 64));                       $c .= chr(0x80 | (($val / 64) % 64));                       $c .= chr(0x80 | ($val % 64));                   }                }            }                  return $c;       }  $file="test.xls";if(isset($_POST)&&$_POST["datasource"]){    //将 html写入 excel文件 	$test=$_POST["datasource"];	header("Content-type: application/vnd.ms-excel");	header("Content-Disposition: attachment; filename=$file");	echo phpUnescape($_POST["downloaddata"]);}

 这样一来 excel.php文件就可以接受任何抛过来的 html 代码(样式可能丢失)

转载于:https://www.cnblogs.com/senion/archive/2012/08/09/2630581.html

你可能感兴趣的文章
字符流
查看>>
Java.util.Properties
查看>>
剑指offer-数组中只出现一次的数字
查看>>
关于SOA架构设计的案例分析
查看>>
垂直打击之JVM剖析
查看>>
H5移动端,ios从后台返回到app,页面会白一下
查看>>
gradle 插件 get 不到的问题
查看>>
Luogu 4317 花神的数论题
查看>>
JDBC基础
查看>>
排序算法之冒泡排序(Bubble Sort)
查看>>
Lock与synchronized 的区别
查看>>
对前台传的json进行解析
查看>>
gulp构建工具 主要说 gulp-livereload的插件
查看>>
UVA 11077 Find the Permutations 递推置换
查看>>
项目管理 - PM、 SRS、SOW简介及范例
查看>>
Socket 编程-------------------笔记
查看>>
【bzoj4443】【[Scoi2015]小凸玩矩阵】二分+二分图最大匹配
查看>>
PHP设计模式系列 - 策略模式
查看>>
安装sqlserver2008
查看>>
ASP.NET 2.0 Provider Model 详细分析
查看>>