Javascript 将table数据导出到Excel

table导出Excel-表格的内容,格式,颜色不变 效果图 原代码 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="Content-Language" content="zh-cn"> <title>Title</title> <style&gt. 阅读详情


直接将源代码拷贝过来的


<html>

<body>
<script language="javascript">       
//导出excel
        function TableToExcelUtil(tableID) {
         this.tableBorder = -1; //边框类型,-1没有边框 可取1/2/3/4
         this.backGround = 4; //背景颜色:白色 可取调色板中的颜色编号 1/2/3/4....
         this.fontColor = 1; //字体颜色:黑色
         this.fontSize = 10; //字体大小
         this.fontStyle = "宋体"; //字体类型
         this.rowHeight = 20; //行高
         this.columnWidth = -1; //列宽
         this.lineWrap = true; //是否自动换行
         this.textAlign = -4108; //内容对齐方式 默认为居中
         this.autoFit = true; //是否自适应宽度
         this.tableID = tableID;
     }
         TableToExcelUtil.prototype.setTableBorder = function (excelBorder) {
             this.tableBorder = excelBorder ;
         };
         TableToExcelUtil.prototype.setBackGround = function (excelColor) {
             this.backGround = excelColor;
         };
         TableToExcelUtil.prototype.setFontColor = function (excelColor) {
             this.fontColor = excelColor;
         };
         TableToExcelUtil.prototype.setFontSize = function (excelFontSize) {
             this.fontSize = excelFontSize;
         };
         TableToExcelUtil.prototype.setFontStyle = function (excelFont) {
             this.fontStyle = excelFont;
         };
         TableToExcelUtil.prototype.setRowHeight = function (excelRowHeight) {
             this.rowHeight = excelRowHeight;
         };
         TableToExcelUtil.prototype.setColumnWidth = function (excelColumnWidth) {
             this.columnWidth = excelColumnWidth;
         };
         TableToExcelUtil.prototype.isLineWrap = function (lineWrap) {
             if (lineWrap == false || lineWrap == true) {
                 this.lineWrap = lineWrap;
             }
         };
         TableToExcelUtil.prototype.setTextAlign = function (textAlign) {
             this.textAlign = textAlign;
         };
         TableToExcelUtil.prototype.isAutoFit = function(autoFit){
             if(autoFit == true || autoFit == false)this.autoFit = autoFit ;
         }
         //文件转换主函数
         TableToExcelUtil.prototype.getExcelFile = function () {
         var jXls, myWorkbook, myWorksheet, myHTMLTableCell, myExcelCell, myExcelCell2;
         var myCellColSpan, myCellRowSpan;
         try {
             jXls = new ActiveXObject('Excel.Application');
         }catch (e) {
             alert("无法启动Excel!\n\n如果您确信您的电脑中已经安装了Excel,"+"那么请调整IE的安全级别。\n\n具体操作:\n\n"+"工具 → Internet选项 → 安全 → 自定义级别 → 对没有标记为安全的ActiveX进行初始化和脚本运行 → 启用");
             return false;
         }
         jXls.Visible = true;
         myWorkbook = jXls.Workbooks.Add();
         jXls.DisplayAlerts = false;
         myWorkbook.Worksheets(3).Delete();
         myWorkbook.Worksheets(2).Delete();
         jXls.DisplayAlerts = true;
         myWorksheet = myWorkbook.ActiveSheet;
         var readRow = 0, readCol = 0;var totalRow = 0, totalCol = 0;
         var tabNum = 0;
         //设置行高、列宽
         if(this.columnWidth != -1)
             myWorksheet.Columns.ColumnWidth = this.columnWidth;
         else
             myWorksheet.Columns.ColumnWidth = 7;
         if(this.rowHeight != -1)
             myWorksheet.Rows.RowHeight = this.rowHeight ;
         //搜索需要转换的Table对象,获取对应行、列数
         var obj = document.all.tags("table");
         for (x = 0; x < obj.length; x++) {
             if (obj[x].id == this.tableID) {
                 tabNum = x;
                 totalRow = obj[x].rows.length;
                 for (i = 0; i < obj[x].rows[0].cells.length; i++) {
                     myHTMLTableCell = obj[x].rows(0).cells(i);
                     myCellColSpan = myHTMLTableCell.colSpan;
                     totalCol = totalCol + myCellColSpan;
                 }
             }
         }
         //开始构件模拟表格
         var excelTable = new Array();
         for (i = 0; i <= totalRow; i++) {
             excelTable[i] = new Array();
             for (t = 0; t <= totalCol; t++) {
                 excelTable[i][t] = false;
             }
         }
         //开始转换表格
         for (z = 0; z < obj[tabNum].rows.length; z++) {
             readRow = z + 1;
             readCol = 0;
             for (c = 0; c < obj[tabNum].rows(z).cells.length; c++) {
                 myHTMLTableCell = obj[tabNum].rows(z).cells(c);
                 myCellColSpan = myHTMLTableCell.colSpan;
                 myCellRowSpan = myHTMLTableCell.rowSpan;
                 for (y = 1; y <= totalCol; y++) {
                     if (excelTable[readRow][y] == false) {
                         readCol = y;
                         break;
                     }
                 }
                 if (myCellColSpan * myCellRowSpan > 1) {
                     myExcelCell = myWorksheet.Cells(readRow, readCol);
                     myExcelCell2 = myWorksheet.Cells(readRow + myCellRowSpan - 1, readCol + myCellColSpan - 1);
                     myWorksheet.Range(myExcelCell, myExcelCell2).Merge();
                     myExcelCell.HorizontalAlignment = this.textAlign;
                     myExcelCell.Font.Size = this.fontSize;
                     myExcelCell.Font.Name = this.fontStyle;
                     myExcelCell.wrapText = this.lineWrap;
                     myExcelCell.Interior.ColorIndex = this.backGround;
                     myExcelCell.Font.ColorIndex = this.fontColor;
                     if(this.tableBorder != -1){
                         myWorksheet.Range(myExcelCell, myExcelCell2).Borders(1).Weight = this.tableBorder ;
                         myWorksheet.Range(myExcelCell, myExcelCell2).Borders(2).Weight = this.tableBorder ;
                         myWorksheet.Range(myExcelCell, myExcelCell2).Borders(3).Weight = this.tableBorder ;
                         myWorksheet.Range(myExcelCell, myExcelCell2).Borders(4).Weight = this.tableBorder ;
                     }
                     myExcelCell.Value = myHTMLTableCell.innerText;
                     for (row = readRow; row <= myCellRowSpan + readRow - 1; row++) {
                         for (col = readCol; col <= myCellColSpan + readCol - 1; col++) {
                             excelTable[row][col] = true;
                         }
                     }
                     readCol = readCol + myCellColSpan;
                 } else {
                     myExcelCell = myWorksheet.Cells(readRow, readCol);
                     myExcelCell.Value = myHTMLTableCell.innerText;
                     myExcelCell.HorizontalAlignment = this.textAlign;
                     myExcelCell.Font.Size = this.fontSize;
                     myExcelCell.Font.Name = this.fontStyle;
                     myExcelCell.wrapText = this.lineWrap;
                     myExcelCell.Interior.ColorIndex = this.backGround;
                     myExcelCell.Font.ColorIndex = this.fontColor;
                     if(this.tableBorder != -1){
                         myExcelCell.Borders(1).Weight = this.tableBorder ;
                         myExcelCell.Borders(2).Weight = this.tableBorder ;
                         myExcelCell.Borders(3).Weight = this.tableBorder ;
                         myExcelCell.Borders(4).Weight = this.tableBorder ;
                     }
                     excelTable[readRow][readCol] = true;readCol = readCol + 1;
                 }
             }
         }
         if(this.autoFit == true)
             myWorksheet.Columns.AutoFit;
         jXls.UserControl = true;
         jXls = null;
         myWorkbook = null;
         myWorksheet = null;
     };
     function exportExcel(tid)
     {
     var tb = new TableToExcelUtil(tid);
     tb.setFontStyle("Courier New");
     tb.setFontSize(10); //推荐取值10
     tb.setFontColor(6); //一般情况不用设置
     tb.setBackGround(2); //一般情况不用设置
     tb.setTableBorder(2); //推荐取值2
     tb.setColumnWidth(10); //推荐取值10
     tb.isLineWrap(false);
     tb.isAutoFit(true);
    
     tb.getExcelFile();
    }
