obcon-scada / app /include /csv.js
chanmin0723's picture
Initial obcon SCADA deploy
e4bf523
Raw
History Blame Contribute Delete
1.82 kB
'use strict'
/**
* Copyright (c) 2018~2019, OBCon Inc.
* All rights reserved.
*/
/**
* @file
* @copyright OBCon Inc. Korea 2018~2019
* @author gye hyun james kim [pnuskgh@gmail.com]
*/
let iconv = require('iconv-lite');
class Csv {
constructor() {
this._characterset = 'utf-8'; //--- utf-8, euc-kr
this._filename = null; //--- ~.csv
}
get characterset() {
return this._characterset;
}
set characterset(newValue) {
this._characterset = newValue;
}
get filename() {
return this._filename;
}
set filename(newValue) {
this._filename = newValue;
}
header(res) {
if (this._characterset == 'euc-kr') {
res.setHeader('Content-Type', 'text/csv;characterset=' + this._characterset + '"');
res.setHeader('content-disposition', 'attachment; filename=' + this._filename);
} else {
res.setHeader('Content-Type', 'text/csv;characterset=utf-8"');
res.setHeader('content-disposition', 'attachment; filename=' + this._filename);
}
}
title(res, header) {
let msg = ((typeof(header) == 'string') ? header:header.join(',')) + '\n';
if (this._characterset == 'euc-kr') {
res.write(iconv.encode(msg, 'EUC-KR'));
} else {
res.write(msg);
}
}
item(res, item) {
let msg = ((typeof(item) == 'string') ? item:item.join(',')) + '\n';
if (this._characterset == 'euc-kr') {
res.write(iconv.encode(msg, 'EUC-KR'));
} else {
res.write(msg);
}
}
end(res) {
res.end();
}
}
module.exports = Csv;