Guardé datos en el libro de trabajo en el siguiente código
export const storeSettingsToWorkbook = async (settingsType: Settings, storeData: WorkbookModel) => { return Excel.run(async (context) => { const originalXml = createXmlObject(storeData); const customXmlPart = context.workbook.customXmlParts.add(originalXml); customXmlPart.load("id"); await context.sync(); // Store the XML part's ID in a setting const settings = context.workbook.settings; settings.add(settingsTitles[settingsType], customXmlPart.id); await context.sync(); }) }cuando obtengo datos, funciona normalmente. Pero cuando quiero obtener estos datos de otro "complemento" en Excel, no puedo obtener estos datos
const {settings} = context.workbook; const sheet = context.workbook.worksheets.getActiveWorksheet().load("items"); const xmlPartIDSetting = settings.getItemOrNullObject(settingsTitles[settingsType]).load("value"); await context.sync(); if (xmlPartIDSetting.value) { const customXmlPart = context.workbook.customXmlParts.getItem(xmlPartIDSetting.value); const xmlBlob = customXmlPart.getXml(); await context.sync() const parsedObject = parseFromXmlString(xmlBlob.value); const normalizedData = normalizeParsedData(parsedObject);¿Algunas ideas?
Gracias por contactarnos. Esto es por diseño. Cada complemento tiene su propia configuración y no puede compartirse entre sí. Puede usar 'context.workbook.properties.custom' como solución alternativa. También puede usar 'context.workbook.worksheets.getActiveWorksheet().customProperties', pero se requiere que los dos complementos estén en la misma hoja de trabajo.