Microsoft Excel es un software popular para administrar datos en organizaciones. Se debe principalmente a sus funciones avanzadas de manipulación y representación de datos. En esta era tecnológica, los documentos se comparten virtualmente en lugar de copias impresas. Estos archivos pueden contener datos complejos y confidenciales. Por lo tanto, para mantener la integridad de dichos archivos, es posible que deba protegerlos contra modificaciones. Las funciones de protección de Excel son útiles para este propósito. En este artículo, aprenderá cómo proteger y desproteger archivos de Excel mediante programación usando C++.
- API de C++ para proteger y desproteger archivos de Excel
- Proteger archivos de Excel usando C++
- Desproteger el libro de Excel usando C++
- Proteja la hoja de cálculo de Excel usando C++
- Desproteger la hoja de cálculo de Excel usando C++
- Obtenga una licencia gratis
API de C++ para proteger y desproteger archivos de Excel - Descarga gratuita
Aspose.Cells for C++ es una biblioteca nativa de C++ que le permite manipular archivos de Excel sin necesidad de instalar Microsoft Excel. Por lo tanto, se utiliza para automatizar muchos flujos de trabajo de Excel. La API proporciona un montón de funciones útiles, incluida la protección y desprotección de archivos de Excel. Puede instalar la API a través de NuGet o descargarla directamente desde la sección Descargas.
PM> Install-Package Aspose.Cells.Cpp
Proteger archivos de Excel usando C++
Aspose.Cells for C++ proporciona los siguientes tipos de protección para proteger archivos de Excel.
- Todo: protege todos los datos para que el usuario no pueda modificar nada.
- Contenido: protege el contenido de la hoja de trabajo.
- Objetos: Proteja los objetos en la hoja de trabajo para que el usuario no pueda modificar los objetos de dibujo.
- Escenarios: protege los escenarios en la hoja de trabajo.
- Estructura: protege la estructura del Workbook.
- Windows: Proteja las ventanas guardadas de la modificación.
- Ninguno: No se aplica protección.
Los siguientes son los pasos para proteger archivos de Excel usando C++.
- Cargue el archivo de Excel usando la clase IWorkbook.
- Proteja el archivo con IWorkbook->Protect(Aspose::Cells::ProtectionType protectionType, intrusive\ptrAspose::Cells::Systems::String contraseña) método.
- Guarde el archivo de Excel protegido con IWorkbook->Save(intrusive\ptrAspose::Cells::Systems::String nombre de archivo) método.
El siguiente ejemplo de código muestra cómo proteger archivos de Excel usando C++.
// Ruta del directorio de origen.
StringPtr srcDir = new String("SourceDirectory\\");
// Ruta del directorio de salida.
StringPtr outDir = new String("OutputDirectory\\");
// Cargar archivo de Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleExcelFile.xlsx")));
// Proteger el Workbook especificando el tipo de protección
workbook->Protect(ProtectionType::ProtectionType_All, new String("12345"));
// Guarde el archivo de Excel
workbook->Save(outDir->StringAppend(new String("sampleExcelFile_protected_out.xlsx")));
Desproteger el libro de Excel usando C++
Los siguientes son los pasos para desproteger un archivo de Excel.
- Cargue el archivo de Excel usando la clase IWorkbook.
- Desproteja el archivo con IWorkbook->Unprotect(intrusive\ptrAspose::Cells::Systems::String contraseña) método.
- Establezca la contraseña en NULL usando IWorkbook->GetISettings()->SetPassword(intrusive\ptrAspose::Cells::Systems::String valor) método.
- Guarde el archivo de Excel desprotegido con IWorkbook->Save(intrusive\ptrAspose::Cells::Systems::String nombre de archivo) método.
El siguiente ejemplo de código muestra cómo desproteger archivos de Excel.
// Ruta del directorio de origen.
StringPtr srcDir = new String("SourceDirectory\\");
// Ruta del directorio de salida.
StringPtr outDir = new String("OutputDirectory\\");
// Cargar archivo de Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleExcelFileProtected.xlsx")));
// Desproteger Workbook
workbook->Unprotect(new String("12345"));
// Establecer contraseña en nulo
workbook->GetISettings()->SetPassword(NULL);
// Guarde el archivo de Excel
workbook->Save(outDir->StringAppend(new String("sampleExcelFileUnprotected_out.xlsx")));
Proteja la hoja de cálculo de Excel usando C++
Además de proteger archivos de Excel, también puede proteger hojas de trabajo individuales. Utilice los siguientes pasos para salvaguardar las hojas de cálculo de Excel.
- En primer lugar, cargue el archivo de Excel utilizando la clase IWorkbook.
- Obtenga la hoja de trabajo que desea proteger de la colección de hojas de trabajo mediante el método IWorkbook->GetIWorksheets()->GetObjectByIndex( Aspose::Cells::Systems::Int32 index).
- Obtenga la protección de la hoja de trabajo usando el método IWorksheet->GetIProtection().
- Configure las opciones de protección como SetAllowEditingContent (valor bool).
- Establezca la contraseña usando IProtection->SetPassword (intrusivo\ptrAspose::Cells::Systems::String valor) método.
- Finalmente, guarde el archivo de Excel con la hoja de trabajo protegida usando IWorkbook->Save(intrusive\ptrAspose::Cells::Systems::String nombre de archivo) método.
El siguiente ejemplo de código muestra cómo proteger la hoja de cálculo de Excel.
// Ruta del directorio de origen.
StringPtr srcDir = new String("SourceDirectory\\");
// Ruta del directorio de salida.
StringPtr outDir = new String("OutputDirectory\\");
// Cargar archivo de Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleExcelFile.xlsx")));
// Acceso a la primera hoja de trabajo en el archivo de Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Acceder a la protección de la hoja de trabajo
intrusive_ptr<IProtection> protection = worksheet->GetIProtection();
// Los siguientes 3 métodos son solo para Excel 2000 y formatos anteriores
protection->SetAllowEditingContent(false);
protection->SetAllowEditingObject(false);
protection->SetAllowEditingScenario(false);
// Proteja la primera hoja de trabajo con una contraseña "12345"
protection->SetPassword(new String("12345"));
// Guarde el archivo de Excel
workbook->Save(outDir->StringAppend(new String("sampleExcelFile_protectedWorksheet_out.xlsx")));
Desproteger la hoja de cálculo de Excel usando C++
Los siguientes son los pasos para desproteger las hojas de cálculo de Excel.
- Cargue el archivo de Excel usando la clase IWorkbook.
- Acceda a la hoja de trabajo protegida usando el método IWorkbook->GetIWorksheets()->GetObjectByIndex( Aspose::Cells::Systems::Int32 index).
- Desproteja la hoja de trabajo usando IWorksheet->Unprotect(intrusive\ptrAspose::Cells::Systems::String contraseña) método.
- Por último, guarde el archivo de Excel con la hoja de trabajo desprotegida usando IWorkbook->Save(intrusive\ptrAspose::Cells::Systems::String nombre de archivo) método.
El siguiente ejemplo de código muestra cómo desproteger la hoja de cálculo de Excel usando C++.
// Ruta del directorio de origen.
StringPtr srcDir = new String("SourceDirectory\\");
// Ruta del directorio de salida.
StringPtr outDir = new String("OutputDirectory\\");
// Cargar archivo de Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("sampleExcelFileProtectedWorksheet.xlsx")));
// Acceso a la primera hoja de trabajo en el archivo de Excel
intrusive_ptr<IWorksheet> worksheet = workbook->GetIWorksheets()->GetObjectByIndex(0);
// Desproteger hoja de trabajo
worksheet->Unprotect(new String("12345"));
// Guarde el archivo de Excel
workbook->Save(outDir->StringAppend(new String("sampleExcelFileUnprotectedWorksheet_out.xlsx")));
Obtenga una licencia gratis
Puede probar la API sin limitaciones de evaluación solicitando una licencia temporal gratuita.
Conclusión
En este artículo, ha aprendido cómo proteger y desproteger archivos de Excel usando C++. Además de eso, también aprendió cómo proteger las hojas de trabajo contra modificaciones. Aspose.Cells for C++ es una amplia API de manipulación de Excel para automatizar tareas como reemplazar texto en celdas o procesar datos complejos representados en gráficos y tablas. Puede explorar la API en detalle utilizando la documentación oficial.