</script>     
<input type="button" onClick="exportExcel('tab01')" value="导出表格">
fgsghsh
<table width="200" border="1">
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
</table>
<div></div>
<div id="tabEnterNpDiv">
 <table border="1" style="display:block" id="tab01">
 <tr bgcolor="tomato">
  <td align="middle">省份</td>
  <td id = "province" colspan="2" align="middle">天津</td>
  <td colspan="4" align="middle">携入</td>
 </tr>
 <tr bgcolor="turquoise">
  <td rowspan="2" align="middle">时间</td>
  <td align="middle">开始时间</td>
  <td align="middle">结束时间</td>
  <td align="middle">电信</td>
  <td align="middle">移动</td>
  <td align="middle">联通</td>
  <td align="middle">携出合计</td>
 </tr>
 <tr bgcolor="mistyrose">
  <td id = "sDate" align="middle">2010-10-17</td>
  <td id = "eDate" align="middle">2010-11-17</td>
  <td align="middle">成功量</td>
  <td align="middle">成功量</td>
  <td align="middle">成功量</td>
  <td align="middle">成功量</td>
 </tr>
 <tr bgcolor="loralwhite">
  <td rowspan="4" align="middle">携出</td>
  <td colspan="2" align="middle">电信</td>
  <td align="middle">--</td>
  <td id = "s001002" align="middle">500</td>
  <td id = "s001003" align="middle">700</td>
  <td id = "out001" align="middle">1200</td>
 </tr>
 <tr bgcolor="indigo">
  <td colspan="2" align="middle">移动</td>
  <td id = "s002001" align="middle">3000</td>
  <td align="middle">--</td>
  <td id = "s002003" align="middle">2500</td>
  <td id = "out002" align="middle">5500</td>
 </tr>
 <tr bgcolor="Gray">
  <td colspan="2" align="middle">联通</td>
  <td id = "s003001" align="middle">3000</td>
  <td id = "s003002" align="middle">500</td>
  <td align="middle">--</td>
  <td id = "out003" align="middle">3500</td>
 </tr>
 <tr bgcolor="tan">
  <td colspan="2" align="middle">携入合计</td>
  <td id = "in001" align="middle">6000</td>
  <td id = "in002" align="middle">1000</td>
  <td id = "in003" align="middle">3200</td>
  <td id = "inout" align="middle">10200</td>
 </tr>
