Red de conocimiento informático - Problemas con los teléfonos móviles - VC++ Cómo leer datos de Excel

VC++ Cómo leer datos de Excel

Para leer y escribir archivos de tablas de Excel directamente a través de ODBC, primero asegúrese de que el controlador de archivos de tablas de Excel "MICROSOFT EXCEL DRIVER (*.XLS)" esté instalado en ODBC. Luego, siga estos pasos:

1. En el archivo StdAfx.h, agregue:

#include

#include

2. Cree un archivo Excel directamente a través de ODBC (nombre de archivo provisional: Demo.xls)

//Cree y escriba un archivo Excel

void. CRWExcel::WriteToExcel()

{

Base de datos CDatabase;

CString sDriver = " MICROSOFT EXCEL DRIVER (*. XLS)" // Instalación de Excel.

XLS)"; // Controlador de instalación de Excel

CSString sExcelFile = "c:\\demo.xls"; // Se creará el archivo de Excel

CSString sSql;

TRY

{

//Crea la cadena a la que se accederá

sSSql.Format("DRIVER={%s};DSN=' ' ';FIRSTROWHASNAMES=1;READONLY=FALSE;CREATE_DB=\"%s\";DBQ=%s",sDriver,sExcelFile,sExcelFile,and sExcelFile,sExcelFile);

//Crear base de datos (dos Archivos de hoja de cálculo de Excel)

if( base de datos.OpenEx(sSql,CDatabase::noOdbcDialog) )

{

// Crear estructura de tabla (nombre Edad)

sSql = "CREAR TABLA de demostración (Nombre TEXTO,NÚMERO de edad)";

database.ExecuteSQL(sSql);

database.ExecuteSQL(sSql); /p>

database.ExecuteSQL(sSql);

database.ExecuteSQL(sSql)ExecuteSQL(sSql);

// Insertar valores

sSql = "INSERT INTO demo (Nombre,Edad) VALUES ('Xu Jing Zhou',26)";

database.ExecuteSQL(sSql);

sSql = "INSERT INTO demo ( Nombre,Edad) VALORES ('Xu Zhi Hui',22)";

base de datos .ExecuteSQL(sSql);

sSql = "INSERTAR EN demo (Nombre,Edad) VALORES ( 'Guo Hui',27)";

base de datos .Close();

}

CATCH_ALL(e)

{

TRACE1("El controlador de Excel no está instalado: %s",sDriver);

}

END_CATCH_ALL;

End_CATCH_ALL ;

}

3. Lea directamente el archivo Excel a través de ODBC (nombre de archivo provisional: Demo.xls)

// Lea el archivo Excel

void CRWExcel: :ReadFromExcel()

{

Base de datos CDatabase;

CString sSql;

CString sItem1, sItem2;

CString sDriver;

CString sDsn;

CString sFile = "Demo.xls"; // El nombre del archivo Excel a leer

// Recuperar si el controlador de Excel "Microsoft Excel Driver (*.xls)" está instalado

sDriver = GetExcelDriver();

if (sDriver.IsEmpty())

{

//Controlador Excel no encontrado

AfxMessageBox("¡Controlador Excel no instalado!") )

return;

}

//Crea la cadena a la que se accederá

sDsn.Format("ODBC;DRIVER={%s};DSN='';DBQ=%s", sDriver, sFile);

TRY

{

//Abre la base de datos (dos archivos de Excel)

database.Open(NULL). Open(NULL, false, false, sDsn);

CRecordset recset(&database);

//Establece la declaración de consulta que se leerá.

sSql = "SELECCIONAR Nombre, Edad"

"DESDE demo"

"ORDENAR POR Nombre";

//Ejecutar consulta Declaración

recset.Open(CRecordset::forwardOnly, sSql. CRecordset::readOnly);

//Obtener resultados de la consulta

while (!recset.IsEOF ())