O MS Excel é uma ferramenta poderosa que permite realizar várias operações de manipulação de planilhas. Você pode organizar dados, aplicar cálculos, gerar gráficos, definir sua lógica personalizada usando módulos VBA e assim por diante. Um recurso importante que o MS Excel fornece é a criptografia e descriptografia dos arquivos do Excel. De acordo com isso, este artigo aborda como criptografar/descriptografar e proteger com senha arquivos do Excel em aplicativos Node.js.
- API Node.js para criptografar e descriptografar arquivos do Excel
- Criptografar arquivos do Excel em Node.js
- Descriptografar arquivos do Excel em Node.js
- Obtenha licença de API gratuita
API Node.js para criptografar e descriptografar arquivos do Excel
Para criptografia e descriptografia de arquivos do Excel, usaremos Aspose.Cells for Node.js via Java. É uma API rica em recursos que permite criptografar e descriptografar as pastas de trabalho em algumas linhas de código. Além disso, você pode proteger com senha um arquivo do Excel sem problemas. Você pode baixar a API ou instalá-la usando o seguinte comando npm.
> npm install aspose.cells
Criptografar arquivos XLSX ou XLS do Excel em Node.js
Aspose.Cells para Node.js via Java fornece os seguintes tipos de criptografia para arquivos do Excel 2003.
- XOR
- COMPATÍVEL (compatível com Office 97/2000)
- FORNECEDOR CRIPTOGRÁFICO APRIMORADO V1
- FORTE FORNECEDOR CRIPTOGRÁFICO
Visto que as técnicas de criptografia SHA e AES são usadas para pastas de trabalho 2007/2010. A seguir estão as etapas para criptografar um arquivo do Excel em Node.js.
- Carregue o arquivo Excel usando a classe Workbook.
- Defina a senha usando o método Workbook.getSettings().setPassword(string).
- Criptografe o arquivo do Excel usando o método Workbook.setEncryptionOptions(EncryptionType, int).
- Salve a pasta de trabalho criptografada usando o método Workbook.save(string).
O exemplo de código a seguir mostra como criptografar um arquivo XLSX do Excel em Node.js.
// Abra o arquivo Excel
var workbook = new aspose.cells.Workbook("Excel.xlsx");
// Proteger o arquivo com senha
workbook.getSettings().setPassword("1234");
// Especifique o tipo de criptografia forte (RC4, Microsoft Strong Cryptographic Provider)
workbook.setEncryptionOptions(aspose.cells.EncryptionType.STRONG_CRYPTOGRAPHIC_PROVIDER, 128);
// Salve o arquivo
workbook.save("encrypted.xlsx");
Descriptografar um arquivo do Excel em Node.js
Para descriptografar um arquivo Excel criptografado, você precisará especificar sua senha. A seguir estão as etapas para descriptografar um arquivo do Excel em Node.js.
- Crie uma instância da classe LoadOptions.
- Especifique a senha usando o método LoadOptions.setPassword(string).
- Crie uma instância da classe Workbook e passe o caminho do arquivo e o objeto LoadOptions para seu construtor.
- Defina a senha como nula usando o método Workbook.getSettings().setPassword(string).
- Uma vez feito, salve a pasta de trabalho descriptografada usando o método Workbook.save(string).
O exemplo de código a seguir mostra como descriptografar um arquivo do Excel protegido por senha em Node.js.
// Inicialize as opções de carregamento
var loadOptions = new aspose.cells.LoadOptions(LoadFormat.XLSX);
// Definir senha original
loadOptions.setPassword("1234");
// Instanciar um objeto Workbook com o caminho do arquivo do Excel
var workbook = new aspose.cells.Workbook("encrypted-workbook.xlsx", loadOptions);
// Definir senha como nula
workbook.getSettings().setPassword(null);
// Salve o arquivo
workbook.save("decrypted.xlsx");
Obtenha uma licença de API gratuita
Caso queira experimentar a API sem limitações de avaliação, você pode obter uma licença temporária gratuita.
Conclusão
Neste artigo, você aprendeu como criptografar ou descriptografar arquivos do Excel em aplicativos Node.js. Você pode simplesmente integrar o código fornecido em seus aplicativos Node.js para criptografar/descriptografar arquivos XLSX/XLS. Caso queira explorar mais sobre a API de manipulação de planilhas Node.js, visite a documentação. Além disso, você pode fazer suas perguntas através do nosso fórum.