ludc
2023-08-24 56c45e1f4be85d6bbfb3a03437021c6742b32ad9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
var argv = require('minimist')(process.argv.slice(2));
var assert = require('assert')
var XLSX = require('../');
var fs = require('fs')
var INFILE = './test_files/pivot_table_test.xlsm';
var TESTFILE = './test_files/pivot_table_test.xlsm.';
//var INFILE = './test_files/formula_stress_test.xlsb';
//var TESTFILE = './test_files/formula_stress_test.xls.';
var INFILE = './test_files/apachepoi_Tables.xlsx';
var TESTFILE = './test_files/apachepoi_Tables.xlsx.';
var INFILE = './test_files/apachepoi_45540_classic_Footer.xlsx';
var TESTFILE = './test_files/apachepoi_45540_classic_Footer.xlsx.';
var SHEET = argv.p || 0;
 
function stripbom(x) {
  return x.replace(/^\ufeff/, "");
}
function fixcsv(x) {
  return stripbom(x).replace(/\t/g, ",").replace(/#{255}/g, "").replace(/"/g, "").replace(/[\n\r]+/g, "\n").replace(/\n*$/, "");
}
 
describe("CSV writer", function () {
  it("Generates CSV", function () {
    wb = XLSX.readFile(INFILE, {cellNF: true});
 
    //XLSX.writeFile(wb, '/tmp/test-csv.xlsx');
    //var wb = XLSX.readFile('/tmp/test-csv.xlsx', {cellNF: true});
 
    wb = XLSX.read(XLSX.write(wb, {type: "buffer", bookType: 'xlsx'}), {cellNF: true})
 
 
    var csv = fixcsv(XLSX.utils.make_csv(wb.Sheets[wb.SheetNames[SHEET]]))
    var exp = fixcsv(fs.readFileSync(TESTFILE + SHEET + '.csv', 'utf8'))
 
    assert.equal(csv, exp)
  })
})