3

I have an excel which has multiple sheet. Now I want to get row count for each sheet

 var XLSX = require('xlsx');
var workbook = XLSX.readFile('test.xlsx');
        var sheet_name_list = workbook.SheetNames;
        let count = [];
        for (var sheetIndex = 0; sheetIndex < sheet_name_list.length; sheetIndex++) {
            var worksheet = workbook.Sheets[sheet_name_list[sheetIndex]];
            var range = XLSX.utils.decode_range(worksheet['!ref']);
            var num_rows = range.e.r - range.s.r + 1;

            count.push({
                data_count: num_rows
            });
        }

        return count;

By using above script I am getting maximum 65536 even though excel has 100000 record.

Akhilesh
  • 55
  • 2
  • 5

1 Answers1

1

try changing:

var range = XLSX.utils.decode_range(worksheet['!ref']);

to:

var range = XLSX.utils.decode_range(worksheet['!fullref']);
Nilanka Manoj
  • 3,527
  • 4
  • 17
  • 48
  • after using !fullref I am getting error {"trace":"TypeError: Cannot read property 'split' of undefined\n at Object.decode_range – Akhilesh Apr 16 '20 at 13:31