I want to show a alert message and exit the FileReader onload function if there is no records or the excel is empty
<code> $(document).on('change', '#InputFile', function (evt) {
var regexExcel = /(.xlsx|.xls)$/i;
var file = evt.target.files[0];
var reader = new FileReader();
reader.onload = function (e) {
var data = new Uint8Array(e.target.result);
var workbook = XLSX.read(data, { type: 'array' }); // Parse the data as Excel file
var firstSheetName = workbook.SheetNames[0]; // name of the sheet
var worksheet = workbook.Sheets[firstSheetName]; // Get the first sheet
var excelData = XLSX.utils.sheet_to_json(worksheet, { header: 1 }); // Convert the sheet to JSON data
console.log(excelData);
if (excelData.length == 0) {
$(".global-loader").hide();
$("#UploadData .error-txt").show().text("No records found in the selected Excel file");
$('#InputFile').val('');
return;
}
excelData = excelData.filter(row => row.some(cell => !!cell));
};
reader.readAsArrayBuffer(file);
});
</code>
<code> $(document).on('change', '#InputFile', function (evt) {
var regexExcel = /(.xlsx|.xls)$/i;
var file = evt.target.files[0];
var reader = new FileReader();
reader.onload = function (e) {
var data = new Uint8Array(e.target.result);
var workbook = XLSX.read(data, { type: 'array' }); // Parse the data as Excel file
var firstSheetName = workbook.SheetNames[0]; // name of the sheet
var worksheet = workbook.Sheets[firstSheetName]; // Get the first sheet
var excelData = XLSX.utils.sheet_to_json(worksheet, { header: 1 }); // Convert the sheet to JSON data
console.log(excelData);
if (excelData.length == 0) {
$(".global-loader").hide();
$("#UploadData .error-txt").show().text("No records found in the selected Excel file");
$('#InputFile').val('');
return;
}
excelData = excelData.filter(row => row.some(cell => !!cell));
};
reader.readAsArrayBuffer(file);
});
</code>
$(document).on('change', '#InputFile', function (evt) {
var regexExcel = /(.xlsx|.xls)$/i;
var file = evt.target.files[0];
var reader = new FileReader();
reader.onload = function (e) {
var data = new Uint8Array(e.target.result);
var workbook = XLSX.read(data, { type: 'array' }); // Parse the data as Excel file
var firstSheetName = workbook.SheetNames[0]; // name of the sheet
var worksheet = workbook.Sheets[firstSheetName]; // Get the first sheet
var excelData = XLSX.utils.sheet_to_json(worksheet, { header: 1 }); // Convert the sheet to JSON data
console.log(excelData);
if (excelData.length == 0) {
$(".global-loader").hide();
$("#UploadData .error-txt").show().text("No records found in the selected Excel file");
$('#InputFile').val('');
return;
}
excelData = excelData.filter(row => row.some(cell => !!cell));
};
reader.readAsArrayBuffer(file);
});
I have tried this to return from the function :
<code>if (excelData.length == 0) {
$(".global-loader").hide();
$("#UploadData .error-txt").show().text("No records found in the selected Excel file");
$('#InputFile').val('');
return;
}
</code>
<code>if (excelData.length == 0) {
$(".global-loader").hide();
$("#UploadData .error-txt").show().text("No records found in the selected Excel file");
$('#InputFile').val('');
return;
}
</code>
if (excelData.length == 0) {
$(".global-loader").hide();
$("#UploadData .error-txt").show().text("No records found in the selected Excel file");
$('#InputFile').val('');
return;
}
But this is not working. How to achieve this?
1