Node.js CSV导入功能,上传并读取

来源:互联网 发布:crf算法理解 编辑:程序博客网 时间:2024/06/05 12:07

CSV是一种通用的、相对简单的文件格式,被用户、商业和科学广泛应用。
作者认为使用CSV作为数据导入的媒介是非常合适的。
读取CSV文件的内容就显得非常重要,然而相关的好文章真是非常稀少。
http://blog.csdn.net/zdb330906531/article/details/51627526
本文为原创文章,欢迎转载,注明出处。

extjs界面设计如下:
这里写图片描述
上传按钮外需要有form标签,submit的时候,添加属性

enctype:'multipart/form-data'

调整按钮样式:
这里写图片描述

xtype: 'filefield',buttonOnly: true,hideLabel: true,buttonText: '导入CSV',buttonConfig: {    iconCls: 'icon-import',    cls: 'x-btn-default-toolbar-small x-btn-default-toolbar-small-icon-text-left'},

准备就绪后,在服务器读取CSV文件。

npm install node-csv --save

https://github.com/voodootikigod/node-csv

var filepath = "csv路径";var csv = require('node-csv').createParser();csv.parseFile(filepath, function(err, data) {    if(err){ return next(err); }    //删除临时文件    require('fs').unlink(filepath, function(err){        if(err){ return next(err); }    });    //输出data    return res.send({ success:true, data:data });});

后记:有时候运气也很重要,刚开始走了弯路,误入歧途,根据这篇文章
Nodejs:csv模块解析
http://blog.163.com/cjingzm@126/blog/static/118651119201361010715938/
http://csv.adaltas.com/
得到的数据不是我想要的数据,看文档也没有弄清楚什么意思,还耽搁了半天时间。偶然在底部发现这个
这里写图片描述
瞬间犹如醍醐灌顶,使用node-csv,获取的数据也正是我要的数据,中文发现有乱码现象,使用notepad++转换csv的格式为UTF-8 无 BOM格式编码即可
这里写图片描述

如果导入数据较大,本人不建议用上传文件的方式读取数据,你为什么不尝试一下直接传输字符串到服务器进行解析呢,批量插入5千条数据是妥妥的,效率相比上传会更快

2016年6月10日 重庆-传说

1 0
原创粉丝点击