首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从javascript调用rails时如何导出xls

从 JavaScript 调用 Rails 导出 XLS 文件可以通过以下步骤实现:

  1. 在 Rails 后端创建一个用于导出 XLS 文件的路由和控制器方法。在控制器方法中,使用 Ruby 的相关库(如 axlsxspreadsheet)来生成 XLS 文件,并将其发送给前端。
  2. 在 JavaScript 前端使用 AJAX 或 Fetch API 向后端发送请求,调用导出 XLS 文件的路由。
  3. 在后端控制器方法中,根据请求参数或数据,生成 XLS 文件。可以使用 Ruby 的模板引擎(如 axlsx_rails)来创建 XLS 模板,并填充数据。
  4. 将生成的 XLS 文件发送给前端。可以使用 Rails 的 send_data 方法将文件作为响应发送给前端,设置正确的 MIME 类型和文件名。

以下是一个示例代码:

在 Rails 后端的路由文件 routes.rb 中添加导出 XLS 文件的路由:

代码语言:txt
复制
get 'export_xls', to: 'xls_export#export'

在控制器 xls_export_controller.rb 中添加导出 XLS 文件的方法:

代码语言:txt
复制
require 'axlsx'

class XlsExportController < ApplicationController
  def export
    # 生成 XLS 文件
    p = Axlsx::Package.new
    wb = p.workbook
    wb.add_worksheet(name: "Sheet1") do |sheet|
      sheet.add_row ["Header 1", "Header 2", "Header 3"]
      sheet.add_row ["Data 1", "Data 2", "Data 3"]
    end

    # 发送 XLS 文件给前端
    send_data p.to_stream.read, filename: "export.xls", type: "application/vnd.ms-excel"
  end
end

在 JavaScript 前端调用导出 XLS 文件的方法:

代码语言:txt
复制
function exportXls() {
  fetch('/export_xls')
    .then(response => response.blob())
    .then(blob => {
      // 创建一个下载链接
      const url = window.URL.createObjectURL(blob);
      const a = document.createElement('a');
      a.href = url;
      a.download = 'export.xls';
      document.body.appendChild(a);
      a.click();
      document.body.removeChild(a);
      window.URL.revokeObjectURL(url);
    });
}

以上示例代码使用了 axlsxaxlsx_rails gem 来生成 XLS 文件,你可以根据自己的需求选择其他库或工具。同时,你也可以根据实际情况对代码进行修改和优化。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

JavaScript SheetJS将 Html 表转换为 Excel 文件

在本教程中,我们可以在客户端我们的 HTML 表数据创建一个 excel 文件。即使用javascript将HTML 表导出到Excel (.xlsx)。...有许多可用的库可以 HTML 表创建 CSV 文件或 xlsx 文件,但所有库都给出了提示消息。那就是当我们打开该excel文件,它会提示一条消息,文件名的文件格式和扩展名不匹配。...使用 SheetJs,我们可以轻松地将表格数据转换为 Xls 文件。我们可以Github下载 js 文件或直接使用CDN 托管文件。...接下来,我们必须在按钮单击添加和调用 javascript 函数,即 ExportToExcel。 JavaScript 代码:使用 Sheetjs 库将表格数据导出到 excel 文件中。...函数中,tbl_exporttable_to_xls 是我们要导出的 HTML 表的 id。

5.3K20

python + selenium + PhantomJS 获取腾讯应用宝APP评论

PhantomJS PhantomJS 是一个基于WebKit的服务器端JavaScript API,它无需浏览器的支持即可实现对Web的支持,且原生支持各种Web标准,如DOM 处理、JavaScript...PhantomJS主要是通过JavaScript和 CoffeeScript控制WebKit的CSS选择器、可缩放矢量图形SVG和HTTP网络等各个模块。...网络监控:自动进行网络性能监控、跟踪页面加载情况以及将相关监控的信息以标准的HAR格式导出。...已形成了一个功能非常强大的生态圈内容,相关项目如下: CasperJS:一个开源的导航脚本处理和高级测试工具 Poltergeist :测试工具Capybara的测试驱动 Guard::Jasmine:能够基于Rails...转换写入 57 def w_xls(url, name): 58 perfix = time.strftime('%Y%m%d') 59 xfilename = "./" + name

