Convierta Excel a CSV y CSV a Excel usando C++

Excel es un formato popular para compartir información. Es posible que se encuentre en situaciones en las que tenga datos en un archivo de Excel (XLS o XLSX) que necesite importar a una base de datos. Para ello, deberá convertir el archivo de Excel al formato CSV. Por otro lado, puede tener datos en formato CSV exportados desde una base de datos que necesita manipular más en un archivo de Excel. Para tales casos, deberá convertir el archivo CSV a formato Excel. En este artículo, aprenderá cómo realizar estas dos conversiones mediante programación usando C++.

API de C++ para convertir archivos de Excel a CSV y archivos CSV a formato de Excel

Aspose.Cells for C++ es una biblioteca nativa de C++ que le permite crear, leer y modificar archivos de Excel. Además, la API admite la conversión de archivos de Excel a formato CSV y viceversa. Puede instalar la API a través de NuGet o descargarla directamente desde la sección Descargas.

PM> Install-Package Aspose.Cells.Cpp

Convertir archivos de Excel a formato CSV usando C++

Convertir archivos de Excel a formato CSV es muy sencillo con Aspose.Cells for C++. Los siguientes son los pasos para convertir archivos de Excel a formato CSV usando C++.

El siguiente es el código de muestra para convertir archivos de Excel a formato CSV.

// Ruta del directorio de origen.
StringPtr srcDir = new String("SourceDirectory\\");

// Ruta del directorio de salida.
StringPtr outDir = new String("OutputDirectory\\");

// Cargue el archivo de Excel de entrada
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));

// Guardar archivo CSV de salida
workbook->Save(outDir->StringAppend(new String("Sample1_out.csv")), SaveFormat_CSV);

Convierta hojas de cálculo de Excel en archivos CSV

El ejemplo anterior convierte solo la primera hoja de cálculo si el archivo de Excel contiene varias hojas de cálculo. En caso de que desee convertir varias hojas de trabajo al formato CSV, puede seguir los siguientes pasos.

El siguiente es el código de muestra para convertir hojas de cálculo de Excel en archivos CSV usando C++.

// Ruta del directorio de origen.
StringPtr srcDir = new String("SourceDirectory\\");

// Ruta del directorio de salida.
StringPtr outDir = new String("OutputDirectory\\");

// Cargue el archivo de Excel
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.xlsx")));

// Recupere las hojas de trabajo del Workbook.
intrusive_ptr<IWorksheetCollection> sheets = workbook->GetIWorksheets();

// Cree un objeto generador de cadenas para concatenaciones de cadenas.
intrusive_ptr<Aspose::Cells::Systems::Text::StringBuilder> stringBuilder = new Aspose::Cells::Systems::Text::StringBuilder();

for (int sheet = 0; sheet < sheets->GetCount(); sheet++)
{
	// Recuperar la hoja de trabajo para copiar
	intrusive_ptr<IWorksheet> worksheet = sheets->GetObjectByIndex(sheet);

	// Cree una instancia de la clase IWorkbook para representar el nuevo Workbook
	intrusive_ptr<IWorkbook> newWorkbook = Factory::CreateIWorkbook();

	// Copie la hoja de trabajo previamente recuperada al nuevo Workbook
	newWorkbook->GetIWorksheets()->GetObjectByIndex(0)->Copy(worksheet);

	// Borre el generador de cadenas y cree una ruta de salida con concatenaciones de cadenas.
	stringBuilder->Clear();
	stringBuilder->Append(outDir);
	stringBuilder->Append((StringPtr)new String("Sample1_sheet_"));
	stringBuilder->Append(sheet);
	stringBuilder->Append((StringPtr)new String("_out.csv"));

	// Guardar archivo CSV de salida
	newWorkbook->Save(stringBuilder->ToString(), SaveFormat_CSV);
}

Convertir archivos CSV a formato Excel usando C++

Los siguientes son los pasos para convertir archivos CSV a formato Excel usando C++.

El siguiente es el código de muestra para convertir archivos CSV a formato Excel usando C++.

// Ruta del directorio de origen.
StringPtr srcDir = new String("SourceDirectory\\");

// Ruta del directorio de salida.
StringPtr outDir = new String("OutputDirectory\\");

// Crear objeto CSV LoadOptions
intrusive_ptr<ILoadOptions> loadOptions = Factory::CreateILoadOptions(LoadFormat_CSV);

// Cargue el archivo de Excel de entrada
intrusive_ptr<IWorkbook> workbook = Factory::CreateIWorkbook(srcDir->StringAppend(new String("Sample1.csv")), loadOptions);

// Guardar archivo CSV de salida
workbook->Save(outDir->StringAppend(new String("Sample1_out.xlsx")), SaveFormat_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, aprendió cómo convertir archivos de Excel a formato CSV y archivos CSV a formato Excel (XLS/XLSX) usando C++. Aspose.Cells for C++ es una gran API que proporciona muchas funciones adicionales para trabajar con archivos de Excel. Puede explorar la API en detalle utilizando la documentación oficial. Si tiene alguna pregunta, no dude en comunicarse con nosotros en nuestro foro de soporte gratuito.

Ver también