#excel #office-js #office-addins #excel-addins
#excel #office-js #office-дополнения #excel-дополнения
Вопрос:
Я пытаюсь создать книгу на основе ответа API REST сервера (octet-stream), но мне не удается ее создать.
Вот фрагмент для моей функции создания рабочей книги:
async function createWorkbookFromExisting(myBlob) {
OfficeExtension.config.extendedErrorLogging = true;
const reader = new FileReader();
reader.onload = (event) => {
Excel.run((context) => {
// strip off the metadata before the base64-encoded string
const startIndex = reader.result.toString().indexOf("base64,");
console.log(startIndex);
const mybase64 = reader.result.toString().substr(startIndex 7);
//console.log(mybase64);
Excel.createWorkbook(mybase64);
return context.sync();
});
};
и вот мой фрагмент создания большого двоичного объекта:
xmlHttpRequest.onreadystatechange = function() {
//var a;
if (xmlHttpRequest.readyState === 4 amp;amp; xmlHttpRequest.status === 200) {
console.log(xmlHttpRequest.response);
var respObj = new Object(xmlHttpRequest.response);
//xmlHttpRequest.re
console.log(respObj);
var resp = new Blob([xmlHttpRequest.response], { type: 'application/ vnd.openxmlformats - officedocument.spreadsheetml.sheet;'});
createWorkbookFromExisting(resp);
}
};
xmlHttpRequest.open("GET", _url);
//xmlHttpRequest.setRequestHeader("Content-Type","application/octet-stream");
xmlHttpRequest.responseType = 'blob';
xmlHttpRequest.send();
У меня эта ошибка:
{ «description»: «Аргумент недействителен, отсутствует или имеет неправильный формат»., «message»: «Аргумент недействителен, отсутствует или имеет неправильный формат»., «stack»: «InvalidArgument: Аргумент недопустим, отсутствует или имеет неправильный формат.n в анонимной функции (https://appsforoffice.microsoft.com/lib/1/hosted/excel-win32-16.01.js:26:287669 ) n в o (https://script-lab-runner.azureedge.net/static/js/1.0f9cfae3.chunk.js:1:2779072 )n при анонимной функции (https://script-lab-runner.azureedge.net/static/js/1.0f9cfae3.chunk.js:1:2779219 )n в u (https://script-lab-runner.azureedge.net/static/js/1.0f9cfae3.chunk.js:1:314565 )», «имя»: «RichApi.Ошибка», «code»: «InvalidArgument», «traceMessages»: [], «innerError»: null, «debugInfo»: { «code»: «InvalidArgument», «message»: «Аргумент недействителен, отсутствует или имеет неправильный формат»., «errorLocation»:»Application.createWorkbook», «statement»: «var createWorkbook = application.createWorkbook(…);», «Окружающие состояния»: [ «var workbook = context.workbook;», «var application = workbook.application;», «// >>>>>», » варcreateWorkbook = application.createWorkbook(…);», «// <<<<<«, » createWorkbook.open();» ], «fullStatements»: [ «var workbook = context.workbook;», «var application = workbook.application;», «var createWorkbook =application.createWorkbook(«dW5kZWZpbmVkPSZ1bmRlZmluZWQ9JnVuZGVmaW5lZD0mdW5kZWZpbmVkPSZ1bmRlZmluZWQ9JnVuZGVmaW5lZD0mdW5kZWZpbmVkPSZ1bmRlZmluZWQ9JnVuZGVmaW5lZD0mdW5kZWZpbmVkPSZ1bmRlZmluZWQ9JnVuZGVmaW5lZD0mdW5kZWZpbmVkPSZ1bmRlZmluZWQ9JnVuZGVmaW5lZD0mdW5kZWZpbmVkPSZ1bmRlZmluZWQ9JnVuZGVmaW5lZD0mdW5kZWZpbmVkPSZ1bmRlZm
Комментарии:
1. Могу ли я узнать, как вы запускали этот код? Можете ли вы поделиться примером resp, упомянутым в вашем коде, чтобы помочь repro?
2. Привет @MandytMSFT, я запустил его с помощью scriptlab
3. Возможно ли поделиться своим образцом resp, чтобы сосредоточиться на выявлении причины ошибки API?