javascript - 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});
});
解决方案
推荐阅读
- python - 通过多列熊猫解析
- react-native - 我可以在单个 this.state 中使用两个不同的变量吗?
- sql - SQL Oracle - 条件旁边列上的值的where子句
- video - ffmpeg avcodec_receive_packet 返回 -11
- mongodb - Meteor 预填充集合
- spring-mvc - Spring Boot 过滤器 URL 映射
- c# - WPF-DataGrid:如何在不丢失本地化日期格式的情况下建立按日期排序?
- javascript - 如何让 Google Tag Manager 中的双花括号更漂亮地识别为 JavaScript?
- java - Spring数据JPA保存更新父实体
- regex - 怎么说除了破折号(“-”)之外的任何字符