背景:
我正在使用 Javascript API for Office 在 MS Excel 中构建一个 Web 应用程序。我要添加到应用程序的一项功能是能够从应用程序编辑数据。setDataAsync
该数据通过API 中的函数发送到 Excel 文档。它适用于纯文本。
我在电子邮件地址方面遇到了一个奇怪的问题。当我在单元格中手动输入电子邮件地址时,Excel 会自动将其格式化为mailto:
超链接。当我使用 Javascript 设置数据时,这不会发生。我需要找到一种方法来强制 Excel 对其进行自动套用格式。
我的另一个想法是自己将数据预先格式化为链接,使用:
=HYPERLINK("mailto:person@website.com","person@website.com")
但是,当有人手动查看单元格时,他们会看到那个长公式,而不仅仅是地址。将它读回网络应用程序将是一场噩梦。
当前代码:
function writeData(bindingID,newData,row,col) {
var newTable = new Office.TableData();
newTable.rows = [[newData]];
Office.select("bindings#"+bindingID).setDataAsync(newTable, {coercionType: "table", startRow: row, startColumn: col}, function (asyncResult) {
if (asyncResult.status == "failed") {
display('Error: ' + asyncResult.error.message);
}
});
}
问题:
是否可以使 Excel 自动格式化?