Ler arquivo em formulário

Bom dia galera

Estou trabalhando em um fluxo onde os usuários preenchem um formulário e no fim da ultima tarefa pretendo buscar um arquivo xlsx e modificar ele com as informações do formulário. e salvar o novo arquivo como anexo na solicitação.

após o contexto básico minha duvida é a seguinte: podem me dizer uma forma fácil de ter acesso ao blob de um arquivo salvo em →

/ecmnavigation?app_ecm_navigation_doc=0000

Bom dia,

Um arquivo vai ser modificado por vários usuários ou é tipo um template?

Bom dia Daniel

Basicamente sim mas o formulário vai ser preenchido por todas essas pessoas nas primeiras atividades. e na ultima atividade preciso abrir um arquivo xlsx com a lib: GitHub - SheetJS/sheetjs: SheetJS Community Edition -- Spreadsheet Data Toolkit.
e modificar a segunda aba como o que foi preenchido.

Da uma olhada
image



o arquivo .xlsx do excel é apenas um zip com vários arquivos dentro.
Pode te dar uma luz nisso.

Consegui gerar o xlsx usando uma das rotas da api ecm.

${baseUrl}:${porta}/api/public/ecm/document/${item.documentId}/${item.version}

segue exemplo de código abaixo:


function gerarXlsx (){
  parent.ECM.attachmentTable.getData().forEach( function (item) {
    console.log(item);
    fetch(`${baseUrl}:${porta}/api/public/ecm/document/${item.documentId}/${item.version}`).then((response) => {
      console.log(response);
      return response.json();
    }).then((body) => {

      var fileUrl = body.content.fileURL;
      console.log(fileUrl);
      fetch(fileUrl).then((response) => {

        return response.arrayBuffer();
      }).then( (blob) => {
        console.log(blob);
        var workbook = XLSX.read(new Uint8Array(blob), {
          type: 'array'
        });
          
        var sheetNames = workbook.SheetNames;
        var wsMatriz = workbook.Sheets["MATRIZ"];
        var row1 = ["a","b","c" ... ]
        XLSX.utils.sheet_add_aoa(wsMatriz, [ row1], {origin: "E12"});
       
        XLSX.writeFile(workbook, "Teste Inicial.xlsx");
      })

    })
  });
}

se alguém souber uma forma melhor para lidar com essa edição de arquivo. em um dataset ou algo assim. por favor sinta-se avontade em compartilhar aqui. sei que fazer isso no client-side não foi a melhor das ideias então adoraria uma sugestão melhor.