1. 程式人生 > >NodeJS excel 匯出(exceljs)

NodeJS excel 匯出(exceljs)

1、先來個匯入

excel

這裡寫圖片描述

解析方法

var Excel = require('exceljs');

var workbook = new Excel.Workbook();
var data = [];
workbook.xlsx.readFile('import.xlsx')
    .then(function(){
    var worksheet = workbook.getWorksheet(1);
    var row = worksheet.getRow(2);
    row.eachCell(function(cell, colNumber){
        var
value = cell.value; if(typeof value == "object") value = value.text; data.push(value); //console.log('Cell ' + colNumber + ' = ' + JSON.stringify(cell.value.text)); }); //console.log(worksheet.getRow(2)); console.log(JSON.stringify(data)); });

測試結果

["易窗","天道絕"
,"神王一段","太一神劍","龍麒麟"]

2、匯出

匯出效果

這裡寫圖片描述

匯出方法

/**
 * Created by alex on 17-2-23.
 */
var Excel = require('exceljs');

//cell style
var fills = {
    solid: {type: "pattern", pattern:"solid", fgColor:{argb:"FFFFAAAA"}}
};

//create a workbook
var workbook = new Excel.Workbook();

//add header
var ws1 = workbook.addWorksheet("測試一"
); ws1.addRow(["地址","地面"]); ws1.addRow(["總人口", "不可計數"]); ws1.addRow(["型別", "動物", "非動物"]); ws1.addRow(["統計日期", "1111-11-11 11:11:11"]); ws1.addRow(); //A6:E6 ws1.addRow(["你", "在", "說些", "神馬", "呢?"]); ws1.getCell("A6").fill = fills.solid; ws1.getCell("B6").fill = fills.solid; ws1.getCell("C6").fill = fills.solid; ws1.getCell("D6").fill = fills.solid; ws1.getCell("E6").fill = fills.solid; //7 - 13(A7:A13) - 7 ws1.addRow(["什麼跟神馬", 10, 1, "凡人修仙傳", 7]); ws1.addRow(["","","","一號遺蹟", 2]); ws1.addRow(["","","","六號遺蹟", 0]); ws1.addRow(["","","","古國一號", 0]); ws1.addRow(["","","","鍛體期", 0]); ws1.addRow(["","","","合體期", 0]); ws1.addRow(["","","","沒資質", 1]); ws1.mergeCells("A7:A13") ws1.mergeCells("B7:B13") ws1.mergeCells("C7:C13") //a6-e13 a b c d e //ws1.getCell('A7').alignment = { vertical: 'middle', horizontal: 'center' }; rowCenter(ws1, 6, 13);  colWidth(ws1, [1,2,3,4,5], 20); var ws2 = workbook.addWorksheet("測試二"); var ws3 = workbook.addWorksheet("測試三"); //設定 start-end 行單元格水平垂直居中/新增邊框 function rowCenter(arg_ws, arg_start, arg_end) { for(i = arg_start; i <= arg_end; i++) { arg_ws.findRow(i).alignment = { vertical: 'middle', horizontal: 'center' }; //迴圈 row 中的 cell,給每個 cell新增邊框 arg_ws.findRow(i).eachCell(function (cell, index) { cell.border = { top: {style:'thin'}, left: {style:'thin'}, bottom: {style:'thin'}, right: {style:'thin'} }; }) } } //設定 start-end 列的寬度 function colWidth(arg_ws, arg_cols, arg_width) { for(i in arg_cols) { arg_ws.getColumn(arg_cols[i]).width = arg_width; } } // workbook.xlsx.writeFile('test2.xlsx') .then(function(){ console.log('生成 xlsx'); });

相關推薦

NodeJS excel 匯出exceljs)

1、先來個匯入 excel 解析方法 var Excel = require('exceljs'); var workbook = new Excel.Workbook(); var data = []; workbook.xlsx.read

【轉載】NodeJS excel 匯出exceljs)

1、先來個匯入 excel 解析方法 var Excel = require('exceljs'); var workbook = new Excel.Workbook(); var data = []; workbook.xlsx.readFile('i

Java使用Apache的poi實現Excel匯出日常總結)

一.導包org.apache.poi <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version&

java百萬級別excel匯出easyExcel)

1.為什麼需要excel到處? 匯出功能在各個領域都被廣泛的運用,當用戶想把資料下載下來的時候,此時excel是一個不錯的選擇。 2.如何選擇合適的excel匯出? 選擇的問題一般都比較糾結,選擇了一個版本之後發現另外一個版本更適合,所以我們就應該選擇一些我們相對較熟悉

PHP 實現大資料30w量級)表格匯出匯出excel) 提高效率,減少記憶體消耗,終極解決方案

