1
resposta

[Dúvida] Carregar planilha para obter os dados

Olá, bom dia!

Eu gostaria de saber, se é possível carregar uma planilha sem precisar copiar as colunas e dados para o código,

e após carregar a planilha, fazer o procedimento de transformar em JSON, para poder ter os dados organizados e gerar meus relatórios sem precisar ficar digitando as colunas e dados que já estão na planilha.

Desde já agradeço.

1 resposta

Oii, Dev! Tudo bem?

Agradeço por aguardar o nosso retorno.

Sim, é possível carregar uma planilha para obter os dados e transformá-los em JSON. Existem diversas bibliotecas em JavaScript que permitem isso, você pode usar a biblioteca SheetJS para ler planilhas em vários formatos, incluindo XLSX, CSV e ODS.

Aqui está um exemplo simples de como carregar uma planilha e convertê-la em JSON usando a biblioteca SheetJS:

// importar a biblioteca SheetJS
const XLSX = require('xlsx');

// ler a planilha
const workbook = XLSX.readFile('caminho/para/arquivo.xlsx');
const worksheet = workbook.Sheets['Nome da Planilha'];

// converter a planilha para JSON
const json_data = XLSX.utils.sheet_to_json(worksheet);

// exibir o JSON resultante
console.log(json_data);

Neste exemplo, primeiro importamos a biblioteca SheetJS usando require. Em seguida, usamos a função readFile do SheetJS para ler a planilha a partir do caminho do arquivo especificado. Depois, obtemos a planilha que desejamos ler usando a propriedade Sheets do objeto de livro de trabalho retornado pela função readFile.

Para converter a planilha em JSON, usamos a função sheet_to_json do SheetJS, que converte a planilha em uma matriz de objetos JavaScript. Finalmente, exibimos o JSON resultante no console usando console.log.

Esse é um exemplo simples, mas a biblioteca SheetJS oferece muitas opções e recursos avançados para lidar com planilhas. Consulte a documentação oficial para saber mais:

Espero ter ajudado, qualquer dúvida, estarei à disposição.

Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!