问题标签 [js-xlsx]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2749 浏览

javascript - 用js-xlsx导出.xlsx文件时如何根据内容设置整列的宽度?

使用 js-xlsx 导出 .xlsx 文件时,我想将列宽设置为该列内容的最大长度

使用 js-xlsx 导出 .xlsx 文件时如何设置单元格宽度

我试过上面的。

我可以通过从屏幕上呈现的表格中获取列的名称来设置宽度。但是我遇到的问题是,假设列名的名称是“Title”,并且它的行有一些像“Australia”这样的值,那么列名的长度会更小,并且整个列的宽度没有正确设置。

实际的 在此处输入图像描述

预期的 在此处输入图像描述

0 投票
0 回答
3192 浏览

javascript - 将工作表添加到本地工作簿 (js-xlsx)

(我将此页面https://github.com/SheetJS/js-xlsx用于我的 chrome 扩展。)

我在将工作表添加到本地工作簿时遇到问题。

我想用页面中的数据创建一个工作表,解析数据并将其保存到工作表中。此工作表应存储在已具有工作表的本地工作簿中。

目前我每次都在创建一个新的工作簿,并且只保存在工作表上。这是一个示例工作代码部分,用于创建工作表、将其添加到工作簿并下载工作簿。

如果有人知道如何将创建的工作表添加到现有的本地 xlsx 文件中,我会很高兴。

0 投票
1 回答
4225 浏览

javascript - 使用节点js从excel中读取命名单元格/范围

我正在解析 Excel 文件并尝试从中获取信息。所有文件都具有相同的命名范围。我的程序的目的是解析所有文件以聚合数据。我已经尝试过 xlsx 包。使用该包,我可以从 excel 文件中获取数据,我可以获取定义的名称,但是,我不明白如何使用定义的名称来获取它们的值。也许另一个包会更有帮助?

下面是代码:

我希望单元格的值在摘要范围内!$ 11:$ 11

非常感谢你的帮助!

[编辑] 我错误地删除了我的评论,但它是:@Cat the XLSX.utils.sheet_to_row_object_array(workbook.Sheets[sheetName]) 不幸的是丢失了定义的名称。

@AM 我尝试过使用 convert-excel_to_json ,但我在这里丢失了定义的命名单元。

0 投票
1 回答
84 浏览

node.js - js xlsx readFile 无缘无故地偏移列

读取 excel 文件时我有一个奇怪的行为。当我打开文件并使用我的 Excel 版本保存时,使用 xlsx 正确读取文件。但是,当我不触摸它并用 xlsx 读取它时,一些公式会被抵消。这是一个示例:我阅读了我的 excel 文件并专注于单元格 O124。在打开它并保存它之前(不做任何修改),这是我在单元格 O124 中得到的:

当然,这里有一个循环引用(在 O124 上)。P144 和 P146 也被移位。但是,当我打开它并使用 Excel 保存时(我使用的是 Excel 2019),我可以看到公式是 N124 而不是 O124(所以没有循环引用)。这是他的结果:

我有正确的 N124、O144 和 O146。

我真的不明白为什么当我不先“重新保存”我的文件时会发生变化。你有什么想法吗?

[编辑] 我将 xlsx 包与节点 js 一起使用,然后我使用 xlsx-calc 包在工作表上进行计算。这是我首先得到循环引用错误的地方。

非常感谢你的帮助!

0 投票
1 回答
2520 浏览

javascript - 使用文件保护程序 npm 包下载时 xlsx 文件损坏

我在下载xlsx文件时遇到问题。我的 excel 文件是用js-xlsx生成的。我必须添加一些授权标头来验证服务器上的传入请求。出于这个原因,我不能简单地从我的客户端在新窗口中打开链接。出于测试目的,我尝试通过直接点击我的 API 端点的浏览器链接来下载文件(当然通过暂时删除授权中间件)。浏览器下载文件没有任何问题或损坏。不幸的是,通过axios get 请求使用filesaver.js时,客户端下载功能并非如此。

我发送响应的后端代码片段是:

我的客户端代码部分是:

我仍然只得到损坏的文件。我在服务器端和客户端都尝试了多个选项,但是,下载的文件总是损坏。Buffer.from在得到我的workbookOutput仍然没有改变之后,我尝试不做另一个。有人可以在这方面帮助我吗?我错过了什么吗?

如果我尝试打开它,这是我得到的损坏下载的图片。

在此处输入图像描述

0 投票
1 回答
2694 浏览

javascript - js-xlsx:如何删除合并单元格的行?

我试图从 xlsx 文件中获取 json 数据,但偶然发现了奇怪的“js-xlsx”行为。如果我有一个标题中包含合并单元格的表格,那么我只会从表格的输出中获得第一行数据。如果我手动删除这一行(在 EXCEL 中) - 那么我会得到所有数据。如果我手动取消合并此单元格 - 再次:json 中的所有数据。

所以问题出在合并的单元格上,任务是跳过它\避免在导出\删除它\做其他任何事情......

我试图通过“js-xlsx”删除这一行,从 SO 接受的答案中得到了一些代码,但它没有帮助,而且处理合并的单元格似乎有点奇怪:

尝试过worksheet[!'merged']=''- 它清除了单元格,但合并状态仍然存在。

试过了

不好。相同的输出。

尝试过worksheet['A1']=worksheet['A2']复制内容,但合并仍然存在。

关于上面说的:

  1. 如何删除此任务中的第一行(不清除单元格内容但删除)?
  2. 如何取消合并合并的单元格?
  3. 如何删除合并的单元格(不是清除单元格,而是删除它)。

对所有人表示感谢:)