1.1K70
  • JavaScript引擎是如何工作的?调用栈到Promise你需要知道的一切

    JavaScript Engines: How Do They Even Work? 你有没有想过浏览器是如何读取和运行 JavaScript 代码的吗?...当一个函数被调用时,JavaScript 引擎会为另外两个盒子腾出空间: 全局执行上下文环境 调用栈 全局执行上下文和调用栈 在上一节你了解了 JavaScript 引擎是如何读取变量和函数声明的,他们最终进入了全局内存...调用栈是一个栈数据结构:这意味着元素可以顶部进入,但如果在它们上面还有一些元素,就不能离开栈。 JavaScript 函数就是这样的。...单线程的JavaScript 我们说 JavaScript 是单线程的,因为有一个调用栈处理我们的函数。也就是说,如果有其他函数等待执行,函数是不能离开调用栈的。 当处理同步代码,这不是什么问题。...在接下来的部分中,你将看到异步代码如何JavaScript 中工作以及为什么这样工作。

    1.5K30

    Gridview导出到Excel,Gridview中的各类控件,Gridview中删除记录的处理

    一、Gridview中的内容导出到Excel 在日常工作中,经常要将gridview中的内容导出到excel报表中去,在asp.net 2.0中,同样可以很方便地实现将整个gridview中的内容导出到...这里使用Response.AddHeader("content-disposition","attachment;filename=exporttoexcel.xls");中的filename来指定将要导出的...excel的文件名,这里是exporttoexcel.xls。...要注意的是,由于gridview的内容可能是分页显示的,因此,这里在每次导出excel,先将gridview的allowpaging属性设置为false,然后通过页面流的方式导出当前页的gridview...小结 在本文中,继续探讨了gridview控件的一些用法,如导出到excel,在删除记录的处理,以及如何访问gridview中的控件等。

    2.6K20

    如何在Ubuntu 18.04上使用RVM安装Ruby on Rails

    我们将附加-s标志以指示该实用程序应该以静默模式与-S标志一起操作以覆盖其中一些以允许curl在失败可以输出错误。该-L标志告诉实用程序遵循重定向,最后-o标志指示将输出写入文件而不是标准输出。...安装完成后,安装目录中获取RVM脚本,这些脚本通常位于您的home/username目录中。...安装JavaScript运行时 一些Rails功能(例如Asset Pipeline)依赖于JavaScript的运行时。我们将使用软件包管理器安装Node.js以提供此功能。...如何卸载RVM 如果您不再希望使用RVM,可以先删除.bashrc文件中的脚本调用然后删除RVM文件来卸载它。...结论 我们已经介绍了如何在这里安装RVM和Ruby on Rails的基础知识,以便您可以使用多个Ruby环境。

    8.9K00

    Salesforce LWC 实现上传Excel解析其内容

    它的功能包括读取、编辑、生成和写入各种格式的电子表格文件,支持 Excel 的 .xlsx、.xls 文件以及其他类似的表格文件格式(如 .csv、.ods 等)。1....SheetJS 的主要功能:1) 读取电子表格: 可以本地文件或通过网络获取的文件中读取数据,并将其解析为 JavaScript 对象。...支持多种文件格式,如 .xlsx、.xls、.csv、.ods 等2) 生成电子表格: 以通过代码动态创建电子表格,并导出为不同的文件格式。...4)导出和下载: 可以将处理后的数据导出为各种电子表格文件格式,并提供下载链接。2....二、如何使用SheetJS首先在vscode中创建好LWC组件1.添加 SheetJS:方法1:Download https://cdn.sheetjs.com/xlsx-0.20.3/package/

    10720

    compound extremes_one是什么

    而且对于区别 如何处理html和导出显示值也不是很清晰。以前列值作为html显示,列的propertyValue作为导出使用。...你可能对我 使用cell="date"来指定日期cell、使用cell="currency"来指定货币cell或使用view="xls."来指定xls导出感到疑惑。...你只需要组装Beans集合并让eXtremeTable知道如何 引用它。这样的操作对于小到中等数据量的结果集非常有效,当结果集很大这将非常糟糕。 这是一个判断,但我更喜欢描述如何做出我的技术决定。...使用Sybase的开发人员可能会说:rowcount命令总是第一条开始,那么当我到第二页我也必须 第一条数据开始。 是的,你现在得到的是两页的结果集,而不需要得到所有的结果集。...Limit在导出正确地显示行信息,Limit具有一个isExported()方法。

    1.1K40

    POI导入导出【面试+工作】

    附POI导入导出工具类: 这几天在做酒店系统,里面有大量的报表需要导出(数据库导出为Excel),另外在做测试的时候又需要往数据库里面导入很多测试数据(Excel导入数据库),基于以上两点原因学习了...---- (1)使用须知 在编写工具类,考虑到要兼容以前的Excel版本,所以用的是HSSF,也就是默认支持的是Office2003,也就是说呢:你导出的Excel文件是2003版的.xls文件,不是现在的...-2003工作簿”在保存就没有问题了 由于时间缘故,导出工具类没有进行优化,也就是数据库导出成Excel,必须保证导出的列表没有null的字段,否则会空指针的 解决方案:使用时自己优化一下,进入到导出工具类...,在方法里面加上非空验证,把所有为null的字段都加上值”null” ---- (2)导出工具类 导出工具类(数据库导出为Excel): ?...---- (3)导入工具类 导入工具类(Excel导入到数据库): ? ? ? ? ? ? ? ? ---- (4)测试工具类 使用导出工具类,把数据库数据导出到E盘的book.xls文件中: ?

    1.6K40

    基于Metronic的Bootstrap开发框架经验总结(7)--数据的导入、导出及附件的查看处理

    我在较早时期的EasyUI的Web框架上,也介绍过通过Excel进行的数据导入导出操作,随笔文章为《基于MVC4+EasyUI的Web开发框架经验总结(10)--在Web界面上实现数据的导入和导出》,本文基于...1、数据的导入操作  一般系统模块里面,都有数据导入和导出操作,因此在界面自动生成的时候,我都倾向于给用户自动生成这些标准的查询、导入、导出等操作功能,界面效果如下所示。 ?...2、数据的导出操作  数据的导出操作相对比较简单,一般情况下,我们把数据写入一个固定的Excel表里面,然后提供URL给用户下载即可。...//xhr.responseText } }); } 其中的代码 $("#file").modal("show"); 是我们调用全局对话框...以上就是 数据的导入、导出及附件的查看处理的介绍内容,希望对大家学习有帮助。

    1.6K70

    好物周刊#40:多功能文件管理器

    WeChatMsg[6] 提取微信聊天记录,将其导出成 HTML、Word、CSV 文档永久保存,对聊天记录进行分析生成年度聊天报告。 三、网站 1....字幕设定选单中的选项会在 YouTube 语言为中文(繁体)进行更动,修改选项为「『修复』中文(繁体)」。若 YouTube 语言并非繁体,则不会添加「修复」标签,但修复字幕的功能仍然有效。 2....视频下载器 [11] 一款终极工具,可以 Twitter、Instagram、Facebook、TikTok、Vimeo、VK、DailyMotion、Reddit 等众多平台下载视频。...五、资料 1. 30s 学 JavaScript[13] 项目收集了实用的 JavaScript 代码片段,让你在 30 秒内就能掌握并运用。 2....hl=zh-CN [13] 30s 学 JavaScript: https://github.com/Chalarangelo/30-seconds-of-code [14] Rails Girls 教程

    14610

    Web Hacking 101 中文版 十六、模板注入

    换句话说,除了拥有接收 HTTP 请求的代码,数据库查询必需的数据并且之后将其在单个文件中将其展示给用户之外,模板引擎计算它的剩余代码中分离了数据的展示(此外,流行的框架和内容管理系统也会查询中分离...使用下面的 JavaScript,James能够绕过 Angular 沙箱并且执行任意 JavaScript 代码: https://developer.uber.com/docs/deep-linking...这个报告最开始由一个博文支持(它在更早的时候发布),并包含一些nVisium.com博客的不错的链接(是的,执行 Rails RCE 的同一个),它展示了如何绕过沙箱的功能: https://nvisium.com...收到调用之后,Rails 会在目录中扫描匹配 Rails 约定的文件类型(Rails 的理念是约定优于配置)。...重要结论 这个漏洞并不存在于每个 Rails 站点 - 它取决于站点如何编码。因此,这不是自动化工具能够解决的事情。

    3.7K10

    2011年12月19日 Go生态洞察:用Go构建StatHat的故事

    引言 StatHat是一个能够在代码中跟踪统计和事件的工具,适用于HTML设计师到后端工程师的每一个人。它支持HTML、JavaScript、Go以及其他十二种语言发送统计数据。...正文 架构概览 StatHat主要由两个服务组成:接收统计/事件API调用和用于查看和分析统计数据的Web应用程序。为了将数据收集与数据交互隔离开来,我们希望这两者尽可能独立。...选择Go 开发StatHat,我们希望工具能够满足以下条件: 后端和前端系统使用相同的编程语言 高效的HTML模板系统 快速启动、重新编译、测试 一台机器上的大量连接 处理应用级并发的语言工具 良好的性能...在Go中,RPC服务器只需取任何Go对象并注册其导出的方法。 库资源 虽然Go是一门年轻的语言,但它已经有了很多系统包和越来越多的用户贡献包。我们几乎为所有需要的东西找到了Go包。...我们测试了它与Rails、Sinatra、OpenResty和Node的对比。

    7010

    纳税服务系统二(用户模块)【POI、用户唯一性校验】

    这里写图片描述 对于将网页中的数据导入或导出到excel文件中,我们是完全没有学习过的。...这里写图片描述 ---- 实现导出功能 绑定按钮事件,请求Action处理导出,打开一个输入框给用户下载 function doExportExcel() { window.open...上面已经说了有两处需要校验用户唯一性的问题: 新增页面 修改页面 新增页面和修改页面是有不同的处理方案的,因为在修改页面,如果用户不修改账户,该用户的账户本来就存在了。...在修改页面是需要id传递过去的,而新增用户是不需要的。在查询数据库的时候,看看有没有id,如果有id就多一个条件即可!...catch (IOException e) { e.printStackTrace(); } } 前台提示 <script type="text/<em>javascript</em>

    2.6K110
    领券