Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var xlsx = require('node-xlsx');
- var fs = require('fs');
- var optimist = require('optimist').argv;
- var src = optimist.src;
- var target = optimist.target;
- var json = fs.readFileSync(src).toString();
- String.prototype.decodeHTML = function() {
- var map = {
- "gt": ">",
- "nbsp": " ",
- "amp": "&"
- /* , … */
- };
- return this.replace(/&(#(?:x[0-9a-f]+|\d+)|[a-z]+);?/gi, function($0, $1) {
- if ($1[0] === "#") {
- return String.fromCharCode($1[1].toLowerCase() === "x" ? parseInt($1.substr(2), 16) : parseInt($1.substr(1), 10));
- } else {
- return map.hasOwnProperty($1) ? map[$1] : $0;
- }
- });
- };
- var _GroupMember_Callback = function(data) {
- data = data.data.item;
- var ret = [];
- data.forEach(function(item, index) {
- var nick = item.nick.decodeHTML();
- nick = nick.replace(/[^a-zA-Z0-9_\-\u4e00-\u9fa5]/g,'');
- ret.push([nick, item.uin + '@qq.com']);
- });
- var worksheets = [];
- worksheets.push({
- "name": "sheets",
- "data": ret
- });
- var buffer = xlsx.build({
- worksheets: worksheets
- }); // returns a buffer
- fs.open(target, 'w', function(err, fd) {
- if (err) throw err;
- else {
- fs.write(fd, buffer, 0, buffer.length, null, function() {
- if (err) throw err;
- else {
- fs.close(fd, function() {
- console.log(target+ ' written');
- });
- }
- });
- }
- });
- };
- eval(json);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement