成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

基于koajs的一個簡易Excel生成服務(wù)

qylost / 2610人閱讀

摘要:起因運營人員需要將后臺的表格導(dǎo)出成,由于后端的同學(xué)忙于其他事情,想著是不是可以自己做一個服務(wù)來生成。另外再搭配就可以提供一個允許跨域請求的服務(wù)。這樣一個簡單的接口就寫完了,只要調(diào)用傳入和就可以生成文檔。

起因

運營人員需要將后臺的表格導(dǎo)出成Excel,由于后端的同學(xué)忙于其他事情,想著是不是可以自己做一個服務(wù)來生成。了解到有node-xlsx這樣的工具以后就開工了。

框架

后臺選用了koa,因為非常輕巧,寫個接口只需要幾行代碼。

var app = require("koa")();
app.use(function *(){
    this.body = "Hello";
});

app.listen(3000);
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([{name: "mySheetName", data: data}]); // Returns a buffer

之后就可以使用fs.writeFile來把buffer寫入文件。另外再搭配koa-route,koa-cors就可以提供一個允許跨域請求的服務(wù)。

var route = require("koa-route");
app.use(require("koa-cors")());//enable cross-origin request
app.use(route.post("/createExcel", createXls));

koa的中間件都是基于generator方法,createXls方法也不例外。

var parse = require("co-body");
function *createXls() {
    var body = yield parse(this);//parse body to json
    var fileName = body.fileName;
    var _buffer = xlsx.build([{name: "sheet1", data: body.data}]);
    fs.writeFileSync("./downloads/" + fileName + ".xlsx", _buffer);
    this.body = { "success": true, file: fileName };
}

這樣一個簡單的接口就寫完了,只要調(diào)用http://localhost:3000/createE...傳入fileName和data就可以生成Excel文檔。

源碼

https://github.com/graysheeep...

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/91637.html

相關(guān)文章

  • 前端文檔收集

    摘要:系列種優(yōu)化頁面加載速度的方法隨筆分類中個最重要的技術(shù)點常用整理網(wǎng)頁性能管理詳解離線緩存簡介系列編寫高性能有趣的原生數(shù)組函數(shù)數(shù)據(jù)訪問性能優(yōu)化方案實現(xiàn)的大排序算法一怪對象常用方法函數(shù)收集數(shù)組的操作面向?qū)ο蠛驮屠^承中關(guān)鍵詞的優(yōu)雅解釋淺談系列 H5系列 10種優(yōu)化頁面加載速度的方法 隨筆分類 - HTML5 HTML5中40個最重要的技術(shù)點 常用meta整理 網(wǎng)頁性能管理詳解 HTML5 ...

    jsbintask 評論0 收藏0
  • 前端文檔收集

    摘要:系列種優(yōu)化頁面加載速度的方法隨筆分類中個最重要的技術(shù)點常用整理網(wǎng)頁性能管理詳解離線緩存簡介系列編寫高性能有趣的原生數(shù)組函數(shù)數(shù)據(jù)訪問性能優(yōu)化方案實現(xiàn)的大排序算法一怪對象常用方法函數(shù)收集數(shù)組的操作面向?qū)ο蠛驮屠^承中關(guān)鍵詞的優(yōu)雅解釋淺談系列 H5系列 10種優(yōu)化頁面加載速度的方法 隨筆分類 - HTML5 HTML5中40個最重要的技術(shù)點 常用meta整理 網(wǎng)頁性能管理詳解 HTML5 ...

    muddyway 評論0 收藏0
  • 基于koajsweb項目構(gòu)建(二)

    摘要:根據(jù)基于的項目構(gòu)建一所描述的,建立了項目的基本目錄結(jié)構(gòu),接下來的工作便是編碼,編譯,測試,發(fā)布。對于自己,僅作文去嘗試清楚的闡述自己構(gòu)建項目的一些實踐。隨意的編碼風(fēng)格最終導(dǎo)致項目代碼的可維護性低,新加入成員學(xué)習(xí)成本提高。 根據(jù) 基于koajs的web項目構(gòu)建(一) 所描述的,建立了項目的基本目錄結(jié)構(gòu),接下來的工作便是編碼,編譯,測試,發(fā)布。做為這些工作,每一項工作都有自己的學(xué)問,針對這...

    ZweiZhao 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<