Html Table to Excel 的一种实现 (PHP)
2012-08-09 16:58
393 查看
将HTML 前端生成的 table 作为数据源下载
思路
1 将 html 脚本 通过form post到后端
html代码 编码后放到一个 form隐藏域
页面做点击下载事件 将form提交
2 php接住 作为数据源输出 附件
这样一来 excel.php文件就可以接受任何抛过来的 html 代码(样式可能丢失)
思路
1 将 html 脚本 通过form post到后端
<table id="tableExcel" width="100%" border="1" cellspacing="0" cellpadding="0"> <tr> <td colspan="5" align="center">导出为EXCEL文档</td> </tr> <tr> <td>标题1</td> <td>标题2</td> <td>标题3</td> <td>标题4</td> <td>标题5</td> </tr> <tr> <td>data</td> <td>data</td> <td>data</td> <td>data</td> <td>data</td> </tr> </table>
html代码 编码后放到一个 form隐藏域
<form name='dform' method='post' action='excel.php'> <input type="hidden" name='datasource' value=""/> </form> var source=escape("<table id='tableExcel' width='100%' border='1' cellspacing='0' cellpadding='0'><tr><td colspan='5' align='center'>导出为EXCEL文档</td></tr><tr><td>标题1</td><td>标题2</td><td>标题3</td><td>标题4</td><td>标题5</td></tr><tr><td>data</td><td>data</td><td>data</td><td>data</td><td>data</td></tr></table> ") $("datasource").val(source);
页面做点击下载事件 将form提交
<input type="button" name="button2" value="EXCEL" onclick="document.forms['dform'].submit();return false;" style="cursor:hand"/>
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 代码(样式可能丢失)
相关文章推荐
- c# linq实现Excel_to_Table
- 一种支持html中table排序的跨平台实现
- 通过table标签,PHP输出EXCEL的实现方法
- 【ASP.NET】C# 将HTML中Table导出到Excel(TableToExcel)
- PHP通过table标签实现输出EXCEL的方法
- html中嵌套php实现隐藏table中tr
- 将html中table导出到excel xls文件的一种可用方法
- html table to Excel(1)
- javascript 实现 html 页面 table 导出 excel
- 通过table标签,PHP输出EXCEL的实现方法
- html table表格导出excel的方法 html5 table导出Excel HTML用JS导出Excel的五种方法 html中table导出Excel 前端开发 将table内容导出到excel HTML table导出到Excel中的解决办法 js实现table导出Excel,保留table样式
- java实现任意带table表格的html页面,生成与表格相同内容的excel文件
- asp.net Html table Render to Excel
- PHP把HTML的table导出为Excel文件
- html表格table实现鼠标移入移出行变色的一种可用方法
- HTmlTableTOExcel
- Export HTML Table to Excel
- 函数模块:ALSM_EXCEL_TO_INTERNAL_TABLE
- 简单了解 iTextSharp实现HTML to PDF
- 转:Javascript实现把网页中table的内容导入到excel中的几种方法