Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript解析Excel工作表_Javascript_Excel_Parsing - Fatal编程技术网

使用javascript解析Excel工作表

使用javascript解析Excel工作表,javascript,excel,parsing,Javascript,Excel,Parsing,我使用SheetJS解析Excel工作表,但遇到以下错误: “未捕获类型错误:jszip不是函数” 执行以下代码时: var url = "/test-files/test.xlsx"; var oReq = new XMLHttpRequest(); oReq.open("GET", url, true); oReq.responseType = "arraybuffer"; oReq.onload = function(e) { var arraybuffer = oReq.respo

我使用SheetJS解析Excel工作表,但遇到以下错误:

“未捕获类型错误:jszip不是函数”

执行以下代码时:

var url = "/test-files/test.xlsx";
var oReq = new XMLHttpRequest();
oReq.open("GET", url, true);
oReq.responseType = "arraybuffer";

oReq.onload = function(e) {
  var arraybuffer = oReq.response;

  var data = new Uint8Array(arraybuffer);
  var arr = new Array();
  for(var i = 0; i != data.length; i++) arr[i] = String.fromCharCode(data[i]);
  var bstr = arr.join("");

  var workbook = XLSX.read(bstr, {type: "binary"});
}

oReq.send();
原始代码位于此处: 对于更简单地解析Excel文件有什么建议吗?

以答案的形式发布(在注释中提供的解决方案有效),以防这可能在将来帮助其他人:

看起来您使用的是xlsx.js版本,它依赖于其他源文件,如


要解决此问题,请使用位于

中的dist版本的xlsx.js。对于在JavaScript中使用Excel文件时遇到问题的人,这里有另一个解决方案。您可以在Funfun Excel加载项的帮助下直接在Excel中使用JavaScript,而不是使用JavaScript读取Excel文件。基本上,Funfun是一个允许您在Excel中使用JavaScript的工具,因此您不需要编写额外的代码来解析Excel文件

基本上,你需要做的是

1)。从Office加载项商店插入Funfun加载项

2)。创建新的Funfun或从Funfun在线编辑器加载示例

3)。像在任何其他JavaScript编辑器中一样编写JavaScrip代码。在这一步中,为了直接使用电子表格中的数据,您需要编写一些JSON I/O来进行Excel单元格引用。该值的位置设置为短,但这仅是几行。例如,假设电子表格中有如下数据

在本例中,JSON I/O值为:

{
    "data": "=A1:E9"
}
然后在script.js文件中,您只需要使用一行代码来读取这些数据

var dataset = $internal.data;
数据集将是一个数组,每个项目将是电子表格中的一行。您可以查看Funfun以了解更多解释

4)。运行代码以绘制图表

下面是我在Funfun在线编辑器上使用JavaScript(HighChart.js)和Excel数据制作的示例图表。你可以在下面的链接上查看。您还可以按照步骤2所述轻松地将其加载到Excel中


披露:我是Funfun的开发人员。

看起来您缺少了对项目的jszip依赖性。您使用的是js xlsx的dist版本吗?对不起,“dist”是什么意思?xlsx.js的发行版。您是如何将脚本包括在项目中的?根据他们的说法,js xlsx没有依赖项,您应该使用的文件位于dist/xlsx.js.O我的上帝!有两个小时绕圈子跑。谢谢@yvesmancera。为了我的理智,你介意解释一下你得出这个结论背后的逻辑吗。我对这种类型的编程非常陌生,我想学习寻找这些类型错误根源的思维方式。当然,首先我看了GitHub项目并阅读了这一部分,然后我看到了项目的源文件,更具体地说,是它们的bower.json文件,它指示了主文件和它的依赖关系,因为我看到它没有依赖项,所以我假设您一定包含了src中的xlsx.js文件,而不是dist中的文件。