国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

基于koajs的一個簡易Excel生成服務

qylost / 2580人閱讀

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

起因

運營人員需要將后臺的表格導出成Excel,由于后端的同學忙于其他事情,想著是不是可以自己做一個服務來生成。了解到有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就可以提供一個允許跨域請求的服務。

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 };
}

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

源碼

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

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

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/91637.html

相關文章

  • 前端文檔收集

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

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

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

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

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

    ZweiZhao 評論0 收藏0

發(fā)表評論

0條評論

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