我正在开发一个 Excel 加载项,它提取单元格 A1 的文本(包括其格式)并在其自己的区域中显示文本。所以添加包含这个(见下面的截图): • 显示格式化文本的区域 • 开始提取的按钮 Please Click to view image
下面是我用来获取文本的代码
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);
}
});
}
以上代码使用“CoercionType”作为“Text”。我已经尝试了很多方法来找到将文本格式化为工作表单元格的解决方案。我得到的响应只是平面文本:(请帮我解决这个问题
最佳答案
添加到 Michael Saunder 的回答中:虽然您可以使用 myRange.format.font.load(['bold','color','italic','name','size','underline'] )
,这只会为您提供字体、粗体、斜体等。如果格式在单元格内和在 myRange 对象表示的整个范围内保持一致。由于您只是在寻找单个单元格的格式,因此听起来后者并不适用于您(它只是一个单元格),但是您拥有的示例图像显示单元格内的不同单词具有不同的粗体、斜体、颜色, 等等。使用当前的 API,您无法获得此信息。
听起来您要问的是单元格的某种 HTML 或类似图像的表示形式。我鼓励您将此作为对我们 UserVoice ( https://officespdev.uservoice.com/ ) 的建议,并附上您需要此功能的真实用例描述。
~ Michael Zlatkovsky,Office Extensibility 团队开发人员,MSFT
关于javascript - 如何使用 Office.js 获取单元格的格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37571636/