如何使用Office.js获取单元格的格式

我正在开发一个Excel加载项提取单元格A1的文本,包括其格式,并显示在自己的区域中的文本。 因此,join包含这个(见下面的截图):•显示格式化文本的区域•开始提取的button请点击查看图像

波纹pipe是我用来获取文本的代码

function displaySelectedCells() { Office.context.document.getSelectedDataAsync(Office.CoercionType.Text, function (result) { if (result.status === Office.AsyncResultStatus.Succeeded) { showNotification('The selected text is:', '"' + result.value + '"'); } else { showNotification('Error', result.error.message); } }); } 

上面的代码使用“强制types”作为“文本”。 我已经尝试了很多,find解决scheme来获取格式化书面单元格中的文本。 我得到的回应是平面文本:(请帮我解决问题

添加到Michael Saunder的答案:虽然你可以使用myRange.format.font.load(['bold','color','italic','name','size','underline']) ,这将只会得到你的字体,粗体,斜体等, 如果格式是一致的在单元格内,并在myRange对象所代表的整个范围内 。 由于你只是在寻找一个单元格的格式,听起来不像后者适用于你(它只是一个单元格),但是你所显示的示例图像在单元格中显示了不同的单词,具有不同的粗体,斜体,颜色, 等等。 使用当前的API,您将无法获得这些信息。

这听起来像你要问的是一些HTML或图像的单元格表示。 我鼓励你把这个文件作为我们的UserVoice( https://officespdev.uservoice.com/ )上的一个build议,同时描述你真正需要的用例。

Michael Zlatkovsky,MSFT公司Office Extensibility团队的开发人员

您应该查看的对象称为RangeFont ,它以Range.format.font的forms访问。 码:

 Excel.run(function (ctx) { var myRange = ctx.workbook.getSelectedRange(); var myFont = myRange.format.font; myFont.load(['bold','color','italic','name','size','underline']); myRange.load('values'); return ctx.sync().then(function() { log(myFont.color); log(myFont.bold); log(myRange.values); }); }).catch(function(error) { log("Error: " + error); });