把table表格的内容导出成excel 或者word等格式(简单容易不需要太多php)

导出需注意

  1. 样式都在行间,导出excel表格会继承样式包括colspan、rowspan,非表格元素,样式不会生效

  2.样式非行间,导出excel之后,只有数据,不保存样式。excel不支持非表格元素的样式

原理

  JS:获取表格的dom结构内容,赋值给表单,提交表单

  PHP:设置请求头,获取请求的表格内容,echo输出,由于获取的表格没有table标签,输出的时候要加上,如果获取的时候有,就不需要了

  注意:需要在服务器模式下运行

html+js

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script src="jquery.min.js"></script>
<style media="screen">
table{
border-collapse:collapse; border-spacing:0;
}
</style>
</head>
<body>
<button type="button" name="button" id="export">导出</button>
<table id="tablelist" border="1" >
<tr>
<th rowspan="2">11111</th>
<td>11111</td>
<td>11111</td>
</tr>
<tr>
<td>22222</td>
<td>22222</td>
</tr>
</table>
<form action="./excel.php" method="post" id="excelfromtable" style="" target="_blank">
<input name="excelContent" id="excelContent" type="hidden" value="" autocomplete="off"/>
</form>
<script type="text/javascript">
$(function(){
$('#export').click(function(){
var excelContent = $('#tablelist').html(); //获取表格内容
$('input[name=excelContent]').val(excelContent);//赋值给表单
$('#excelfromtable').submit();//表单提交,提交到php
})
})
</script>
</body>
</html>

php

<?php
echo '<meta http-equiv="Content-type" content="text/html; charset=utf-8 " />'; //设置内容,编码
header('Content-type:application/vnd.ms-excel');//设置请求头类型
header('Content-Disposition:filename=PreSortiong.xls');//设置导出格式 可以改 PreSortiong.xls 后缀成相应的格式
 $content = $_POST['excelContent'];//获取表格内容 echo '<table cellpadding="1" cellspacing="1" id="" border="1" bgcolor="red">'; echo $content ; echo '</table>' ?>

使用JS和PHP导出table表格的更多相关文章

  1. JS组件系列——Bootstrap Table 表格行拖拽(二:多行拖拽)

    前言:前天刚写了篇JS组件系列——Bootstrap Table 表格行拖拽,今天接到新的需要,需要在之前表格行拖拽的基础上能够同时拖拽选中的多行.博主用了半天时间研究了下,效果是出来了,但是感觉不尽 ...

  2. [js开源组件开发]table表格组件

    table表格组件 表格的渲染组件,demo请点击http://lovewebgames.com/jsmodule/table.html,git源码请点击https://github.com/tian ...

  3. JS组件系列——Bootstrap Table 表格行拖拽

    前言:之前一直在研究DDD相关知识,好久没更新JS系列文章了.这两天做了一个简单的业务需求,觉得效果还可以,今天在这里分享给大家,欢迎拍砖~~ 一.业务需求及实现效果 项目涉及到订单模块,那天突然接到 ...

  4. 点击导出table表格

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  5. vue+file-saver+xlsx导出table表格为excel

    https://blog.csdn.net/wjswangjinsheng/article/details/91393396

  6. Html Table用JS导出excel格式问题 导出EXCEL后单元格里的000412341234会变成412341234 7-14 会变成 2018-7-14(7月14) 自定义格式 web利用table表格生成excel格式问题 js导出excel增加表头、mso-number-format定义数据格式 数字输出格式转换 mso-number-format:"\@"

    Html Table用JS导出excel格式问题 我在网上找的JS把HTML Tabel导出成EXCEL.但是如果Table里的数字内容为0开的的导成Excel后会自动删除0,我想以text的格式写入 ...

  7. html table表格导出excel的方法 html5 table导出Excel HTML用JS导出Excel的五种方法 html中table导出Excel 前端开发 将table内容导出到excel HTML table导出到Excel中的解决办法 js实现table导出Excel,保留table样式

    先上代码   <script type="text/javascript" language="javascript">   var idTmr; ...

  8. js导出Excel表格

    js导出Excel表格 直接上代码: 红色部分:如果表格数据中有“1/1”这样的值,会在导出的Excel中转化为日期“1月1日”,所以才加上了红色那两句.如果返回值中没有这样的格式,红色部分可以不写. ...

  9. 使用js代码将HTML Table导出为Excel

    使用js代码将HTML Table导出为Excel的方法: 直接上源码 <html> <head> <meta http-equiv="Content-Type ...

随机推荐

  1. spring常用模式--委派模式

    1.委派模式简介 在常用的23种设计模式中其实面没有委派模式(delegate)的影子,但是在Spring中委派模式确实用的比较多的一种模式. 在spring中的体现:Spring MVC框架中的Di ...

  2. [Java]1.两数之和 - LeetCode

    1 题目 2 思路与代码 思路一:暴力法(两层For循环) 时间复杂度:O(n^2) 对于每个元素,我们试图通过遍历数组的其余部分来寻找它所对应的目标元素,这将耗费 O(n) 的时间.因此时间复杂度为 ...

  3. CRLF——http response 拆分攻击(webgoat)

    0x01 什么是CRLF CRLF是“回车+换行”(\r和\n)/(%0d和%0a)的简称. CRLF利用: 正常输入的请求中加入恶意代码,控制HTTP响应header中的字符(Location,Se ...

  4. 【VS开发】GDI+ 用CImage类来显示PNG、JPG等图片

    系统环境:Windows 7 软件环境:Visual Studio 2008 SP1 本次目的:实现VC单文档.对话框程序显示图片效果 CImage 是VC.NET中定义的一种MFC/ATL共享类,也 ...

  5. twig 模板控制器对应列表

    {{ render(controller(metas.header,{request:app.request, course: course, member: member|default(null) ...

  6. Spring 视图层如何显示验证消息提示

    1.示例 <p th:if="${#fields.hasErrors('name')}" th:errors="*{name}" ></p&g ...

  7. MemCache服务安装配置及windows下修改端口号

    简述:memcached 开源的分布式缓存数据系统.高性能的NOSQL Linux 一.环境配置与安装 01.编译准备环境 yum install -y gcc make cmake autoconf ...

  8. Java编程思想(四)初始化和清除

    4.1用构建器自动初始化 若某个类中有一个构建器,那么在创建对象时,Java会自动调用哪个构建器    在Java中构建器的名字必须与类名相同,这样可以保证这样一个方法惠子初始化期间自动调用: 利用构 ...

  9. [转帖]Linux-Windows 端口转发 netsh 还有 rinetd

    Linux-Windows 端口转发 https://www.cnblogs.com/operationhome/p/11284559.html 之前自己学习过 netsh 也曾经用过frp 这次学习 ...

  10. 【Python】【demo实验33】【练习实例】【列表的反转】

    反转列表 我的源代码: #!/usr/bin/python # encoding=utf-8 # -*- coding: UTF-8 -*- #按照相反的顺序输出列表的各元素 l = ["t ...