VC++ Cómo leer datos de Excel
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; p>
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); p>
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 ())