</table>
</div>
<div></div><table width="200" border="1">
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
</table>

</body>
</html>
js javascript 导出table表中数据到Excel中 Js代码   "-//W3C//DTD HTML 4.0 Transitional//EN">          导出到Excel     "Generator" CONTENT="EditPlus">    "Author" CONTENT="">    "Keywords" CONTENT="">    "Description" CONTENT="">          funct 阅读详情

相关推荐

js中导出table为excel支持大数据量

最近工作中遇到了导出table数据的需求,开始写的函数在小数据量的时候可以正常导出,但数据量过大则报网络错误。后来发现是由于浏览器URL有长度限制数据量大的时候长度超过浏览器GET限制,会部分被阻断了导致下载失败。因此将函数改写为下面的形式,采用Blob对象。 //导出数据为Excel的函数 const tableToExcel = (function () { //Excel模板...

Mr_zhujin的博客 893

html table转excel单元格带背景颜色

在浏览器端将html的table转成Excel,可以参考下面的库。下面是使用这个库写的一个例子。

sunday2018的博客 948

js导出带样式的excel.zip

js导出带样式的excel,简单易用,基于layui,欢迎下载,谢谢!

vue导出带样式的excel

实现导出excel不同块的颜色。

liuguowei14的博客 390

使用js导出带样式的excel表格

使用js导出带样式的excel表格模板,有demo

在 Windows 上使用 Anaconda 创建 配置 YOLOv8虚拟环境,并更改 pip 源以及以 可编辑模式 安装ultralytics

