diff --git a/README.md b/README.md index 6bbb935..84c531e 100644 --- a/README.md +++ b/README.md @@ -95,6 +95,7 @@ Example: Create a new sheet named 'sheet1' with 5 columns and 8 rows var sheet1 = workbook.createSheet('sheet1', 5, 8); ``` +### Workbook.saveSync() ### Workbook.save(callback) Save current workbook. diff --git a/lib/msexcel-builder.js b/lib/msexcel-builder.js index bce2587..dab550e 100644 --- a/lib/msexcel-builder.js +++ b/lib/msexcel-builder.js @@ -1,4 +1,4 @@ -// Generated by CoffeeScript 1.8.0 +// Generated by CoffeeScript 1.10.0 /* MS Excel 2007 Creater v0.0.1 @@ -7,13 +7,15 @@ */ (function() { - var ContentTypes, DocPropsApp, JSZip, SharedStrings, Sheet, Style, Workbook, XlRels, XlWorkbook, baseXl, opt, tool, xml, - __bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; + var ContentTypes, DocPropsApp, JSZip, SharedStrings, Sheet, Style, Workbook, XlRels, XlWorkbook, baseXl, opt, path, tool, xml, + bind = function(fn, me){ return function(){ return fn.apply(me, arguments); }; }; JSZip = require('jszip'); xml = require('xmlbuilder'); + path = require('path'); + tool = { i2a: function(i) { return 'ABCDEFGHIJKLMNOPQRSTUVWXYZ123'.charAt(i - 1); @@ -30,7 +32,7 @@ } ContentTypes.prototype.toxml = function() { - var i, types, _i, _ref; + var i, l, ref, types; types = xml.create('Types', { version: '1.0', encoding: 'UTF-8', @@ -61,7 +63,7 @@ PartName: '/docProps/app.xml', ContentType: 'application/vnd.openxmlformats-officedocument.extended-properties+xml' }); - for (i = _i = 1, _ref = this.book.sheets.length; 1 <= _ref ? _i <= _ref : _i >= _ref; i = 1 <= _ref ? ++_i : --_i) { + for (i = l = 1, ref = this.book.sheets.length; 1 <= ref ? l <= ref : l >= ref; i = 1 <= ref ? ++l : --l) { types.ele('Override', { PartName: '/xl/worksheets/sheet' + i + '.xml', ContentType: 'application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml' @@ -88,7 +90,7 @@ } DocPropsApp.prototype.toxml = function() { - var i, props, tmp, _i, _ref; + var i, l, props, ref, tmp; props = xml.create('Properties', { version: '1.0', encoding: 'UTF-8', @@ -109,7 +111,7 @@ size: this.book.sheets.length, baseType: 'lpstr' }); - for (i = _i = 1, _ref = this.book.sheets.length; 1 <= _ref ? _i <= _ref : _i >= _ref; i = 1 <= _ref ? ++_i : --_i) { + for (i = l = 1, ref = this.book.sheets.length; 1 <= ref ? l <= ref : l >= ref; i = 1 <= ref ? ++l : --l) { tmp.ele('vt:lpstr', this.book.sheets[i - 1].name); } props.ele('Company'); @@ -130,7 +132,7 @@ } XlWorkbook.prototype.toxml = function() { - var i, tmp, wb, _i, _ref; + var i, l, ref, tmp, wb; wb = xml.create('workbook', { version: '1.0', encoding: 'UTF-8', @@ -155,7 +157,7 @@ windowHeight: '11640' }); tmp = wb.ele('sheets'); - for (i = _i = 1, _ref = this.book.sheets.length; 1 <= _ref ? _i <= _ref : _i >= _ref; i = 1 <= _ref ? ++_i : --_i) { + for (i = l = 1, ref = this.book.sheets.length; 1 <= ref ? l <= ref : l >= ref; i = 1 <= ref ? ++l : --l) { tmp.ele('sheet', { name: this.book.sheets[i - 1].name, sheetId: '' + i, @@ -178,14 +180,14 @@ } XlRels.prototype.toxml = function() { - var i, rs, _i, _ref; + var i, l, ref, rs; rs = xml.create('Relationships', { version: '1.0', encoding: 'UTF-8', standalone: true }); rs.att('xmlns', 'http://schemas.openxmlformats.org/package/2006/relationships'); - for (i = _i = 1, _ref = this.book.sheets.length; 1 <= _ref ? _i <= _ref : _i >= _ref; i = 1 <= _ref ? ++_i : --_i) { + for (i = l = 1, ref = this.book.sheets.length; 1 <= ref ? l <= ref : l >= ref; i = 1 <= ref ? ++l : --l) { rs.ele('Relationship', { Id: 'rId' + i, Type: 'http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet', @@ -233,7 +235,7 @@ }; SharedStrings.prototype.toxml = function() { - var i, si, sst, _i, _ref; + var i, l, ref, si, sst; sst = xml.create('sst', { version: '1.0', encoding: 'UTF-8', @@ -242,7 +244,7 @@ sst.att('xmlns', 'http://schemas.openxmlformats.org/spreadsheetml/2006/main'); sst.att('count', '' + this.arr.length); sst.att('uniqueCount', '' + this.arr.length); - for (i = _i = 0, _ref = this.arr.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) { + for (i = l = 0, ref = this.arr.length; 0 <= ref ? l < ref : l > ref; i = 0 <= ref ? ++l : --l) { si = sst.ele('si'); si.ele('t', this.arr[i]); si.ele('phoneticPr', { @@ -258,16 +260,16 @@ })(); Sheet = (function() { - function Sheet(book, name, cols, rows) { - var i, j, _i, _j, _ref, _ref1; + function Sheet(book, name1, cols1, rows1) { + var i, j, l, n, ref, ref1; this.book = book; - this.name = name; - this.cols = cols; - this.rows = rows; + this.name = name1; + this.cols = cols1; + this.rows = rows1; this.data = {}; - for (i = _i = 1, _ref = this.rows; 1 <= _ref ? _i <= _ref : _i >= _ref; i = 1 <= _ref ? ++_i : --_i) { + for (i = l = 1, ref = this.rows; 1 <= ref ? l <= ref : l >= ref; i = 1 <= ref ? ++l : --l) { this.data[i] = {}; - for (j = _j = 1, _ref1 = this.cols; 1 <= _ref1 ? _j <= _ref1 : _j >= _ref1; j = 1 <= _ref1 ? ++_j : --_j) { + for (j = n = 1, ref1 = this.cols; 1 <= ref1 ? n <= ref1 : n >= ref1; j = 1 <= ref1 ? ++n : --n) { this.data[i][j] = { v: 0 }; @@ -348,7 +350,7 @@ }; Sheet.prototype.toxml = function() { - var c, cols, cw, ht, i, ix, j, m, mc, r, sd, sid, ws, _i, _j, _k, _l, _len, _len1, _ref, _ref1, _ref2, _ref3; + var c, cols, cw, ht, i, ix, j, l, len, len1, m, mc, n, p, q, r, ref, ref1, ref2, ref3, sd, sid, ws; ws = xml.create('worksheet', { version: '1.0', encoding: 'UTF-8', @@ -367,9 +369,9 @@ }); if (this.col_wd.length > 0) { cols = ws.ele('cols'); - _ref = this.col_wd; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - cw = _ref[_i]; + ref = this.col_wd; + for (l = 0, len = ref.length; l < len; l++) { + cw = ref[l]; cols.ele('col', { min: '' + cw.c, max: '' + cw.c, @@ -379,7 +381,7 @@ } } sd = ws.ele('sheetData'); - for (i = _j = 1, _ref1 = this.rows; 1 <= _ref1 ? _j <= _ref1 : _j >= _ref1; i = 1 <= _ref1 ? ++_j : --_j) { + for (i = n = 1, ref1 = this.rows; 1 <= ref1 ? n <= ref1 : n >= ref1; i = 1 <= ref1 ? ++n : --n) { r = sd.ele('row', { r: '' + i, spans: '1:' + this.cols @@ -389,7 +391,7 @@ r.att('ht', ht); r.att('customHeight', '1'); } - for (j = _k = 1, _ref2 = this.cols; 1 <= _ref2 ? _k <= _ref2 : _k >= _ref2; j = 1 <= _ref2 ? ++_k : --_k) { + for (j = p = 1, ref2 = this.cols; 1 <= ref2 ? p <= ref2 : p >= ref2; j = 1 <= ref2 ? ++p : --p) { ix = this.data[i][j]; sid = this.style_id(j, i); if ((ix.v !== 0) || (sid !== 1)) { @@ -410,9 +412,9 @@ mc = ws.ele('mergeCells', { count: this.merges.length }); - _ref3 = this.merges; - for (_l = 0, _len1 = _ref3.length; _l < _len1; _l++) { - m = _ref3[_l]; + ref3 = this.merges; + for (q = 0, len1 = ref3.length; q < len1; q++) { + m = ref3[q]; mc.ele('mergeCell', { ref: '' + tool.i2a(m.from.col) + m.from.row + ':' + tool.i2a(m.to.col) + m.to.row }); @@ -549,7 +551,7 @@ }; Style.prototype.toxml = function() { - var bders, cs, e, ea, es, fills, fonts, o, ss, _i, _j, _k, _l, _len, _len1, _len2, _len3, _ref, _ref1, _ref2, _ref3; + var bders, cs, e, ea, es, fills, fonts, l, len, len1, len2, len3, n, o, p, q, ref, ref1, ref2, ref3, ss; ss = xml.create('styleSheet', { version: '1.0', encoding: 'UTF-8', @@ -559,9 +561,9 @@ fonts = ss.ele('fonts', { count: this.mfonts.length }); - _ref = this.mfonts; - for (_i = 0, _len = _ref.length; _i < _len; _i++) { - o = _ref[_i]; + ref = this.mfonts; + for (l = 0, len = ref.length; l < len; l++) { + o = ref[l]; e = fonts.ele('font'); if (o.bold !== '-') { e.ele('b'); @@ -595,9 +597,9 @@ fills = ss.ele('fills', { count: this.mfills.length }); - _ref1 = this.mfills; - for (_j = 0, _len1 = _ref1.length; _j < _len1; _j++) { - o = _ref1[_j]; + ref1 = this.mfills; + for (n = 0, len1 = ref1.length; n < len1; n++) { + o = ref1[n]; e = fills.ele('fill'); es = e.ele('patternFill', { patternType: o.type @@ -617,9 +619,9 @@ bders = ss.ele('borders', { count: this.mbders.length }); - _ref2 = this.mbders; - for (_k = 0, _len2 = _ref2.length; _k < _len2; _k++) { - o = _ref2[_k]; + ref2 = this.mbders; + for (p = 0, len2 = ref2.length; p < len2; p++) { + o = ref2[p]; e = bders.ele('border'); if (o.left !== '-') { e.ele('left', { @@ -672,9 +674,9 @@ cs = ss.ele('cellXfs', { count: this.mstyle.length }); - _ref3 = this.mstyle; - for (_l = 0, _len3 = _ref3.length; _l < _len3; _l++) { - o = _ref3[_l]; + ref3 = this.mstyle; + for (q = 0, len3 = ref3.length; q < len3; q++) { + o = ref3[q]; e = cs.ele('xf', { numFmtId: '0', fontId: o.font_id - 1, @@ -726,11 +728,13 @@ })(); Workbook = (function() { - function Workbook(fpath, fname) { - this.fpath = fpath; - this.fname = fname; - this.generate = __bind(this.generate, this); - this.save = __bind(this.save, this); + function Workbook(fpath1, fname1) { + this.fpath = fpath1; + this.fname = fname1; + this.generate = bind(this.generate, this); + this._save = bind(this._save, this); + this.save = bind(this.save, this); + this.saveSync = bind(this.saveSync, this); this.id = '' + parseInt(Math.random() * 9999999); this.sheets = []; this.ss = new SharedStrings; @@ -748,20 +752,34 @@ return sheet; }; + Workbook.prototype.saveSync = function() { + return this._save(null, true); + }; + Workbook.prototype.save = function(cb) { - var target; - target = this.fpath + '/' + this.fname; + return this._save(cb, false); + }; + + Workbook.prototype._save = function(cb, sync) { + var fs, target, write; + fs = require('fs'); + write = sync ? fs.writeFileSync : fs.writeFile; + target = this.fpath + path.sep + this.fname; return this.generate(function(err, zip) { var buffer; buffer = zip.generate({ type: 'nodebuffer' }); - return require('fs').writeFile(target, buffer, cb); + if (sync) { + return write(target, buffer); + } else { + return write(target, buffer, cb); + } }); }; Workbook.prototype.generate = function(cb) { - var i, key, zip, _i, _ref; + var i, key, l, ref, zip; zip = new JSZip; for (key in baseXl) { zip.file(key, baseXl[key]); @@ -771,7 +789,7 @@ zip.file('xl/workbook.xml', this.wb.toxml()); zip.file('xl/sharedStrings.xml', this.ss.toxml()); zip.file('xl/_rels/workbook.xml.rels', this.re.toxml()); - for (i = _i = 0, _ref = this.sheets.length; 0 <= _ref ? _i < _ref : _i > _ref; i = 0 <= _ref ? ++_i : --_i) { + for (i = l = 0, ref = this.sheets.length; 0 <= ref ? l < ref : l > ref; i = 0 <= ref ? ++l : --l) { zip.file('xl/worksheets/sheet' + (i + 1) + '.xml', this.sheets[i].toxml()); } zip.file('xl/styles.xml', this.st.toxml()); diff --git a/lib/msexcel-builder.js.map b/lib/msexcel-builder.js.map index 1fc3637..967c7a7 100644 --- a/lib/msexcel-builder.js.map +++ b/lib/msexcel-builder.js.map @@ -6,5 +6,5 @@ "msexcel-builder.coffee" ], "names": [], - "mappings": "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" + "mappings": "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" } \ No newline at end of file diff --git a/src/msexcel-builder.coffee b/src/msexcel-builder.coffee index d1a1403..cd30a1c 100644 --- a/src/msexcel-builder.coffee +++ b/src/msexcel-builder.coffee @@ -5,6 +5,7 @@ ### JSZip = require 'jszip' xml = require 'xmlbuilder' +path = require 'path' tool = i2a : (i) -> @@ -339,14 +340,19 @@ class Workbook sheet = new Sheet(@,name,cols,rows) @sheets.push sheet return sheet - + saveSync: () => + @_save(null, true) save: (cb) => - target = @fpath + '/' + @fname + @_save(cb, false) + _save: (cb, sync) => + fs = require 'fs' + write = if sync then fs.writeFileSync else fs.writeFile + target = @fpath + path.sep + @fname @generate (err, zip) -> buffer = zip.generate(type: 'nodebuffer') # dependence on file system isolated to this function - require('fs').writeFile target, buffer, cb - + if sync then write target, buffer else write target, buffer, cb + # takes a callback function(err, zip) and returns a JSZip object on success generate: (cb) => diff --git a/test/example.js b/test/example.js index 0797d92..abc16d4 100644 --- a/test/example.js +++ b/test/example.js @@ -1,6 +1,8 @@ var fs = require('fs'); var assert = require('assert'); var JSZip = require('jszip'); +const os = require('os') +const path = require('path') var excelbuilder = require('..'); @@ -38,10 +40,10 @@ describe('It generates a simple workbook', function() { if (err) throw err; else { var buffer = zip.generate({type: "nodebuffer"}); - var OUTFILE = '/tmp/example.xlsx'; + const OUTFILE = [ os.tmpdir(), 'example.xlsx' ].join(path.sep) fs.writeFile(OUTFILE, buffer, function (err) { console.log('Test file written to ' + OUTFILE); - compareWorkbooks('./test/files/example.xlsx', OUTFILE) + compareWorkbooks([ 'test', 'files', 'example.xlsx' ].join(path.sep), OUTFILE) done(err); }); } @@ -49,7 +51,7 @@ describe('It generates a simple workbook', function() { }) it ('Supports the prior constructor syntax', function(done) { - var PATH = '/tmp'; + var PATH = os.tmpdir(); var FILENAME = 'example2.xlsx'; var workbook = excelbuilder.createWorkbook(PATH, FILENAME); var sheet1 = workbook.createSheet('sheet1', 10, 12); @@ -61,7 +63,7 @@ describe('It generates a simple workbook', function() { workbook.save(function (err) { if (err) throw err; else { - var OUTFILE = PATH + "/" + FILENAME; + const OUTFILE = [ PATH, FILENAME ].join(path.sep) console.log('Test file written to ' + OUTFILE); done() }