Я хочу получить данные Excel в HTML.Я использую следующий скрипт, но я хочу использовать номер ячейки вместо заголовка Excel, поскольку заголовок может быть другим.
Затем я хочу преобразовать эти данные HTML в JSON и отправить их в базу данных, чтобы заголовок Excelне имеет никакого эффектаЯ хочу игнорировать заголовок Excel и использовать местоположение ячейки только для извлечения данных
<div id="dvExcel"></div>
<input type="file" id="fileUpload" />
<input type="button" id="upload" value="Upload" onclick="Upload()" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.8.0/jszip.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.8.0/xlsx.js"></script>
function Upload() {
var fileUpload = document.getElementById("fileUpload");
var regex = /^([a-zA-Z0-9\s_\\.\-:])+(.xls|.xlsx)$/;
if (regex.test(fileUpload.value.toLowerCase())) {
if (typeof(FileReader) != "undgefined") {
var reader = new FileReader();
if (reader.readAsBinaryString) {
reader.onload = function(e) {
ProcessExcel(e.target.result);
};
reader.readAsBinaryString(fileUpload.files[0]);
} else {
reader.onload = function(e) {
var data = "";
var bytes = new Uint8Array(e.target.result);
for (var i = 0; i < bytes.byteLength; i++) {
data += String.fromCharCode(bytes[i]);
}
ProcessExcel(data);
};
reader.readAsArrayBuffer(fileUpload.files[0]);
}
} else {
alert("This browser does not support HTML5.");
}
} else {
alert("Please upload a valid Excel file.");
}
};
function ProcessExcel(data) {
//Read the Excel File data.
var workbook = XLSX.read(data, {
type: 'binary'
});
var firstSheet = workbook.SheetNames[0];
var excelRows = XLSX.utils.sheet_to_row_object_array(workbook.Sheets[firstSheet]);
var table = document.createElement("table");
table.border = "1";
var row = table.insertRow(-1);
var headerCell = document.createElement("TH");
headerCell.innerHTML = "Id";
row.appendChild(headerCell);
for (var i = 0; i < excelRows.length; i++) {
//Add the data row.
var row = table.insertRow(-1);
var cell = row.insertCell(-1);
cell.innerHTML = excelRows[i].Id;
}
var dvExcel = document.getElementById("dvExcel");
dvExcel.innerHTML = "";
dvExcel.appendChild(table);
};
Вместо excelRows[i].Id
Я хочу использовать номер ячейки Excel, поскольку заголовок Id может отличаться, но данныеЯ хочу этого поля.