0 投票
2 回答
16093 浏览

javascript - 使用 Angular 12 使用 js-xlsx 读取本地 Excel 文件?

我的 Angular-CLI 前端开发服务器在本地运行localhost:4200

出于特定原因,我需要获取存储在我的 PC 上的本地 Excel 文件,读取其内容并对 API 进行一些调用。它必须来自客户端。

我正在尝试使用 js-xlsx,安装了它,npm install xlsx但我找不到如何获取文件并读取其内容。

如何在 Angular 12 中使用 js-xlsx 导入本地 excel 文件?

注意:如果使用纯 JavaScript 可能/更容易,它对我也有效。

0 投票
2 回答
358 浏览

javascript - 线程模块给出通道关闭错误

我正在使用 npm xlsx (lib/parserScripts/readExcel.js) 和线程模块来读取一个大的 excel 文件。

这第一次可以正常工作,但是如果我同时上传另一个大文件,则会出现错误

这可能是由于先前的线程仍在处理/尚未被杀死,因此当为另一个请求创建新池时,先前的线程仍在忙于处理。

如何解决这个问题?我是否必须手动终止以下代码中的线程?如果是,那怎么办?

index.js

lib/miniworker.js

lib/parserScripts/readExcel.js

在此处输入图像描述

0 投票
1 回答
1634 浏览

javascript - 如何使用 js-xlsx 编写带有图表的 excel 文件

使用SheetJS js-xlsx "xlsx": "0.15.1"js 有没有办法用图表编写 excel 文件。

基本上我想将包含图表的 html 页面导出到 excel 文件中。

HTML 页面已成功导出,但页面中的图表未显示。

这是我使用的代码

0 投票
0 回答
455 浏览

typescript - 如何使用 SheetJs 从具有适当行跨度的 json 数据中导出 excel?

我正在使用SheetJS js-xlsx反应库将数据导出到 excel 文件。

我正在尝试导出一个 excel 文件,其中将在必要时为数据提供动态行跨度。一个简单的方法是使用table_to_book()生成 excel 文件的方法,就像它在 HTML 表中一样。

这确实符合我的目的,但是,我想知道是否有任何方法可以为这种数据结构从 JSON 导出 excel 文件:

以下行为纯 JSON 数据导出 excel,其中没有子数组值。

从直接 HTML 表中导出 excel 允许我仅导出当前页面数据(因为有分页),我想导出整个数据集,这就是为什么要寻找一种从 JSON 格式导出 excel 的方法。