使用 JavaScript 构建 XLSX 文件

2024-02-20

我正在尝试使用 JavaScript 和一些数据库查询结果构建 XLSX 文件。我必须使用 JavaScript,因为服务器后端仅提供 JavaScript 接口来使用(并且它不喜欢 jQuery)。现在,我似乎已经发现了一些东西来实际创建要写入文件的 Base64 编码数据(服务器接口提供了一个 API,用于使用 Base64 编码字符串创建文件并定义文件类型)。 XLSX.js 看起来很适合这个目的,因为它看起来可以读取某种形式的 JS 对象并将其转换为 Base64 字符串。然而,我不太清楚如何首先生成工作表 XML 数据,或者我想如何构造一个代表性的 JS 对象。我能找到的唯一有用的信息似乎并不能真正让我知道如何构建它,即使我什至可以找到有关结构化的信息。我发现的大多数内容都是关于读取文件,而不是创建它们。另外,我以为我找到了一些简单的实现方法,但后来它们变成了一堆混乱的库,我在试图理解哪些文件实际上是必要的以及如何正确地将它们包含在工作中时迷失了方向。


您可以使用以下命令将数据从 js 导出为 XLS、XLSX 和 CSV 格式Alasql https://github.com/agershun/alasql图书馆。

例如,我们想通过单击按钮将保存在测试变量中的数据写入 XLSX 文件中。为此,只需使用以下步骤:

1- 在您的页面中包含以下文件:

 <script src="http://alasql.org/console/alasql.min.js"></script> 
 <script src="http://alasql.org/console/xlsx.core.min.js"></script> 

2-那么然后在控制器中创建一个函数将测试数组保存为 xlsx 文件:

function saveAsXlsx(){
   alasql('SELECT * INTO XLSX("output.xlsx",{headers:true}) FROM ?',[test]);
}

因此,我们将变量 test 中的数据保存到一个文件中,在此将其命名为 output.xlsx。

