使用 jquery 将 html 表格转为 excel

2024-02-02

我有这个有效的 jquery 函数,但我需要添加一些东西。我在桌子上设置了一个过滤器来隐藏列。当我隐藏列并单击导出时,它无论如何都会使用所有字段。如何只导出未隐藏的表列?

var write_to_excel = (function() {
    var uri = 'data:application/vnd.ms-excel;base64,',
        template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet><x:Name>{worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head><body><table>{table}</table></body></html>',
        base64 = function(s) {
            return window.btoa(unescape(encodeURIComponent(s)))
        },
        format = function(s, c) {
            return s.replace(/{(\w+)}/g, function(m, p) {
                return c[p];
            })
        }
        return function(table, name) {
            if (!table.nodeType) table = document.getElementById(table) var ctx = {
                worksheet: name || 'Worksheet',
                table: table.innerHTML
            }
            window.location.href = uri + base64(format(template, ctx))
        }
})()​

我想我需要类似的东西。

if($(table).display.style!="none")

提前致谢。


最简单的方法是在将表传递给格式函数之前从表中删除列。由于您无论如何都会丢弃页面来导航到数据 URI,因此保留隐藏列并不重要。

删除隐藏列的方式取决于最初隐藏列的方式。如果只是将 display:none 应用于隐藏的 TD,则可以通过对代码进行此更改来实现。

    return function(table, name) {
        if (!table.nodeType)
            table = document.getElementById(table);

        $(table).find(':not(:visible)').remove();

        var ctx = {
            worksheet: name || 'Worksheet',
            table: table.innerHTML
        };

        window.location.href = uri + base64(format(template, ctx));
    };
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 jquery 将 html 表格转为 excel 的相关文章

  • 如何更改自动完成中的结果过滤器?

    我不想进行字面匹配 而是想通过正则表达式选择结果 我可以覆盖自动完成的默认行为来完成此任务还是需要替代结构 有一个内置的方法可以做到这一点 只需提供一个函数source http jqueryui com demos autocomplet
  • 将匹配的行复制到另一张纸中

    我有两张表 sheet1 和sheet 2 我正在查看工作表 1 的 T 列 如果工作表 2 中 T 包含 1 则粘贴完整行 该代码运行良好 但它将sheet2 中的结果粘贴到sheet1 的同一行中 这会导致行之间出现空白 任何人都可以建
  • 反馈选项卡,如 www.monyta.com [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我有兴趣添加一个在我的页面上托管的反馈选项卡 没有第三方 如 uservoice monyta gets
  • HTML5 仅拖放图像

    我想做的是 如果所有拖动的文件都是图像 则将其删除 但如果有其他文件扩展名 则不要删除它们 而仅删除图像 这是我的尝试 HTML div div JavaScript var dropzone document getElementById
  • Arbor Js - 节点 Onclick?

    我在用着arbor js http arborjs org 创建图表 我如何创建一个onclick节点的事件 或者在单击时在某处创建节点链接 Arborjs org 主页的节点在单击时链接到外部页面 我如何复制它 或者使节点在单击时调用 j
  • 如何在使用 ajax 和 JQuery 时加密发布数据?

    服务器端我们可以对用户进行身份验证 但我希望 ajax 或 JQuery 发送数据时数据安全 就像在客户端一样 某人只能看到加密格式的任何调用的参数 那么我该怎么做呢 我在这个网站上看到过这个场景 EDIT 当数据来自服务器时 我们可以忽略
  • Django:使用条件 {% extends %} 使 {% block "div" %} 成为条件

    我想分享一个 AJAX 和常规 HTTP 调用之间的模板 唯一的区别是一个模板需要扩展 base html html 而另一个则不需要 我可以用 extends request is ajax yesno app base ajax htm
  • jquery中如何使用load函数发送数据

    我想用 jquery load 函数发送字符串数据 但它没有发送 我的代码是 function dialog data function alert data var ph Org1 ph empty ph load FrontEnd Do
  • 使用 jQuery 更改父元素样式

    我有下一个 html 设置 div class one div class two a href class three Click a div div 我想更改具有类的元素的背景颜色 one当我点击元素时 three使用 jQuery 这
  • JQuery Datepicker OnSelect 和 TextChanged 问题

    自从将 OnSelect 添加到我的 Datepicker 后 该控件不再触发 TextChanged 事件 我的代码如下 function datepicker minDate 0 dateFormat dd M yy onSelect
  • MailTo 从 Javascript

    我有一个链接按钮 用于从页面内容构建邮件 从 javascript 启动它而不打开空白窗口或干扰调用它的窗口的最佳方法是什么 function Email var sMailTo mailto var sBody var alSelecte
  • 如何在 DOM 中的每个元素中调用函数,即使它们是动态创建的

    我想对 DOM 上的特定元素调用函数 例如 red css backgroundColor pink 它适用于 DOM 中已经存在的任何元素 但我也希望在动态添加到 DOM 的元素中调用此方法 我尝试过类似的事情 red on functi
  • JQuery datepickers-从开始日期设置结束日期

    使用了两个 Jquery 日期选择器 StartDate 和 EndDate
  • jQuery 表格排序

    我有一个非常简单的 HTML 表格 有 4 列 Facility Name Phone City Specialty 我希望用户能够排序设备名称 and City only 我如何使用 jQuery 进行编码 我发现了这个 我想我应该投入
  • 如何禁用 body 元素的滚动?

    如何禁用正文滚动 body css overflow hidden 仅隐藏滚动条 但不会禁用滚动 我想禁用正文的滚动 但我想保持其他分区的滚动完好无损 试试这个 CSS 不需要 jQuery 评论后更新 尝试指定高度body too
  • 在 JQuery 中发布表单并填充 DIV - 在 IE 中损坏

    我正在尝试创建一个通过 jQuery 发布数据并将返回值填充到同一 DIV 中的表单 这样页面就不会在发布操作时刷新 div div
  • 销毁 JQuery 可拖动对象

    我有一组可拖动的元素 如何删除可拖动功能 draggable draggable disable 对我来说不是一个选择 draggable draggable destroy 回报Uncaught TypeError Cannot read
  • 与 IE8 兼容的最新 jQuery 版本是什么?

    我正在开发 Bootstrap 3 网站 并且我使用的 jQuery 版本 1 9 1 遇到了一些问题 我升级到 2 1 0 我的问题消失了 但是 这破坏了 IE8 兼容性 因为 2 1 0 不再支持 IE8 并且 jQuery 在该浏览器
  • Excel:#CALC!使用 MAP 函数计算间隔重叠时出现错误(嵌套数组)

    我正在努力解决以下公式 它适用于某些情况 但不适用于所有情况 名字input有失败的数据集 得到一个 CALC 描述 嵌套数组 错误 LET input N1 0 0 N1 0 10 N1 10 20 names INDEX input 1
  • 如何通过 jQuery 中的类获取特定 html 元素的innerHTML?

    我有这样的 HTML 代码 div class a html value 1 div div class a html value 2 div 我怎样才能访问html value 1 and html value 2使用jquery 分别地

随机推荐

  • 动态加载字体 html jquery

    我正在开发一个允许用户输入一些文本并将其拖动到适当位置等的网站 我已经达到了我想提供字体选择的程度 我可以动态加载字体而不是一次性加载所有字体吗 例如 用户输入文本并选择使用 通用字体 1 是否可以使用 jquery 加载该字体 这样我就可
  • 如何使用 puppeteer 使用 x/y 坐标单击元素?

    我一直在尝试弄清楚如何使用 puppeteer 中的 x 和 y 坐标单击页面上的按钮 但我无法让它工作 这就是我目前正在使用的 await page mouse click x y button left 没有发生错误 它只是没有单击任何
  • 数据表中的自定义分页

    我有一个网络应用程序 在其中我从数据库获取数据并显示在数据表中 我在执行此操作时遇到问题 因为我获取的数据行太多 200 000 所以当我查询类似的东西时select from table name 我的应用程序卡住了 有没有办法用 Jav
  • Django UserCreationForm 自定义字段

    我正在尝试创建用户注册表单并添加一些自定义字段 为此 我对 UserCretionForm 进行了子类化并添加了字段 如 django 文档中所示 然后我根据这个表单创建了基于函数的视图和模板 现在 我可以成功创建用户 并且该用户已按预期添
  • jQuery - 使用 .getHours() 方法将 1-24 小时更改为 1-12 小时?

    Fiddle http jsfiddle net bnsex 1 http jsfiddle net bnsex 1 我想在这段代码中使用 12 小时制 document ready function setInterval functio
  • Java byte[] 到字符串转换输出字节

    在我的代码中 我通过互联网发送一个编码为字节数组的 txt 文件 然后在另一端将消息转换回并显示它 问题是 当我尝试显示它时 它总是显示为 B 1ef9f1d 或 B 1764be1 等 这是接收数据的地方 private void par
  • C语言UART通信(十六进制)

    我想向写入函数发送一个十六进制值 例如 0 90 这是因为需要通信的设备接收到的是十六进制数的命令 未使用的变量在测试时出现 并注释为丢失十六进制值 稍后将被删除 如何编写具有字符串以外的十六进制值的写入函数 对于初学者 请告诉我们如何通过
  • Ransack:如何使用不同的别名多次连接表?

    假设我有 items 与 has many 与 properties 关联 那么我可以像这样搜索具有名称为 a name 和值 a value 的属性的所有项目 q properties name eq a name properties
  • C - 指针初始化,星号位置[重复]

    这个问题在这里已经有答案了 放置星号的最正确方法是什么 为什么 1 type var 2 type var 只要您只声明一个指针 这并不重要 它通常像第二个示例一样编写 在我通常读 写的代码中 但对于编译器来说是相同的 如果您声明多个指针
  • 目标 C:如何解决代码中的泄漏(来自仪器的结果)

    我为我的应用程序运行了仪器 其中包含 UITableView 并得到了以下结果 每次单元格变得可见时 单元格将调用方法 UICustomButton SetButtonWithAnswer 编辑 添加了更多屏幕截图 问题是我不确定到底是什么
  • 将计算列添加到 pandas 数据框中

    我对 Python pandas 和一般编程完全陌生 我无法弄清楚以下内容 我在 pandas 的帮助下访问了数据库 并将查询中的数据放入数据框 df 中 其中一列包含生日 可以采用以下形式 1980 年 1 月 25 日 字符串 01 2
  • CYPHER 查询中的 LIKE 子句

    Cypher 查询似乎不支持 LIKE 是否有任何其他构造可以执行相同的任务 例如 start n node where n Name LIKE SUBSTRING return n Name n 使用正则表达式 http neo4j co
  • “%H:%M”格式的时间增量

    有一种方法可以转换timedelta列转换为 H M 格式的字符串 我什至需要这个timedeltas超过24小时 我想这样做是为了制作一个可在类似电子表格的软件 excel google Sheets 中使用的 csv 文件 没有任何内置
  • Nodejs for 循环并等待循环完成

    我有以下代码 Marks all users which are reading the book with the bookId var markAsReading function bookId cb User find functio
  • 詹金斯转义 sed 命令

    有人可以为我在 Jenkins groovy 脚本中转义这个 sed shell 命令吗 So hard sh sed s AssemblyInformationalVersion 1 productVersion 3 g Assembly
  • 如何确定Android .so文件的ABI(即armeabi或armeabi-v7a)?

    我有一个由第三方供应商提供的 so 文件 该文件将包含在我的 Android 应用程序中 我无法访问源代码 也无法 轻松 联系供应商 有没有办法让我通过检查 so 文件来确定它是否是针对armeabi or armeabi v7a ABI
  • 如何使用其他表中的列/字段对 PostgreSQL 表进行集群

    我想根据其他表中的信息对 PostgreSQL 表进行聚类 想象一下两张桌子 foos id baz id name and bars foo id name bars foo id是一个外键引用foos id 我想对 bar 表进行聚类
  • 我可以访问来自不同语言环境的 android 资源吗?

    我的应用程序中有两个区域设置 我可以访问资源 例如来自不同语言环境的字符串数组而不更改当前语言环境吗 我的意思是 对于编码 我不喜欢在 设置 中更改它 更好的解决方案是 如果您使用的是 API 17 NonNull protected St
  • 在包安装期间执行 R 脚本

    希望这有一个简单的答案 但我还没有找到它 我正在编写一个 R 包 当安装在 Windows 上时 我希望它执行一个搜索系统文件的脚本 即list files path C Program Files 然后将该路径保存到包目录作为文本文件以供
  • 使用 jquery 将 html 表格转为 excel

    我有这个有效的 jquery 函数 但我需要添加一些东西 我在桌子上设置了一个过滤器来隐藏列 当我隐藏列并单击导出时 它无论如何都会使用所有字段 如何只导出未隐藏的表列 var write to excel function var uri