首页 > 解决方案 > read-excel-file 不考虑导入时的单元格数据类型

问题描述

我正在使用 read-excel-file 库从以下链接解析 exceldata 以进行进一步处理: https ://www.npmjs.com/package/read-excel-file

我不认为这个库在导入时考虑了原始 excel 的数据类型。

我已将 excel 表的数据类型设置为 Text 以确保所有内容都作为字符串导入,然后我从那里开始。

当某些单元格将数字保存为用逗号而不是点分隔的字符串时会出现问题(德国系统)。即使该单元格的值类似于 (22,8),该库仍将其解析为 (22.8),数据类型为 double。但是,当我添加任何其他非数字字符时,它会正确地将其作为字符串导入。

例如:

| Excel      |read-excel-file|
------------ |--------------
|22,8  (text)|22.8 (double)|
|A22,8 (text)|A22,8 (string)|
|22,,8 (text)|22,,8 (string)|

我不知道这里发生了什么,但我不确定这是否是数字系统问题,因为在第三个示例中,当添加第二个逗号时,它被导入为保留逗号的字符串。

我正在为 safari 5 编码。计算机和 excel 系统是德国的。任何帮助深表感谢!

这是我正在使用的 Javascript 片段:

var input = document.getElementById('excelInput');
input.addEventListener('change',function(){
readXlsxFile(input.files[0]).then(function(data) {
// saving the names of the attributes from excel in a variable
// null values are deleted
excelData = data;
var excelAttributes_unfiltered = excelData[0]; 
excelAttributes_options = excelAttributes_unfiltered.filter(function(el){ return el != null}); 
});

标签: javascripthtmlexcel

解决方案


推荐阅读