使用php做專案開發的同學,一定都會有過使用php進行excel表格匯出的經歷,當匯出少量資料還好,一旦資料量級達到5w、 10w、20w甚至30以上的時候就會面臨同樣的問題: 1、匯出時間變得很慢,少則1分鐘,多則好幾分鐘,資料量一旦上來,還可能面臨導不出來的困窘(這種匯出效率正常人都會受

基於Apache POI匯出百萬級)大資料量Excel的實現

POI匯出大資料量excel (注:專案原始碼及後續更新請點選) 1、ExcelUtils類: package Utils; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObje

SpringBoot通過WorkBook快速實現對Excel的匯入和匯出包括資料校驗)

之前轉載過一篇對Excel基本操作相關的文章,這篇文章的瀏覽量迅速飆升,以至於在我部落格的熱門文章中排到了第三的位置,不過那篇轉載的文章實用性差並且講解不是很清晰,所以打算趁著今天休息,寫一篇關於SpringBoot通過WorkBook快速實現對Excel的匯入、匯出、資料校驗的文章,也是便於日後查

Java關於傳統的excel匯出的實現一)

匯出的excel如下: 如果沒有特殊的格式啥的要求,此方法已經滿足,如果遇到標題或者定製的那種內容,就需要改造此方法!注意一下,這個方法只適合簡單的匯出使用。如果那種定製模板的匯出,在下一篇文章中我會有給出方法! 第一,控制層(controller層)的程式碼如下: /** * 列

vue匯出Excel表格通用)

封裝匯出的js程式碼 // 獲取cookie、 export function getCookie (name) { if (document.cookie.length > 0){ let c_start = document.cookie.indexOf(name +

Java匯入匯出Excel表格xls版本、xlsx版本)

自己整合成的一個專門匯入匯出工具類 一、pom檔案導包: <!-- 匯入匯出Excel表格 --> <!-- https://mvnrepository.com/artifact/org.apache.poi/poi --> <depend

檔案下載例如EXCEL匯出)優化之防止使用者多次操作

問題簡介  在專案中客戶提出優化一下系統的匯出excel功能,由於有時候資料量比較大,伺服器查詢資料和生成檔案的事件可能會比較長,所以促使在匯出excel時頁面可能會長時間沒反應,使用者可能會以為系統卡頓就頻繁點選匯出按鈕。那麼我們需要在此期間不讓使用者重複操作,當檔案生成好了並且下

利用PHPExcel 實現excel資料的匯入匯出原始碼實現)

利用PHPExcel 實現excel資料的匯入匯出(原始碼實現) 在開發過程中,經常會遇到匯入匯出的需求,利用phpexcel類實現起來也是比較容易的,下面,我們一步一步實現 提前將phpexcel類下載,並放在擴充套件目錄中,如圖所示 一、Excel匯出      匯出

easypoi Excel匯入匯出 工具類)

1.用到的jar 紅色的必須的。 下面那些是執行起來,缺哪個就導哪個。 如果報錯提示沒有這個方法的話,重啟Tomcat,還不好使就是jar包版本不對,找個高點的版本。  easypoi-annotation-3.1.0.jar easypoi-base-3.1.0.j

#Java--POI之Excel匯出工具類支援多個sheet頁同時匯出

一、核心程式碼 package com.yx.yzh.utils; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.

千萬級別資料的匯出excel實現以自己以前做的訂單匯出為demo給大家參考)

考慮幾個重點: 1,伺服器承載  2,redis資料快取避免資料重複匯出,3,匯出後的資料處理  4,死迴圈 5,資料大小,限制大變數的出現 遇到這樣的需求,大家根據自己的需求去處理業務,多方位去考慮程式的可執行性,效能等多方面因素(儘量減少迴圈中的查詢次數) 不多說附

Excel---匯出與讀取大資料量)

Excel下載   首先大資料量的下載,一般的Excel下載操作是不可能完成的,會導致記憶體溢位   SXSSFWorkbook 是專門用於大資料了的匯出     構造入參rowAccessWindowSize   這個引數,會指定一個sheet可讀取的row數目,超過該數目的row,會被寫入到磁碟檔案中,

Npoi匯出excel整理附原始碼)

http://www.cnblogs.com/WikStone/archive/2013/01/12/2857466.html 前些日子做了一個簡單的winform程式,需要匯出的功能,剛開始省事直接使用微軟的元件,但是匯出之後發現效率極其低下,絕對像web那樣使用npoi元件,因此簡單的進行了

POI實現Excel匯入匯出轉)

利用idea建立java web的maven專案,在pom中新增對poi的jar的依賴。 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/200

【工具類】Excel匯出那些事兒三)

      匯出Excel又有了新的需求,之前都是直接匯出list<T>,現需要匯出List<map>,並且需要動態建立表頭。如下: 【工具類】 引用jxl包   public class ListMapExpo

PHP快速匯出Excel檔案 採用xlsx Writer)

&lt;?php include_once("xlsxwriter.class.php"); ini_set('display_errors', 0); ini_set('log_errors', 1); error_reporting(E_ALL &amp; ~E_NOTICE); $f