webpack+iview 在数据导出csv格式数据时变为科学计数问题

iview 和webpack组合开发一段时间后,在Table中遇到一些小坑

1.导出的数据出现科学计数法问题

导出的数据出现科学计数法问题,像电话号码,身份证号码,当数据大于15位后面的会用0替代。针对这一问题,解决方法如下:

就是再数字前加上制表符“\t”注意双引号,拼接字符串来实现

例如

                   var vm = this;
                    common.Ajax({
                        url: "/api/appAdmin/channelstatis/queryexcel",
                        data: {
                            marketChannel: vm.channelNum,
                            phone: vm.userPhone
                        },
                        success: function(data) {
                            vm.exportitem=[];
                            vm.exportitem = vm.exportitem.concat(data.list);
                            for(var i = 0; i < vm.exportitem.length; i++) {
                                //身份证号码
                                if(vm.exportitem[i].idNo) {
                                    vm.exportitem[i].idNo="\t"+vm.exportitem[i].idNo;
                                }
                                //时间
                                if(vm.exportitem[i].registTime) {
                                    vm.exportitem[i].registTime="\t"+vm.exportitem[i].registTime;
                                }
                                
                            }
                            vm.$refs.table.exportCsv({
                                filename: '渠道转化率数据',
                                columns:vm.columns4,
                                data: vm.exportitem
                            });
                        }
                    });

在导出数据时,进行拼接一下。就不会传化为科学计数了。

2.导出数据乱码问题。

在导出数据,在台式电脑自带Microsoft excel2007 打开时,发现汉字出现乱码。其他型号正常,原因是因为导出数据为UTF-8格式,而2007默认打开格式为ANSI。在进行打开前,进行一下转换就行。

你可能感兴趣的:(webpack+iview 在数据导出csv格式数据时变为科学计数问题)