基於koajs的乙個簡易Excel生成服務

2021-09-18 07:21:44 字數 973 閱讀 8465

運營人員需要將後台的**匯出成excel,由於後端的同學忙於其他事情,想著是不是可以自己做乙個服務來生成。了解到有node-xlsx這樣的工具以後就開工了。

後台選用了koa,因為非常輕巧,寫個介面只需要幾行**。

this.body = 'hello';

});console.log('listening on port 3000');

訪問localhost:3000就可以看到hello了。

node-xlsx是乙個nodejs下讀寫excel的工具,使用方法很簡單

import xlsx from 'node-xlsx';

const data = [[1, 2, 3], [true, false, null, 'sheetjs'], ['foo', 'bar', new date('2014-02-19t14:30z'), '0.3'], ['baz', null, 'qux']];

var buffer = xlsx.build(); // returns a buffer

之後就可以使用fs.writefile來把buffer寫入檔案。另外再搭配koa-route,koa-cors就可以提供乙個允許跨域請求的服務。

var route = require('koa-route');
koa的中介軟體都是基於generator方法,createxls方法也不例外。

var parse = require('co-body');

function *createxls() ]);

fs.writefilesync('./downloads/' + filename + '.xlsx', _buffer);

this.body = ;

}

這樣乙個簡單的介面就寫完了,只要呼叫http://localhost:3000/createe...傳入filename和data就可以生成excel文件。

乙個簡易的基於tun tap裝置的協議棧

從上一次準備開坑開幹,到現在初步完成,已經過了乙個半月了,造乙個輪子確實是非常耗時耗力的一件事情,但是不管怎樣,我終究還是做完了,完成了當初的目標,雖然 還有非常多值得改進的地方,但是現在已經不是很著急了,一步一步慢慢來吧,接下來的一段時間裡,我會將這個協議棧背後涉及到的一些知識貼成博文,但是我不會...

乙個簡易的shell

shell本質上就是將程序程式替換 替換原理 用fork建立子程序後執行的是和父程序相同的程式 但有可能執行不同的 分支 子程序往往要呼叫一種exec函式以執行另乙個程式。當程序呼叫一種exec函式時,該程序的使用者空間 和資料完全被新程式替換,從新程式的啟動例程開始執行。呼叫exec並不建立新程序...

乙個簡易的SocketIM

今天做了乙個簡易的socketim的小示例。基本思想是開啟兩個winform,每個winform既充當伺服器也充當客戶端。乙個監聽8000埠,另外乙個監聽8001埠,兩個winform接收到資訊之後將資訊顯示在form的控制項上。這篇記錄一下碼code中學到的一些東西。net的socket庫已經將c...