JS 前端Table导出excel 支持多sheet页并且支持合并单元格

news/2024/7/19 15:51:37 标签: excel, js

JS 前端Table导出excel 支持多sheet页并且支持合并单元格

资源下载地址:https://download.csdn.net/download/qq_27946017/14890680
在这里插入图片描述

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <title>demo</title>
    <script src="exportExcel.js" type="text/javascript" charset="utf-8"></script>
</head>

<body>
    <table border="1" style="width: 400px;">
        <thead>
            <tr>
                <th rowspan="2" colspan="2">标题</th>
                <th colspan="2">汇总</th>
                <th rowspan="2">日期</th>
            </tr>
            <tr>
                <th>二级</th>
                <th>三级</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td colspan="2">标题1</td>
                <td>二级部门</td>
                <td>三级部门</td>
                <td>2020-01-09</td>
            </tr>
            <tr>
                <td colspan="2">标题2</td>
                <td>二级部门</td>
                <td>三级部门</td>
                <td>2020-01-09</td>
            </tr>
            <tr>
                <td colspan="2">标题3</td>
                <td>二级部门</td>
                <td>三级部门</td>
                <td>2020-01-09</td>
            </tr>
            <tr>
                <td colspan="2">标题4</td>
                <td>二级部门</td>
                <td>三级部门</td>
                <td>2020-01-09</td>
            </tr>
            <tr>
                <td colspan="2">标题5</td>
                <td>二级部门</td>
                <td>三级部门</td>
                <td>2020-01-09</td>
            </tr>
        </tbody>
    </table>
    <table border="1" style="width: 400px;margin-top: 20px;">
        <thead>
            <tr>
                <th rowspan="2">姓名</th>
                <th colspan="2">成绩</th>
                <th rowspan="2">日期</th>
            </tr>
            <tr>
                <th>语文</th>
                <th>数学</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>张三</td>
                <td>100</td>
                <td>90</td>
                <td>2020-01-09</td>
            </tr>
            <tr>
                <td>李四</td>
                <td>100</td>
                <td>90</td>
                <td>2020-01-09</td>
            </tr>
            <tr>
                <td>王五</td>
                <td>100</td>
                <td>90</td>
                <td>2020-01-09</td>
            </tr>
            <tr>
                <td>赵六</td>
                <td>100</td>
                <td>90</td>
                <td>2020-01-09</td>
            </tr>
            <tr>
                <td>李琦</td>
                <td>100</td>
                <td>90</td>
                <td>2020-01-09</td>
            </tr>
        </tbody>
    </table>
</body>
<script type="text/javascript">
    console.log('exportToExcel', exportToExcel)
        /* 
        //导合多sheet
        var list1 = [{
        		ypsj: "2020-10-10",
        		tbbm: "技术科",
        		score: "99.12"
        	},
        	{
        		ypsj: "2020-10-11",
        		tbbm: "办公室",
        		score: "56.4"
        	},
        ];
        var list2 = [{
        		ypsj: "2020-10-10",
        		tbbm: "技术科",
        		score: "73.567"
        	},
        	{
        		ypsj: "2020-10-11",
        		tbbm: "办公室",
        		score: "89"
        	},
        ];
        const tHeader = [{
        		key: "ypsj",
        		name: "研判时间",
        	},
        	{
        		key: "tbbm",
        		name: "填报部门"
        	},
        	{
        		key: "score",
        		name: "代码",
        		format: "0.00",  //单元格格式 例:"0.00"代表数字保留2位小数,"@"代表文本,"Percent"代表百分比
        		style:{"text-align":"right"}  //单元格样式
        	},
        ];
        var excelInfo = {
        	name: "这是表格的名称",
        	sheets: [{
        			name: "这是sheet1",
        			content: list1,
        			tHeader: tHeader,
        		},
        		{
        			name: "这是sheet2",
        			content: list2,
        			tHeader: tHeader,
        		},
        	],
        }; 
        exportToExcel(excelInfo);
        */


    //导合并单元格的
    var content =
        ` <thead>
            <tr>
                <th rowspan="2" colspan="2">标题</th>
                <th colspan="2">汇总</th>
                <th rowspan="2">日期</th>
            </tr>
            <tr>
                <th>二级</th>
                <th>三级</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td colspan="2">标题1</td>
                <td>二级部门</td>
                <td>三级部门</td>
                <td>2020-01-09</td>
            </tr>
            <tr>
                <td colspan="2">标题2</td>
                <td>二级部门</td>
                <td>三级部门</td>
                <td>2020-01-09</td>
            </tr>
            <tr>
                <td colspan="2">标题3</td>
                <td>二级部门</td>
                <td>三级部门</td>
                <td>2020-01-09</td>
            </tr>
            <tr>
                <td colspan="2">标题4</td>
                <td>二级部门</td>
                <td>三级部门</td>
                <td>2020-01-09</td>
            </tr>
            <tr>
                <td colspan="2">标题5</td>
                <td>二级部门</td>
                <td>三级部门</td>
                <td>2020-01-09</td>
            </tr>
        </tbody>`
    var content2 =
        `     <thead>
            <tr>
                <th rowspan="2">姓名</th>
                <th colspan="2">成绩</th>
                <th rowspan="2">日期</th>
            </tr>
            <tr>
                <th>语文</th>
                <th>数学</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>张三</td>
                <td>100</td>
                <td>90</td>
                <td>2020-01-09</td>
            </tr>
            <tr>
                <td>李四</td>
                <td>100</td>
                <td>90</td>
                <td>2020-01-09</td>
            </tr>
            <tr>
                <td>王五</td>
                <td>100</td>
                <td>90</td>
                <td>2020-01-09</td>
            </tr>
            <tr>
                <td>赵六</td>
                <td>100</td>
                <td>90</td>
                <td>2020-01-09</td>
            </tr>
            <tr>
                <td>李琦</td>
                <td>100</td>
                <td>90</td>
                <td>2020-01-09</td>
            </tr>
        </tbody>`
    var excelInfo = {
        name: "多sheet页复杂excel导出",
        sheets: [{
            name: "这是sheet1",
            content: content,
        }, {
            name: "这是sheet2",
            content: content2,
        }],
    };
    exportToExcel(excelInfo);