3-最后一部分是最简单的部分。单击按钮运行该函数:

 <button onclick="saveAsXlsx()" >Save as XLSX</button>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 JavaScript 构建 XLSX 文件 的相关文章

  • 在 Javascript 中,有什么方法可以知道从哪个主机脚本加载?

    在javascript中 作为从某个主机加载的脚本 有什么方法可以知道我是从哪个服务器 主机加载的 我需要向该主机发出额外的 ajax 请求 并且更愿意动态地找出主机 因此 如果您在页面上包含 javascript 文件 当该 javasc
  • 将 javascript 合并到一个文件中

    最近阅读了雅虎的网络优化技巧并使用 YSlow 我在我的一个网站上实现了他们的一些想法http www gwynfryncottages com http www gwynfryncottages com你可以在这里看到该文件http ww
  • javascript中文本区域限制每行的字符数

    我试图用 javascript 限制文本区域中每行的字符数 我在这里看到了一些例子 但并不完全符合我的要求 我写了一些东西 只有当你每次添加超过限制时才可以 换句话说 我每行有 10 个字符的限制 如果你总是输入至少 10 个字符就可以正常
  • 通过 AJAX 发送 XML

    我在 jQuery 中创建了一个 xml 文档 如下所示 var xmlDocument
  • 标点符号加载“动画”,javascript?

    我正在寻找一种好方法来显示一些标点符号加载 动画 我想要的是这样的 This will display at second 1 Waiting for your input This will display at second 2 Wai
  • Google 文档 - 以编程方式将鼠标点击发送到大纲窗格中的项目

    在 Google 文档中 您可以打开大纲窗格并查看文档中的所有标题 您也可以单击标题 视图将滚动到标题 我的问题是如何使用 Chrome 扩展中的 JS 以编程方式模拟鼠标单击 以将视图滚动到所需的标题 我尝试了以下代码 但没有任何反应 u
  • 使用什么事件来在选择文本框中的值时显示警报消息

    我正在使用 jquery 的自动完成 api 来从数据库中获取名称 但是我想在从显示的文本框中选择名称时显示一条警报消息 我将显示一个图像以便更好地理解 当我输入 S 时 它将显示所有包含 S 的记录 所以问题是 如果我选择例如 Spars
  • VBA 写入文件时对数值进行四舍五入 - 如何防止?

    在下面的代码中 我在确保文件编写器不会将我的数字四舍五入到一定的小数位数时遇到问题 我需要使用变体 因为有时该值是字符串 有时它是数字 我怎样才能强制它准确地写出变量是什么 例如 下面的代码可能显示 0 00038 我想显示确切的值 Dim
  • 如何按单个整数字段对 JSON 进行排序? [复制]

    这个问题在这里已经有答案了 我有以下 JSON title title order 0 order 9 order 2 JSON 包含很多字段 我如何根据字段对它们进行排序order field 我一直在寻找 Nodejs 中内置的东西 但
  • JQuery 可排序嵌套可排序 div

    这个问题与这个有关Nest jQuery UI 可排序 https stackoverflow com questions 19129476 nest jquery ui sortables 但我无法解决我的问题 问题是 我有一个包含项目的
  • json、rails、javascript 中的解析错误

    我需要将 ruby 数组放入 javascript 数组中 但出现解析错误 var characters 这就是我将 ruby 嵌入到内联 javascript 中的方式 但它出现了解析错误 我应该如何将此 ruby 数组放入 javasc
  • 动态地将 .on() 方法与事件映射绑定

    我使用此语法来确保事件绑定动态添加li元素 ul list on click li function do something 我尝试使用这样的事件映射来存档相同的内容 ul list hammer css hacks false on s
  • 我将 X Y Z 坐标转换为屏幕 X Y 坐标有什么问题吗?

    我正在制作 3D 空间中弹跳的球体的 HTML5 Canvas 演示 这非常简单 每个球都有 X Y 和 Z 坐标 然后 这些坐标将转换为我在此处阅读的屏幕 X 和 Y 坐标 http answers google com answers
  • backbone.js:视图中影响集合中不同模型的按钮

    我刚刚开始使用backbone js 到目前为止 我真的很喜欢它 我有这样的事情 ModelA ModelB ViewA ViewB ModelA 持有 ModelB 的集合 如何使用按钮构建模型 B 的视图 单击该按钮会更改集合中下一个
  • Skrollr 添加空白

    我已经尝试了一切 我在谷歌上阅读了 4 5 页试图找到适合我的修复程序 已经筋疲力尽了 即使我使用 skrollr 示例 我的问题仍然存在 不是说他们做错了什么 我知道我只是没有正确理解它 因此 我上传了一个演示 仅在移动设备上展示这个尴尬
  • 在 ASP.Net Core 2.0 中导出到 Excel

    我曾经使用下面的代码在 ASP NET MVC 中将数据导出到 Excel Response AppendHeader content disposition attachment filename ExportedHtml xls Res
  • 通过ajax执行后期操作时如何克服CORS重定向问题?

    我可以通过外部登录表单中的 post 方法类型提交表单来登录 roundcube 实例 托管在另一台服务器上 我收到此错误 通过 ajax 签名时 XMLHttpRequest 无法加载https 192 168 0 7 mail http
  • 在 Javascript 中创建数组

    我对 javascript 不太熟悉 并且在用 javascript 制作 2d 或者也许我可能需要 3d 数组时遇到了一些麻烦 我目前需要收集 2 条信息 一个 ID 和一个值 因此我创建了以下内容 var myArray var id
  • 将日期参数传递给对 MVC 操作的 ajax 调用的安全方法

    我有一个 MVC 操作 它的参数之一是DateTime如果我通过 17 07 2012 它会抛出一个异常 指出参数为空但不能有空值 但如果我通过01 07 2012它被解析为Jan 07 2012 我将日期传递给 ajax 调用DD MM
  • 如何在 ionic2 中 pop() 之后重新加载 ion-page

    我有2页Page1 and Page2 我用过this nav pop 在Page2中 它将弹出Page2 Page1将启用 但我想刷新Page1 先感谢您 您可以将父页面与导航推送一起传递 这样您就可以将父页面作为 navParamter

