如何通过使用Javascript上传Excel文件并调用AJAX方法将其转换为xml文件?
我浏览了互联网上的一些文章,但找不到任何方法将excel文件转换为xml格式。但我尝试过将excel转换为json的代码,但我坚持使用javascript将excel文件转换为xml,下面我尝试了将excel转换为json的代码。有人能帮我转换成xml吗如何通过使用Javascript上传Excel文件并调用AJAX方法将其转换为xml文件?,javascript,Javascript,我浏览了互联网上的一些文章,但找不到任何方法将excel文件转换为xml格式。但我尝试过将excel转换为json的代码,但我坚持使用javascript将excel文件转换为xml,下面我尝试了将excel转换为json的代码。有人能帮我转换成xml吗 <body> <input type="file" id="fileUpload" /> <input type="button" id="upload" value="Upload" />
<body>
<input type="file" id="fileUpload" />
<input type="button" id="upload" value="Upload" />
<hr />
<div id="dvExcel">
</div>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.13.5/xlsx.full.min.js"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.13.5/jszip.js"></script>
<script type="text/javascript">
$("body").on("click", "#upload", function () {
//Reference the FileUpload element.
var fileUpload = $("#fileUpload")[0];
//Validate whether File is valid Excel file.
var regex = /^([a-zA-Z0-9\s_\\.\-:])+(.xls|.xlsx)$/;
if (regex.test(fileUpload.value.toLowerCase())) {
if (typeof (FileReader) != "undefined") {
var reader = new FileReader();
//For Browsers other than IE.
if (reader.readAsBinaryString) {
reader.onload = function (e) {
ProcessExcel(e.target.result);
};
reader.readAsBinaryString(fileUpload.files[0]);
} else {
//For IE Browser.
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) {
debugger;
//Read the Excel File data.
var workbook = XLSX.read(data, {
type: 'binary'
});
//Fetch the name of First Sheet.
var firstSheet = workbook.SheetNames[0];
//Read all rows from First Sheet into an JSON array.
var excelRows = XLSX.utils.sheet_to_row_object_array(workbook.Sheets[firstSheet]);
console.log(excelRows);
//http://localhost:59900/WebService1.asmx
var UserDetailscs = {};
UserDetailscs.id = 1;
UserDetailscs.Name = "2000";
$.ajax({
type: 'POST',
url: 'WebService1.asmx/GetCity',
data: "{marriedList:" + JSON.stringify(excelRows) + "}",
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (r) {
alert("Data inserted succesfully");
},
failure: function (response) {
alert(response.d);
}
});
};
</script>
</body>
</html>
$(“正文”)。在(“单击”,“上传”,函数(){
//引用FileUpload元素。
var fileUpload=$(“#fileUpload”)[0];
//验证文件是否为有效的Excel文件。
var regex=/^([a-zA-Z0-9\s\\\.\-:])+(.xls |.xlsx)$/;
if(regex.test(fileUpload.value.toLowerCase()){
if(typeof(FileReader)!=“未定义”){
var reader=new FileReader();
//对于IE以外的浏览器。
if(reader.readAsBinaryString){
reader.onload=函数(e){
ProcessExcel(如目标、结果);
};
reader.readAsBinaryString(fileUpload.files[0]);
}否则{
//用于IE浏览器。
reader.onload=函数(e){
var数据=”;
var bytes=新的Uint8Array(e.target.result);
对于(var i=0;i