deno.land / x / sheetjs@v0.18.3 / demos / server / express.js

نووسراو ببینە
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
/* xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */
var fs = require('fs'), path = require('path'), URL = require('url');var express = require('express'), app = express();var sprintf = require('printj').sprintf;var logit = require('./_logit');var cors = require('./_cors');var data = "a,b,c\n1,2,3".split("\n").map(function(x) { return x.split(","); });var XLSX = require('xlsx');
/* helper to generate the workbook object */function make_book() { var ws = XLSX.utils.aoa_to_sheet(data); var wb = XLSX.utils.book_new(); XLSX.utils.book_append_sheet(wb, ws, "SheetJS"); return wb;}
function get_data(req, res, type) { var wb = make_book(); /* send buffer back */ res.status(200).send(XLSX.write(wb, {type:'buffer', bookType:type}));}
function get_file(req, res, file) { var wb = make_book(); /* write using XLSX.writeFile */ XLSX.writeFile(wb, file); res.status(200).send("wrote to " + file + "\n");}
function load_data(file) { var wb = XLSX.readFile(file); /* generate array of arrays */ data = XLSX.utils.sheet_to_json(wb.Sheets[wb.SheetNames[0]], {header:1}); console.log(data);}
function post_data(req, res) { var keys = Object.keys(req.files), k = keys[0]; load_data(req.files[k].path); res.status(200).send("ok\n");}
function post_file(req, res, file) { load_data(file); res.status(200).send("ok\n");}app.use(logit.mw);app.use(cors.mw);app.use(require('express-formidable')());app.get('/', function(req, res, next) { var url = URL.parse(req.url, true); if(url.query.t) return get_data(req, res, url.query.t); else if(url.query.f) return get_file(req, res, url.query.f); res.status(403).end("Forbidden");});app.post('/', function(req, res, next) { var url = URL.parse(req.url, true); if(url.query.f) return post_file(req, res, url.query.f); return post_data(req, res);});
var port = +process.argv[2] || +process.env.PORT || 7262;app.listen(port, function() { console.log('Serving HTTP on port ' + port); });
sheetjs

Version Info

Tagged at
2 years ago