Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
DBF (DataBase File) es un formato de archivo de base de datos legacy introducido originalmente por dBASE a principios de la década de 1980. A pesar de la antigüedad del formato, los archivos DBF todavía se utilizan ampliamente en muchas industrias para almacenar datos estructurados, particularmente en contabilidad, SIG y otras aplicaciones especializadas. Aspose.Cells le permite integrar estos archivos legacy en flujos de trabajo modernos de hojas de cálculo en C++ de forma transparente.
La biblioteca admite tanto la lectura como la escritura de archivos DBF, lo que le permite:
Los archivos DBF también se pueden abrir directamente en Microsoft Excel y otras aplicaciones de hojas de cálculo, lo que los convierte en un puente conveniente entre sistemas legacy y herramientas modernas de hojas de cálculo.
Aspose.Cells admite las siguientes versiones del formato DBF:
La biblioteca proporciona soporte integral para las siguientes operaciones:
Cuando trabaje con archivos DBF, tenga en cuenta las siguientes restricciones:
YYYYMMDD.Aspose.Cells hace que sea sencillo cargar datos desde un archivo DBF en un objeto Workbook. La biblioteca utiliza la clase LoadOptions para especificar el formato de origen, asegurando que los datos se interpreten correctamente durante el proceso de carga.
Para leer un archivo DBF, necesita crear una instancia de LoadOptions, establecer su propiedad LoadFormat en LoadFormat.Dbf, y pasarla al constructor Workbook junto con la ruta del archivo. Una vez cargado, los datos se vuelven accesibles a través de la colección Worksheets, donde puede iterar a través de las celdas, extraer valores o manipular los datos según sea necesario.
El siguiente ejemplo demuestra cómo cargar un archivo DBF existente en Aspose.Cells, acceder a su primera hoja de cálculo y leer los valores de las celdas.
#include "Aspose.Cells.h"
#include <string>
#include <iostream>
using namespace Aspose::Cells;
int main() {
Aspose::Cells::Startup();
std::string dataDir = "Data/";
std::string filePath = dataDir + "example.dbf";
LoadOptions loadOptions(LoadFormat::Dbf);
Workbook workbook(U16String(filePath.c_str()), loadOptions);
Worksheet worksheet = workbook.GetWorksheets().Get(0);
Cells cells = worksheet.GetCells();
std::string sb = "";
int maxRow = cells.GetMaxDataRow();
int maxCol = cells.GetMaxDataColumn();
for (int i = 0; i <= maxRow; i++) {
for (int j = 0; j <= maxCol; j++) {
Cell cell = cells.Get(i, j);
U16String value = cell.GetStringValue();
sb += "|";
sb += value.ToUtf8();
}
sb += "|";
sb += "\n";
}
std::cout << sb << std::endl;
std::string outputPath = dataDir + "output.xlsx";
workbook.Save(U16String(outputPath.c_str()), SaveFormat::Xlsx);
std::cout << "DBF file loaded successfully. Converted XLSX saved at: " << outputPath << std::endl;
Aspose::Cells::Cleanup();
return 0;
}
Escribir datos en un archivo DBF sigue un patrón similar al de guardar cualquier otro formato de hoja de cálculo con Aspose.Cells. Crea o carga un Workbook, rellena la hoja de cálculo con datos y luego llama al método Save especificando SaveFormat.Dbf como formato de destino.
Para crear un archivo DBF, siga estos pasos:
Workbook.Worksheets.Workbook.Save, pasando la ruta del archivo y SaveFormat.Dbf como parámetros.El siguiente ejemplo demuestra cómo crear un nuevo archivo DBF desde cero. Rellena una hoja de cálculo con datos de muestra que contienen diferentes tipos de datos (cadenas, números y fechas) para ilustrar cómo se manejan los tipos de campo al exportar al formato DBF.
#include "Aspose.Cells.h"
#include <string>
#include <filesystem>
using namespace Aspose::Cells;
int main() {
Aspose::Cells::Startup();
std::string outputDir = "C:/Output/";
std::string filePath = outputDir + "output.dbf";
if (!std::filesystem::exists(outputDir)) {
std::filesystem::create_directories(outputDir);
}
Workbook workbook;
Worksheet worksheet = workbook.GetWorksheets().Get(0);
Cells cells = worksheet.GetCells();
// Encabezados de columna
cells.Get(0, 0).PutValue(u"ID");
cells.Get(0, 1).PutValue(u"Name");
cells.Get(0, 2).PutValue(u"Department");
cells.Get(0, 3).PutValue(u"Salary");
cells.Get(0, 4).PutValue(u"HireDate");
// Fila de datos 1
cells.Get(1, 0).PutValue(101);
cells.Get(1, 1).PutValue(u"John Smith");
cells.Get(1, 2).PutValue(u"Engineering");
cells.Get(1, 3).PutValue(75000.50);
Date hireDate1{2020, 3, 15, 0, 0, 0, 0};
cells.Get(1, 4).PutValue(hireDate1);
// Fila de datos 2
cells.Get(2, 0).PutValue(102);
cells.Get(2, 1).PutValue(u"Jane Doe");
cells.Get(2, 2).PutValue(u"Marketing");
cells.Get(2, 3).PutValue(68000.75);
Date hireDate2{2019, 7, 22, 0, 0, 0, 0};
cells.Get(2, 4).PutValue(hireDate2);
// Fila de datos 3
cells.Get(3, 0).PutValue(103);
cells.Get(3, 1).PutValue(u"Bob Johnson");
cells.Get(3, 2).PutValue(u"Finance");
cells.Get(3, 3).PutValue(82000.00);
Date hireDate3{2021, 1, 10, 0, 0, 0, 0};
cells.Get(3, 4).PutValue(hireDate3);
// Fila de datos 4
cells.Get(4, 0).PutValue(104);
cells.Get(4, 1).PutValue(u"Alice Brown");
cells.Get(4, 2).PutValue(u"Human Resources");
cells.Get(4, 3).PutValue(71000.25);
Date hireDate4{2018, 11, 5, 0, 0, 0, 0};
cells.Get(4, 4).PutValue(hireDate4);
// Fila de datos 5
cells.Get(5, 0).PutValue(105);
cells.Get(5, 1).PutValue(u"Charlie Wilson");
cells.Get(5, 2).PutValue(u"Operations");
cells.Get(5, 3).PutValue(79500.80);
Date hireDate5{2022, 5, 30, 0, 0, 0, 0};
cells.Get(5, 4).PutValue(hireDate5);
// Establecer anchos de columna para mejor legibilidad
worksheet.GetCells().SetColumnWidth(0, 8);
worksheet.GetCells().SetColumnWidth(1, 20);
worksheet.GetCells().SetColumnWidth(2, 20);
worksheet.GetCells().SetColumnWidth(3, 12);
worksheet.GetCells().SetColumnWidth(4, 14);
workbook.Save(U16String(filePath.c_str()), SaveFormat::Dbf);
Aspose::Cells::Cleanup();
return 0;
}
Al transferir datos entre Aspose.Cells y el formato DBF, es importante comprender cómo se mapean los tipos de datos entre los dos sistemas para garantizar la integridad de los datos.
Los valores de celda de Aspose.Cells se convierten automáticamente a los tipos de campo DBF apropiados al guardar:
YYYYMMDD.Los archivos DBF pueden usar diferentes codificaciones de caracteres dependiendo de la aplicación que los creó. Aspose.Cells maneja la codificación de forma transparente en la mayoría de los casos, pero si encuentra problemas de visualización de caracteres, puede que necesite verificar la codificación del archivo de origen.
Los nombres de campo DBF deben cumplir con las siguientes reglas:
Después de escribir un archivo DBF, puede verificar el resultado abriéndolo en Microsoft Excel o cualquier aplicación compatible con dBASE. Los datos deben aparecer en un diseño tabular con los nombres de campo como encabezados de columna, y los registros completados según los datos proporcionados.
Uno de los casos de uso más prácticos para leer y escribir archivos DBF con Aspose.Cells es la conversión de datos entre el formato DBF y formatos modernos de hojas de cálculo como XLSX, XLS o CSV. Dado que Aspose.Cells admite una amplia gama de formatos, puede cargar fácilmente un archivo DBF y volverlo a guardar en cualquier otro formato compatible, o viceversa.
Por ejemplo, puede leer un archivo DBF, aplicar formato o cálculos usando la API de Aspose.Cells y luego guardar el resultado como un archivo XLSX para distribuir a usuarios que trabajan con aplicaciones modernas de hojas de cálculo. Por el contrario, puede tomar datos de un archivo XLSX o CSV y exportarlos al formato DBF para su integración con sistemas legacy.
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.