如何在 excel 中唯一标识工作簿
How to uniquely identify a work book in excel
我们有一个 excel 插件,具有基于用户角色的功能。我们有一个想法,即创建一个示例工作簿,其中包含用于演示目的的所有功能访问权限。 excel 中的工作簿是否有任何唯一标识符?如果存在,我们如何使用 officejs 访问它们。我们对 officejs 文档进行了研究,发现工作簿中的工作表具有唯一标识符。缺点是删除工作表创建新工作表时会重复使用这些id。
是的,您可以使用 office.document.url
属性 来识别工作簿 URL。
此外,您还可以在工作表级别set/get自定义属性:
Excel.run(function (context) {
// Add the custom property.
var customWorksheetProperties = context.workbook.worksheets.getActiveWorksheet().customProperties;
customWorksheetProperties.add("WorksheetGroup", "Alpha");
return context.sync();
}).catch(errorHandlerFunction);
[...]
Excel.run(function (context) {
// Load the keys and values of all custom properties in the current worksheet.
var worksheet = context.workbook.worksheets.getActiveWorksheet();
worksheet.load("name");
var customWorksheetProperties = worksheet.customProperties;
var customWorksheetProperty = customWorksheetProperties.getItem("WorksheetGroup");
customWorksheetProperty.load(["key", "value"]);
return context.sync().then(function() {
// Log the WorksheetGroup custom property to the console.
console.log(worksheet.name + ": " + customWorksheetProperty.key); // "WorksheetGroup"
console.log(" Custom value : " + customWorksheetProperty.value); // "Alpha"
});
}).catch(errorHandlerFunction);
https://docs.microsoft.com/en-us/javascript/api/office/office.document?view=excel-js-1.12
请尝试使用以下 Officejs API 将 UDID 与工作簿一起保存。这将保留在工作簿中。
Office.context.document.settings.set("Worksheet_ID", 'your_unique_identifier''); Office.context.document.settings.saveAsync();
我们有一个 excel 插件,具有基于用户角色的功能。我们有一个想法,即创建一个示例工作簿,其中包含用于演示目的的所有功能访问权限。 excel 中的工作簿是否有任何唯一标识符?如果存在,我们如何使用 officejs 访问它们。我们对 officejs 文档进行了研究,发现工作簿中的工作表具有唯一标识符。缺点是删除工作表创建新工作表时会重复使用这些id。
是的,您可以使用 office.document.url
属性 来识别工作簿 URL。
此外,您还可以在工作表级别set/get自定义属性:
Excel.run(function (context) {
// Add the custom property.
var customWorksheetProperties = context.workbook.worksheets.getActiveWorksheet().customProperties;
customWorksheetProperties.add("WorksheetGroup", "Alpha");
return context.sync();
}).catch(errorHandlerFunction);
[...]
Excel.run(function (context) {
// Load the keys and values of all custom properties in the current worksheet.
var worksheet = context.workbook.worksheets.getActiveWorksheet();
worksheet.load("name");
var customWorksheetProperties = worksheet.customProperties;
var customWorksheetProperty = customWorksheetProperties.getItem("WorksheetGroup");
customWorksheetProperty.load(["key", "value"]);
return context.sync().then(function() {
// Log the WorksheetGroup custom property to the console.
console.log(worksheet.name + ": " + customWorksheetProperty.key); // "WorksheetGroup"
console.log(" Custom value : " + customWorksheetProperty.value); // "Alpha"
});
}).catch(errorHandlerFunction);
https://docs.microsoft.com/en-us/javascript/api/office/office.document?view=excel-js-1.12
请尝试使用以下 Officejs API 将 UDID 与工作簿一起保存。这将保留在工作簿中。
Office.context.document.settings.set("Worksheet_ID", 'your_unique_identifier''); Office.context.document.settings.saveAsync();