我正在使用Javascript API for Office在MS Excel中构建一个Web应用程序。我正在添加到应用程序的一项功能是能够从应用程序编辑数据。该数据通过API中的setDataAsync
函数发送到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成为autoformat?
答案 0 :(得分:0)
我在MS论坛上也提出了这个问题,得到了一个答案,我想在这里发帖以防其他人遇到同样的问题。
经过测试和研究,我担心没有方法或 用于Office的JavaScript中的属性,用于自动设置mailto 检查后单元格文本的链接。
我们需要在插入后手动重新格式化单元格 SetDataAsync方法。