本帖最后由 前端小菜鸟 于 2022-2-23 10:42 编辑
我有一个excel数据导入导出功能。操作步骤如下:
首先数据导出,导出后修改数据。
此时,如果我在 数据后几列,增加公式进行前几列的数值计算,得出结果后将数据复制粘贴到前几列(以数值型进行复制),再将后几列数据删除(其实我就是利用表格公式进行简单计算后覆盖部分数据)。然后不再做任何操作,再上传excel。数据导入成功后部分之前被复制粘贴的数据会莫名多出几位小数,例如:2.662会变为2.662000000000001。
我的导入代码如下:
import(e, spread, templateName = '1', colIndex = 0, message = undefined) {
this.msg.warning('正在导入数据...');
let file = e.target.files[0];
var excelIo = new Excel.IO();
excelIo.open(file, function (json) {
//此时查看json数据内容时已经出现多个0的问题
setTimeout(() => {
var data = json.sheets[templateName].data.dataTable;
var sheet = spread.getSheetFromName(templateName);
//部分操作
if (message != undefined) {
message.success('导入完成');
}
}, 500);
}, function (e) {
alert(e.errorMessage);
}, {});
this.isImport = true;
return this.isImport;
}
(我还发现,当我操作excel表格时,如果复制完成的数据我再双击部分复制数据,也不进行具体修改,再关闭excel时,excel会提示我是否保存修改信息,此时的excel是否在我
对数据进行单元格双击时,改变了某些东西???如果我进行了这样的操作,导入数据时就不会发生问题了)
原excel
|