Proteger y desproteger archivos de Excel

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 - 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++.

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.

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.

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.

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.

Ver también