Excel Upload Preview Catatan Pribadi

<!DOCTYPE html>
<html lang=”en”>
<head>
<meta charset=”utf-8″>
<title>Welcome to CodeIgniter</title>
</head>
<body>

https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js
https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.7.7/xlsx.core.min.js
https://cdnjs.cloudflare.com/ajax/libs/xls/0.7.4-a/xls.core.min.js

function ExportToTable() {
var regex = /^([a-zA-Z0-9\s_\\.\-:])+(.xlsx|.xls)$/;
/*Checks whether the file is a valid excel file*/
if (regex.test($(“#excelfile”).val().toLowerCase())) {
var xlsxflag = false; /*Flag for checking whether excel is .xls format or .xlsx format*/
if ($(“#excelfile”).val().toLowerCase().indexOf(“.xlsx”) > 0) {
xlsxflag = true;
}
/*Checks whether the browser supports HTML5*/
if (typeof (FileReader) != “undefined”) {
var reader = new FileReader();
reader.onload = function (e) {
var data = e.target.result;
console.log(data);
/*Converts the excel data in to object*/
if (xlsxflag) {
var workbook = XLSX.read(data, {type: ‘binary’});
} else {
var workbook = XLS.read(data, {type: ‘binary’});
}
/*Gets all the sheetnames of excel in to a variable*/
var sheet_name_list = workbook.SheetNames;

var cnt = 0; /*This is used for restricting the script to consider only first sheet of excel*/
sheet_name_list.forEach(function (y) { /*Iterate through all sheets*/
/*Convert the cell value to Json*/
if (xlsxflag) {
var exceljson = XLSX.utils.sheet_to_json(workbook.Sheets[y]);
} else {
var exceljson = XLS.utils.sheet_to_row_object_array(workbook.Sheets[y]);
}
if (exceljson.length > 0 && cnt == 0) {
BindTable(exceljson, ‘#exceltable’);
cnt++;
}
});
$(‘#exceltable’).show();
}
if (xlsxflag) {/*If excel file is .xlsx extension than creates a Array Buffer from excel*/
reader.readAsArrayBuffer($(“#excelfile”)[0].files[0]);
} else {
reader.readAsBinaryString($(“#excelfile”)[0].files[0]);
}
} else {
alert(“Sorry! Your browser does not support HTML5!”);
}
} else {
alert(“Please upload a valid Excel file!”);
}
}

function BindTable(jsondata, tableid) {/*Function used to convert the JSON array to Html Table*/
var columns = BindTableHeader(jsondata, tableid); /*Gets all the column headings of Excel*/
for (var i = 0; i ‘);
for (var colIndex = 0; colIndex ‘;
if (cellValue == null)
cellValue = “”;
row$.append($(‘

 

‘).html(cellValue));
}
$(tableid).append(row$);
}
}
function BindTableHeader(jsondata, tableid) {/*Function used to get all column names from JSON and bind the html table header*/
var columnSet = [];
var headerTr$ = $(‘

‘);
for (var i = 0; i ‘).html(key));
}
}
}
}
$(tableid).append(headerTr$);
return columnSet;
}

</body>
</html>

Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s