前往 NVIDIA cuDNN 下载页面,下载与您安装的 CUDA 版本匹配的 cuDNN 版本。:根据您的系统和 CUDA 版本,选择适当的 whl 文件。如下12.7,表示最高可装12.7版本CUDA,与上图中的支持的最高cuda版本一致。,无需重新安装,从而大幅提升开发效率,适用于项目开发、调试或依赖本地未发布的版本时使用,但需确保当前目录包含。:访问 NVIDIA 官方网站,下载与您的显卡和操作系统兼容的 CUDA 版本。首先,确保NVIDIA 显卡支持 CUDA,并安装相应版本的驱动程序。

weixin_44115575的博客 1893

vue exceljs 实现导出excel并设置网格线、背景色、 垂直居中、分页打印

vue exceljs 实现导出excel并设置网格线、背景色、 垂直居中 分页打印

qq_52099965的博客 2989

[LaTeX] 调整参考文献的格式(References),包括作者名缩写,行距,字体,引用顺序等等

在此记录我对LaTeX中参考文献references的尝试,主要涵盖如题几个方面。

the Blog of 等不到天亮丶等时光 4万+

前端经验:导出表格为excel并设置样式

将网页上的table标签内容导出为excel,并且导出的excel携带样式,比如字色、背景色、对齐等等。

Comvir的专栏 1455

用户消费行为分析(MapReduce实现,Hive分析)

一、题目要求 数据来自CDNow网站的一份用户购买CD明细,本数据集共有 6 万条 左右数据,数据为 CDNow 网站 1997年1月至1998年6月的用户行为 数据

紫烟的博客 3014

Qwen-Image LoRA训练实战:从数据准备到异常修复的全流程解析

本文详细解析了Qwen-Image LoRA训练的全流程,从数据准备到参数优化再到异常修复。通过实战案例展示了如何利用LoRA技术微调Qwen-Image模型,提升中文场景下的图像生成质量,特别针对手脚生成异常等问题提供了有效解决方案。文章还分享了中文提示词优化技巧和高级训练方法,帮助开发者高效训练出高质量的LoRA模型。

lemon的博客 969

js导出table数据到excel (续)