随机推荐

  • INotifyPropertyChanged:通知另一个类

    我有一堂课 我们称之为MyContainerClass 这是其他几个类的容器 我们称它们为ClassA to ClassF ClassA to ClassF继承相同的基类 我们称之为MyBaseClass In MyBaseClass我有一
  • React-router (v4) 如何返回?

    试图弄清楚如何返回上一页 我在用 react router v4 1 这是我在第一个登陆页面中配置的代码
  • 使用 HTTP Live Streaming 替代音轨

    当 HLS 流准备好播放时 我正在生成可用音轨的列表 我可以很好地访问可用的音轨 但我很难为每个轨道提取正确的 标题 我在用着苹果的测试流 https devimages apple com edgekey net streaming ex
  • 在 PageViewController 中导航不起作用

    我有 3 种类型的 VC 第一种 VC 第二种 VC 是PageViewController有 3 页 我添加了PageController正常ViewController在这里 第三个是FinalViewController 第一个 VC
  • 多个动态输入文本javascript

    我在使用 javascript 创建多个输入文本时遇到问题 我的观点是每次之前的输入完成后都会创建一个新的输入文本 家长 我有一些组合框的代码 但这次我只需要输入文本框 我怎样才能做到这一点 我找到了这段代码
  • WSAEWOULDBLOCK 处理

    我已经在使用winsock 的C CLI 中为服务器编写了一个套接字 套接字使用异步方法来发送 接收和接受连接 在生产环境中实现套接字后 发送函数停止工作 并给出错误 WSAEWOULDBLOCK 根据我在网上的研究 这意味着套接字 IO
  • NavigationLink 在 ScrollView 中显示错误

    我在Swift编程的时候也遇到过这个问题 我创建了这个长框架 就在这里 该框架的主要思想将用于不同视图中的水平滚动视图 如下所示 它将打开不同的视图 这就是问题所在 如果我们想转换到不同的视图 我们需要NavigationLink 为了工作
  • linux c语言中如何将绝对路径转换为相对路径

    我想知道如何在linux Ubuntu 操作系统上的c语言中根据给定目录 包括链接文件 将符号链接的绝对路径转换为相对路径 我想搜索相对路径的子字符串 但如果它已经存在于文件夹层次结构的更高位置怎么办 这是我想要做的更具体的描述 相对路径
  • Java 中的“代码太大”编译错误

    Java 代码有最大长度限制吗 我写了一个超过10000行的函数 实际上 每一行都为一个数组变量分配一个值 arts bag 10792 newyorkartworld arts bag 10793 leningradschool arts
  • 如何将 Javascript 文件导入 Typescript

    我想知道如何从 Typescript 启动 Twitter Bootstrap carousel carousel 我必须实施jquery d ts修复 sign 调用 但我仍然收到错误 carousel 在 jquery d ts 中找不
  • 为什么“async/await”在我的情况下不起作用?

    我读到async await 但我有一个关键问题 首先 我解释一个旧的例子来展示我的问题的基础 然后我问我的确切问题 大家都知道 console log 1 console log 2 console log 3 Ex 123 这很简单 但
  • 在IIS7上启用跨域资源共享

    我最近遇到向另一个域发布 Javascript 请求的情况 默认情况下 不允许 XHR 发布到其他域 按照以下指示http enable cors org http enable cors org 我在其他域上启用了此功能
  • 如何在 VS Code 中调试时关闭警告?

    我正在使用 XDebug 在 VS Code 中调试 PHP 应用程序PHP Debug扩展名 并收到如下错误 我知道问题是什么以及如何解决它 但解决方案是如此巨大 以至于修复此类错误是我目前无法做到的 我想开始使用 VS Code 进行
  • AutoTokenizer.from_pretrained 无法加载本地保存的预训练分词器 (PyTorch)

    我是 PyTorch 的新手 最近我一直在尝试使用 Transformers 我正在使用 HuggingFace 提供的预训练分词器 我成功下载并运行它们 但如果我尝试保存它们并再次加载 则会发生一些错误 如果我使用AutoTokenize
  • Heroku/Django 部署:为什么我在成功部署和静态收集时收到错误 500?

    几个月来 我一直在努力在 Heroku 上部署我的第一个 Django 站点 我正在成功构建git push heroku master并使用成功收集静态文件heroku run python manage py collectstatic
  • 如何使 gremlin_python DriverRemoteConnection 对每次提交都有超时和重试限制?

    免责声明 我们目前正在使用gremlinpython 3 4 8我相信最近的版本中已经解决了其中一些问题 但我不确定 一般来说 这似乎是一个非常活跃的存储库 在过去两个最新版本日志 当前为 3 4 10 中进行了一些相关更改 很高兴根据需要
  • 使用 VB 6.0 解析远程 URL 处的 xml 文档

    我正在尝试使用 Visual Basic 6 0 解析驻留在远程服务器上的 xml 文件的内容MSXML2 DOMDocument class 我正在使用Load的方法MSXML2 DOMDocument类来传递 url url 的形式为h
  • 在 gdb 中查看 ASCII 寄存器内容

    假设 我现在处于这个位置 我想以ascii格式查看cl ch cx ecx等的内容 该怎么办 下面是子程序中显示的内容layout asm命令 RemCharCodeFromAToB standard entry sequence push
  • 可以对图像图标进行分层吗?

    我想知道是否可以在 Java 中对图像图标进行分层 我将使用 GIF 图像 并且将有一个图像图标网格代表我的 JPane 的 背景 当特定条件成立时 我需要能够在其他图像之上添加具有透明度的图像 问候 杰克 亨特 是的 这是可能的 有两种正
  • 使用 JavaScript 构建 XLSX 文件

    我正在尝试使用 JavaScript 和一些数据库查询结果构建 XLSX 文件 我必须使用 JavaScript 因为服务器后端仅提供 JavaScript 接口来使用 并且它不喜欢 jQuery 现在 我似乎已经发现了一些东西来实际创建要