Ich möchte ein Excel-Dokument hochladen, lesen Sie das Dokument und schreiben Sie den Excel-Dokument Inhalt in einer Tabelle Format in Jquery ich hatte dies mit Beispielreferenz von here erreicht. erstens dank dieser referenz, aber hier war ich hochgeladen mein Excel-Dokument aus dem lokalen Speicher des Systems zeigte es Fehler namens "Uncaught Ausnahme: Header Signatur: Erwartete d0cf11e0a1b11ae1 sah 504b030414000600". Wenn ich das Dokument hochladen würde, das ich von here heruntergeladen hatte, wurde das Ergebnis erfolgreich generiert. Ich bekomme nicht, was der Fehler aufgetreten ist, ich leide mit den letzten 2 Tagen mit diesem Fehler Kann mir jemand sagen, wie dieses Problem zu lösenSo beheben Sie nicht erfasste Ausnahme: Header-Signatur
Das ist mein HTML-Code
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/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>
<script src=" https://cdnjs.cloudflare.com/ajax/libs/xls/0.7.4-a/xls.js"></script>
<title>Test Excel</title>
</head>
<body onload="load_excel();">
<input type="file" id="my_file_input"/>
<div id='my_file_output'></div>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/index.js"></script>
</body>
</html>
Das ist mein JS-Code:
function load_excel(){
var oFileIn;
oFileIn = document.getElementById('my_file_input');
if(oFileIn.addEventListener) {
oFileIn.addEventListener('change', filePicked, false);
}
}
function filePicked(oEvent){
alert('Function trigggered');
// Get The File From The Input
var oFile = oEvent.target.files[0];
var sFilename = oFile.name;
// Create A File Reader HTML5
var reader = new FileReader();
// Ready The Event For When A File Gets Selected
reader.onload = function(e) {
var data = e.target.result;
var cfb = XLS.CFB.read(data, {type: 'binary'});
var wb = XLS.parse_xlscfb(cfb);
// Loop Over Each Sheet
wb.SheetNames.forEach(function(sheetName) {
// Obtain The Current Row As CSV
var sCSV = XLS.utils.make_csv(wb.Sheets[sheetName]);
var data = XLS.utils.sheet_to_json(wb.Sheets[sheetName], {header:1});
$.each(data, function(indexR, valueR) {
var sRow = "<tr>";
$.each(data[indexR], function(indexC, valueC) {
sRow = sRow + "<td>" + valueC + "</td>";
});
sRow = sRow + "</tr>";
$("#my_file_output").append(sRow);
});
});
};
// Tell JS To Start Reading The File.. You could delay this if desired
reader.readAsBinaryString(oFile);
}
Hatten Sie einen Unterschied in beiden Excel-Dateien gefunden? –
Danke Mann für Ihren Vorschlag. Er holt Daten nur von der Excel-Datei ab, die im Format 'XLS' nicht in 'XLSX' gespeichert wird, indem er das Dateiformat zu 'XLS' ändert, Daten tadellos zurück holt. Danke @HassanALi – lakshmansundeep
I Ich freue mich für dich. –