之前的js导出table数据到excel 的文章还有个问题,就是导出的excel会带有文本框的情况。所以再做一个优化。思路就是把文本框的值找出来,然后替换整个文本框,再进行打印。打印完毕后,把原来的文本框加回去,显示回原来页面。 代码 无标题页 function method1(tableid) {//整个表格拷贝到EXCEL中

3684

玩转Docker小游戏项目系列:Docker部署吃豆人经典小游戏

玩转Docker小游戏项目系列:Docker部署吃豆人经典小游戏

jks212454的博客 733

react+antd中使用插件js-export-excel将table数据导出为excel文件

首先在项目中安装js-export-excel插件,进入项目目录,执行以下命令: npm安装:npm install --save js-export-excel, yarn安装:yarn add js-export-excel, 安装好之后,查看package.json文件夹中会在dependencies(生产环境依赖)对象中显示插件版本信息: //package.json "dependenc...

ThisEqualThis的博客 6701

java零基础从入门到精通(全)

目录前言1. 入门知识1.1 java体系1.2 JDK/JRE/JVM区别1.3 编译与运行理解1.4 类体函数细节2. 标识符 前言 java优势 健壮性(JVM(C++语言写的一个虚拟的计算机)、GC(垃圾回收机制)) 多线程并发 可移植性/跨平台 1. 入门知识 1.1 java体系 JavaSE:标准版 JavaEE:企业版 JavaME:微型版 1.2 JDK/JRE/JVM区别 JVM是不能独立安装的。 JRE和JDK都是可以独立安装的 层层嵌套,jvm包括jdk,jdk包括jre

码农研究僧的博客 6万+

【WorkBuddy专栏32】从「分文件夹」到「组队打仗」——WorkBuddy v5.0项目模式深度拆解

【WorkBuddy专栏32】从「分文件夹」到「组队打仗」——WorkBuddy v5.0项目模式深度拆解

AI人人懂 299

JS 将Table数据导出到Excel表

通过JavaScript方法将table中的数据导出在excel表中,使用方便,可以直接浏览器直接下载所需要的excel表,一般适用于后台管理的导出数据需求。使用方法1.对table标签设置id,例如:id=”ta” 2.点击按钮调用<button onclick="javascript:method1('ta')">导出EXCEL</button>实现过程var idTmr; function

前端学习笔记 1万+

【Codecs系列】x265编码器(十二):子像素运动搜索

在基于块运动补偿的视频编码框架中,运动搜索是最为重要的环节之一,同时也是编码端最为耗时的模块。运动搜索包括整像素运动搜索和子像素运动搜索,其中整像素运动搜索已经有很多快速算法,比如经典的三步搜索法、菱形搜索、六边形搜索以及TZSearch等等;但子像素搜索的快速算法却比较少,本文主要讲解x265编码器中的子像素搜索方法以及相关的快速搜索方法。

优快云明星博主,认证博客专家,视频、Matlab领域优质创作者。 749

JavaScript导出table数据至Excel

不多废话,直接上代码。参考于layui,这种将静态表格数据,导出到Excel的操作,实际应用的场景似乎不是很多,但是知道并能够将静态表格数据转换成Excel,还是非常值得给个的。

glx_gaolixian的博客 1184

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

js导出html页面excel,js导出页面表格数据到Excel-如何将html里面的table导出成excel

js 导出table表格数据到桌面你好,可以加个按钮,功能是提交表格table的HTML文本)个新页面mytable.php,新页面的功能http header为excel,这个时候就直接下载或者是用本地的excel打开了;新页面直接输出获取到的提交内容HTML文本;代码如下:header("Content-type:application/vnd.ms-excel");header("Conte...

weixin_31764625的博客 457

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

使用JS将Table数据导出到Excel里(2种方法)

最近开发项目,要用到在线导出Excel的功能,于是乎就在网上找了很多例子,接下来就分享两个JS在线导出Excel的案例,由于项目中用到的是Table显示的数据,所以找的案例也是根据Table导出Excel。(废话不多说,直接上代码!) 案例一: 公共调用方法: //导出Excel公共方法 var tablesToExcel = (function() { var uri = 'data...

满脑子代码的祝大朋博客 2849

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

使用table2excel.js 将页面上的数据 用excel导出 兼容IE 火狐 谷歌浏览器

很好用的excel导出插件,可直接导出页面中数据,简单好用。原table2excel.js 使用火狐 ie导出excel有问题,js代码已修改。 html示例代码 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>html 表格导出&...

leigelg的博客 1169

JS前端将table数据导出为EXCEL

@TOC 数据导出为excel是前端比较常用的功能。笔者近期在网上收集汇总了几种常用的方法,供大家使用。 1、ActiveXObject(“Excel.Application”) 这种方法只能在IE下使用。 优点:参照VBA控制excel对象。(代码不会的可以录制宏) 缺点:引用cell对象太慢,上万行数据导出时间超过2分钟 2、以Table方式导出为html文件。 3、以CSV方式导出。 ...

liufuwu1的博客 3401

html中的table元素数据下载导出成表格,使用jquery插件 jquery.table2excel.js

需要把网页上类似如下的数据导出到本地。 jquery.table2excel.js (我真搞不懂像这种开源的东西还有人放在优快云上当作资源让人用积分/C币去下载) 点进src文件下载里面的文件到本地即可,也可以去看看demo里的语法案例,看看怎么使用。 可以看这个 实际解决: table标签 js文件(对了,导入一下jquery.js) 点击导出表格按钮,成功下载到了文件 这种方法很奇怪,比如导出的表格用excel打开会提示表格损坏扩展名不一致之类的。 目前知识还比较薄弱。先解决问题。或者有大佬有更好方

shrimper 1733

js把html中的table数据导出到Excel中

var idTmr;         function  getExplorer() {             var explorer = window.navigator.userAgent ;             //ie             if (explorer.indexOf("MSIE") >= 0) {                 return 'ie';

山鹰的专栏 1566
上一篇: javascript解析XML生成树形结构(兼容Firefox,IE9)
下一篇: JSP自定义标签(一) 树形下拉选择菜单
carroll0911
博客等级 码龄17年 27粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值