O Microsoft Excel é um software popular para gerenciamento de dados nas organizações. Isso se deve principalmente aos seus recursos avançados de manipulação e representação de dados. Nesta era tecnológica, os documentos são compartilhados virtualmente em vez de cópias impressas. Esses arquivos podem conter dados complexos e confidenciais. Portanto, para manter a integridade desses arquivos, talvez seja necessário protegê-los contra modificações. Os recursos de proteção do Excel são úteis para essa finalidade. Neste artigo, você aprenderá como proteger e desproteger arquivos do Excel programaticamente usando C++.
- API C++ para proteger e desproteger arquivos do Excel
- Proteja arquivos do Excel usando C++
- Desproteger a pasta de trabalho do Excel usando C++
- Proteja a planilha do Excel usando C++
- Desproteger planilha do Excel usando C++
- Obtenha uma licença gratuita
API C++ para proteger e desproteger arquivos do Excel - Download grátis
Aspose.Cells for C++ é uma biblioteca nativa de C++ que permite manipular arquivos do Excel sem exigir a instalação do Microsoft Excel. Portanto, ele é usado para automatizar muitos fluxos de trabalho do Excel. A API fornece vários recursos úteis, incluindo proteger e desproteger arquivos do Excel. Você pode instalar a API por meio do NuGet ou baixá-la diretamente da seção Downloads.
PM> Install-Package Aspose.Cells.Cpp
Proteja arquivos do Excel usando C++
Aspose.Cells para C++ fornece os seguintes tipos de proteção para proteger arquivos do Excel.
- Todos: Proteja todos os dados para que o usuário não possa modificar nada.
- Conteúdo: Proteja o conteúdo da planilha.
- Objetos: Proteja os objetos na planilha para que o usuário não possa modificar objetos de desenho.
- Cenários: Proteja os cenários na planilha.
- Estrutura: Proteja a estrutura da pasta de trabalho.
- Windows: Proteja as janelas salvas contra modificações.
- Nenhum: Nenhuma proteção aplicada.
A seguir estão as etapas para proteger arquivos do Excel usando C++.
- Carregue o arquivo Excel usando a classe IWorkbook.
- Proteja o arquivo com IWorkbook->Protect(Aspose::Cells::ProtectionType protectionType, intrusiveptrAspose::Cells::Systems::String senha).
- Salve o arquivo Excel protegido com o IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String fileName) método.
O exemplo de código a seguir mostra como proteger arquivos do Excel usando C++.
// Caminho do diretório de origem.
StringPtr srcDir = new String("SourceDirectory\\");
// Caminho do diretório de saída.
StringPtr outDir = new String("OutputDirectory\\");
// Carregar arquivo Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleExcelFile.xlsx")));
// Proteja a pasta de trabalho especificando o tipo de proteção
workbook->Protect(ProtectionType::ProtectionType_All, new String("12345"));
// Salve o arquivo Excel
workbook->Save(outDir->StringAppend(new String("sampleExcelFile_protected_out.xlsx")));
Desproteger a pasta de trabalho do Excel usando C++
A seguir estão as etapas para desproteger um arquivo do Excel.
- Carregue o arquivo Excel usando a classe IWorkbook.
- Desproteja o arquivo com o IWorkbook->Unprotect(intrusiveptrAspose::Cells::Systems::String senha) método.
- Defina a senha como NULL usando IWorkbook->GetISettings()->SetPassword(intrusiveptrAspose::Cells::Systems::String valor) método.
- Salve o arquivo Excel desprotegido com o IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String fileName) método.
O exemplo de código a seguir mostra como desproteger arquivos do Excel.
// Caminho do diretório de origem.
StringPtr srcDir = new String("SourceDirectory\\");
// Caminho do diretório de saída.
StringPtr outDir = new String("OutputDirectory\\");
// Carregar arquivo Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleExcelFileProtected.xlsx")));
// Desproteger pasta de trabalho
workbook->Unprotect(new String("12345"));
// Definir senha como nula
workbook->GetISettings()->SetPassword(NULL);
// Salve o arquivo Excel
workbook->Save(outDir->StringAppend(new String("sampleExcelFileUnprotected_out.xlsx")));
Proteja a planilha do Excel usando C++
Além de proteger os arquivos do Excel, você também pode proteger planilhas individuais. Use as etapas a seguir para proteger planilhas do Excel.
- Primeiramente, carregue o arquivo Excel usando a classe IWorkbook.
- Obtenha a planilha que você deseja proteger da coleção de planilhas usando o método IWorkbook->GetIWorksheets()->GetObjectByIndex( Aspose::Cells::Systems::Int32 index).
- Obtenha a proteção da planilha usando o método IWorksheet->GetIProtection().
- Defina as opções de proteção como SetAllowEditingContent (valor bool).
- Defina a senha usando o IProtection->SetPassword (intrusiveptrAspose::Cells::Systems::String valor) método.
- Finalmente, salve o arquivo Excel com a planilha protegida usando IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String fileName) método.
O exemplo de código a seguir mostra como proteger a planilha do Excel.
// Caminho do diretório de origem.
StringPtr srcDir = new String("SourceDirectory\\");
// Caminho do diretório de saída.
StringPtr outDir = new String("OutputDirectory\\");
// Carregar arquivo Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleExcelFile.xlsx")));
// Acessando a primeira planilha no arquivo Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Acesse a proteção da planilha
intrusive_ptr<IProtection> protection = worksheet->GetIProtection();
// Os 3 métodos a seguir são apenas para formatos Excel 2000 e anteriores
protection->SetAllowEditingContent(false);
protection->SetAllowEditingObject(false);
protection->SetAllowEditingScenario(false);
// Proteja a primeira planilha com uma senha "12345"
protection->SetPassword(new String("12345"));
// Salve o arquivo Excel
workbook->Save(outDir->StringAppend(new String("sampleExcelFile_protectedWorksheet_out.xlsx")));
Desproteger planilha do Excel usando C++
A seguir estão as etapas para desproteger planilhas do Excel.
- Carregue o arquivo Excel usando a classe IWorkbook.
- Acesse a planilha protegida usando o método IWorkbook->GetIWorksheets()->GetObjectByIndex( Aspose::Cells::Systems::Int32 index).
- Desproteja a planilha usando o IWorksheet->Unprotect(intrusiveptrAspose::Cells::Systems::String senha) método.
- Por último, salve o arquivo Excel com a planilha desprotegida usando IWorkbook->Save(intrusiveptrAspose::Cells::Systems::String fileName) método.
O exemplo de código a seguir mostra como desproteger a planilha do Excel usando C++.
// Caminho do diretório de origem.
StringPtr srcDir = new String("SourceDirectory\\");
// Caminho do diretório de saída.
StringPtr outDir = new String("OutputDirectory\\");
// Carregar arquivo Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleExcelFileProtectedWorksheet.xlsx")));
// Acessando a primeira planilha no arquivo Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Desproteger planilha
worksheet->Unprotect(new String("12345"));
// Salve o arquivo Excel
workbook->Save(outDir->StringAppend(new String("sampleExcelFileUnprotectedWorksheet_out.xlsx")));
Obtenha uma licença gratuita
Você pode experimentar a API sem limitações de avaliação solicitando uma licença temporária gratuita.
Conclusão
Neste artigo, você aprendeu como proteger e desproteger arquivos do Excel usando C++. Além disso, você também aprendeu a proteger planilhas contra modificações. Aspose.Cells for C++ é uma vasta API de manipulação do Excel para automatizar tarefas como substituir texto em células ou processar dados complexos representados em gráficos e tabelas. Você pode explorar a API em detalhes usando a documentação oficial.