问题描述
因此,我现在正在使用excel加载项,并且我具有强制保存文档并将其上传到存储的功能。第一次按下该按钮时它可以工作,但是随后会打开一个新的具有随机数的excel窗口,例如“ F7E57000”,并且它不是强制保存而是提示您保存到磁盘中的某个位置。如果我按保存,则消失了带有打开的加载项的原始窗口,如果按取消,则Excel崩溃。
这是附加功能的代码
$(".uploadBack").click(function (e) {
Excel.run(function (context) {
context.workbook.save(Excel.SaveBehavior.save);
return context.sync().then(() => {
return Office.context.document.getFilePropertiesAsync(function (asyncResult) {
return new OfficeExtension.Promise(function (resolve,reject) {
var fileUrl = asyncResult.value.url;
$.ajax({
url: "/uploadPlantaBack",data: {
filePath: fileUrl,id: e.currentTarget.dataset.escenarioid,descripcion: $("#Descripcion").val(),comentario: $("#Comentario").val()
},type: "POST",success: function (response) {
Swal.fire({
position: 'center',type: 'success',title: 'La configuracion se subio con exito',showConfirmButton: false,timer: 1500
})
resolve();
},error: function (error) {
Swal.fire({
position: 'center',type: 'error',title: error,showConfirmButton: true
})
reject();
}
});
})
});
});
});
});
更新:在发生此问题之前,我使用beta office.js中的addfrombase64函数在该函数中加载了文档。这是它在存储中接收带有excel文件的url的代码,然后将整个文件解析为base 64
$(".excelReplica").click(function (e) {
$.ajax({
url: '/toBase64',data: { url: e.currentTarget.dataset.url },success: function (base64String) {
Excel.run(function (context) {
return new OfficeExtension.Promise(function (resolve,reject) {
var sheets = context.workbook.worksheets;
sheets.load("items/name");
context.sync().then(() => {
var countSheets = sheets.items.length;
sheets.addFromBase64(
base64String,null,// get all the worksheets
Excel.WorksheetPositionType.after,// insert them after the worksheet specified by the next parameter
sheets.getActiveWorksheet() // insert them after the active worksheet
);
sheets.load("items/name");
context.sync().then(() => {
var firstSheet = sheets.items[countSheets];
firstSheet.activate();
firstSheet.load(firstSheet.name);
for (var i = countSheets - 1; i >= 0; i--) {
sheets.items[i].delete();
}
context.sync().then(() => {
window.location = '/Escenarios/Details/' + e.currentTarget.dataset.id;
});
});
});
resolve();
});
});
},error: function (a) {
}
});
});
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)