</script>

</html>

http://www.niftyadmin.cn/n/763340.html

相关文章

SQL-select max(ID)查询char类型,获取到的最大值只能到9的問題

p1 p2 p3 p9 p10 无法判断p10为最大值问题解决办法&#xff1a; select max(CAST(REPLACE(EXPNUM,‘P’,’’) AS INT)) from point 1 2 3 4 9 10 数字判断方法&#xff1a; SELECT MAX(CAST(ID AS INT)) AS ID FROM DCP_ZB

TOMCAT-无法成功启动——双击startup.bat闪退的解决办法

Tomcat无法成功启动——双击startup.bat闪退的解决办法 ———————————————— 【转载】原文链接&#xff1a;https://blog.csdn.net/scau_lth/article/details/83218335 这是新手经常会犯的错误&#xff0c;只要注意三个点就可以解决这个问题。 一、首先查看端口…

JS 对象引用地址问题处理

赋值新数组引用地址相同&#xff0c;改变了原数组问题。 Object.assign({}, _This.data.data) item 为dom对象 该传值方式解决for循环中调用ajax始终传入最后一个值的问题 function getYHTypeList(BOOSTERIDS, item, callBack) {// 发送ajax请求//找到有效调压箱编号OLDNO1var …

JAVA-在IDEA中使用MyBatis Generator生成实体类和mapper配置文件

在idea中集成了MyBatis Generator的功能&#xff0c;下面介绍需要怎么使用这个插件。 1、在pom.xml文件的build节点加上以下代码 <!-- mybatis generator 自动生成代码插件 --> <plugin> <groupId>org.mybatis.generator</groupId> <artifactId&g…

TOMCAT-部署项目-tomcat 不能多启动问题解决方案

tomcat 不能多启动问题 解决方案&#xff1a; 更改tomcat server.xml 所有涉及端口 8089 端口&#xff1a;8005 8089 8443 8009 8088 端口&#xff1a;8006 8088 8444 8010

TOMCAT-解决多个Spring Boot项目部署在一个Tomcat容器冲突问题

Spring Boot的spring.jmx资源管理是默认打开的&#xff0c;而两个项目同时使用会冲突 修改配置文件&#xff1a;application.properties(yml) 办法1&#xff1a; 在项目配置中加入&#xff1a;spring.jmx.enabledfalse 办法2&#xff1a; 在application中各自配置 spring.jmx.…

JAVA-使用Thumbnails压缩图片

使用Thumbnails压缩图片 <!-- https://mvnrepository.com/artifact/net.coobird/thumbnailator 压缩图片插件--> <dependency> <groupId>net.coobird</groupId> <artifactId>thumbnailator</artifactId> <version>0.4.8</versio…

C#-后端HTTP请求两种方式GET POST

C#后端HTTP请求两种方式GET POST GET方式 public static object GetToJson(string url){string JsonStr "";HttpWebRequest req (HttpWebRequest)WebRequest.Create(url);req.AllowAutoRedirect true;HttpWebResponse res (HttpWebResponse)req.GetResponse();S…