【发布时间】:2018-02-07 08:39:02
【问题描述】:
我正在上传一个 Excel 文件并插入到一个 mysql 表中。我的代码正在使用 Linux。但我希望它也应该与其他人一起运行,所以我预测 Xls 不起作用。
如何转换成 CSV 或任何其他方式,以便我们可以上传支持任何版本的 Excel 或 csv?
function getfileDetails(req, res) {
var sampleFile, fileInfo = {};
var date1=new Date();
var currdatetime = date1.getFullYear()+"-"+(date1.getMonth()+1)+"-"+date1.getDate()+" "+date1.getHours()+":"+date1.getMinutes()+":"+date1.getSeconds();
console.log(currdatetime);
var MyData = [];
if (!req.files) {
res.send('No files were uploaded.');
return;
}
sampleFile = req.files.fileInputXLSX1;
var datetimestamp = Date.now();
console.log("Uploaded -- ",sampleFile);
var fileExtn = sampleFile.name.split(".").pop();
var extractedFilename = sampleFile.name.slice(0, sampleFile.name.lastIndexOf('.'));
var userid=req.headers['userid'];
var uploadFileName = extractedFilename+'_'+userid+'_'+datetimestamp+'.'+fileExtn;
console.log("uploadFileName -- ",uploadFileName);
fileInfo = {
"name": uploadFileName,
"mimetype": sampleFile.mimetype
}
// Use the mv() method to place the file somewhere on your server
sampleFile.mv(__dirname+'/Details/'+uploadFileName, function(err) {
if (err) {
res.status(500).send(err);
}
var parseXlsx = require('excel');
parseXlsx(__dirname+'/Details/'+uploadFileName, function(err, data) {
if(err) throw err;
// data is an array of arrays
else{
if(data!=null)
{
var queryString= "Truncate table `details`;"
connection.query(queryString, function(err,result){
if(err) {
res.write(JSON.stringify(err));
res.end();
} else {
res.send('File uploaded!');
}
});
}
for (var index = 1; index < data.length; index++)
{
MyData.push(data[index][0],data[index][1],data[index][2],data[index][3], data[index][4], data[index][5],data[index][6],data[index][7],data[index][8],data[index][9]);
var queryString="INSERT INTO `details`(name,tname,fname,timestamp) VALUES ('"+data[index][0]+"','"+data[index][1]+"','"+data[index][2]+"','"+currdatetime+"')";
connection.query(queryString, function(err,result){
if(err) {
res.write(JSON.stringify(err));
res.end();
} else {
res.send('File uploaded!');
}
});
}
}
});
if(err) {
res.status(500);
res.send(err);
}
});
}
请帮忙,我是 Node 新手。
【问题讨论】:
标签: mysql node.js excel csv xls