Skip to content

uoiszero/Node-Excel-Export

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

excel-export-impr

Improved node.js module for exporting data set to Excel xlsx file. Hyperlink type support.

Using excel-export-impr

Setup configuration object before passing in the execute method. cols is an array for column definition. Column definition should have caption and type properties. beforeCellWrite callback is optional. beforeCellWrite is called with row and cell data. The return value from beforeCellWrite is what get written to the cell . Supported valid types are string, date, bool and number. rows is the data to be export. It is an Array of Array (row). Each row should be the same length of cols.

var express = require('express');
var nodeExcel = require('excel-export-impr');
var app = express();

app.get('/Excel', function(req, res){
  	var conf ={};
  	conf.cols = [{
		caption:'string',
        type:'string',
        beforeCellWrite:function(row, cellData){
			 return cellData.toUpperCase();
		}
	},{
		caption:'date',
		type:'date',
		beforeCellWrite:function(row, cellData){
			var originDate = new Date(Date.UTC(1899, 12, 29));
			return function(row, cellData){
			  return (cellData - originDate) / (24 * 60 * 60 * 1000);
			} 
		}()
	},{
		caption:'bool',
		type:'bool'
	},{
		caption:'number',
		 type:'number'				
  	},
	{
		caption:'link',
		type:'hyperlink'
	}];
  	conf.rows = [
 		['pi', new Date(Date.UTC(2013, 4, 1)), true, 3.14, { text: 'Google', href: 'http://www.google.com'}],
 		['pi', (new Date(2013, 4, 1)).getJulian(), true, 3.14, { text: 'Google', href: 'http://www.google.com'}],
		["e", (new Date(2012, 4, 1)).getJulian(), false, 2.7182, { text: 'Google', href: 'http://www.google.com'}]
  	];
  	var result = nodeExcel.execute(conf);
  	res.setHeader('Content-Type', 'application/vnd.openxmlformats');
  	res.setHeader("Content-Disposition", "attachment; filename=" + "Report.xlsx");
  	res.end(result, 'binary');
});

app.listen(3000);
console.log('Listening on port 3000');

About

Improved node.js module for exporting data set to Excel xlsx file.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published