gpt4 book ai didi

javascript - Office 365 - 创建 *.docx | *.pptx | *.xlsx 文件

转载 作者:行者123 更新时间:2023-12-03 06:58:42 25 4
gpt4 key购买 nike

我正在开发一个 Web 项目,该项目使用 OneDrive API 进行文件管理。我想创建 *.docx | *.pptx | *.xlsx 文件,但不幸的是,没有一个 OneDrive API 支持创建空/新文件。我尝试的是将一个空/新文件从我的服务器上传到 OneDrive。虽然上传工作正常,但该文件无法在 Office Online 或本地 Office 中打开。

来自this blog ,我能够生成 Word 文件并上传。

function createNewDoc(name) {
var htmlString = "<html><body></body></html>";
var byteNumbers = new Uint8Array(htmlString.length);

for (var i = 0; i < htmlString.length; i++) {
byteNumbers[i] = htmlString.charCodeAt(i);
}
var blob = new Blob([byteNumbers], {type: "text/html"});
socialAPI.uploadFile('windows', blob, 'name', 'folder.87ash7ashb7a2').then(function (resp) {
console.log("response for uploading file", resp);
})
}

此文件适用于 Word。但是,该方法不适用于 Excel 和 Powerpoint。

最终,我无法使用 OneDrive API 执行任何操作。我开始查看 Office 365 API 是否有任何允许创建上述文件的东西,但我找不到类似的东西。 (P.S:我正在研究 REST API)

我注意到的另一件事是 Box 能够执行相同的操作并在窗口中打开它,但 url 的格式为 https://app.box.com/services/box_for_office_online 。 Box 是否与 Microsoft 有某种特殊合作来提供此类服务?

最佳答案

“空”Office 文件并不是真正的 0 字节文件。桌面 Office 应用程序(Excel 除外)能够获取 0 字节文件并将其变成 Office 文档(插入使文件成为 Office 文件的"template")。在线 Office 应用程序目前不支持这样做。

由于当前没有 API 可以创建特定类型的新文件,因此您需要解决这个问题。为此,您需要存储并上传 Word、Excel 和 PowerPoint 的"template"文件。您提供的示例是在 Word 中执行此操作的一种方法,您在其中创建了一个空 HTML 页面并将其上传。

对于 Excel 和 PowerPoint,您需要执行类似的操作,方法是创建一个空文件,并在您的应用想要创建新的空文件时将其上传为"new"文件。但是,您无法将简单的 HTML 字符串存储为模板文件内容,而是需要新文件的实际二进制内容,该内容最多可达 30kb,具体取决于类型。

我们正在努力改进网络应用程序,以便它们可以获取 0 字节文件并将其“转换”为新文档,但这仍然是一个错误。

关于javascript - Office 365 - 创建 *.docx | *.pptx | *.xlsx 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37153916/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com