Cómo leer y escribir datos de archivos de Excel en vc
Primero, use Visual C 6.0 para crear un proyecto basado en el cuadro de diálogo MFC, *** disfrute de DLL, plataforma Win32. El nombre del proyecto es ExcelTest. Agregue un botón en el cuadro de diálogo principal,
ID IDC_EXCELTEST
Caption Test Excel
Haga doble clic en el botón y agregue la función miembro void CExcelTestDlg::OnExceltest ().
En BOOL CExcelTestApp::InitInstance(), agregue código antes de dlg.DoModal();:
if (CoInitialize(NULL)!= 0)
{
AfxMessageBox("¡Error en la inicialización de la biblioteca de soporte COM!");
exit(1);
}
a cambio FALSO; Antes de la declaración, agregue:
CoUninitialize();
Seleccione Menú-gt; Seleccione Agregar clase-gt; seleccione D:\Program Files\Microsoft Office\office\Excel9.OLB de la biblioteca de tipos (D:\Program Files\Microsoft Office\ es el directorio de instalación de Microsoft Office 2000 en la máquina. OLB (D :\ Archivos de programa\Microsoft Office\ es el directorio de instalación de Microsoft Office 2000 en esta máquina, que se puede modificar de acuerdo con el directorio de instalación real en la computadora personal. Seleccione _Aplicación, Libros de trabajo, _Libro de trabajo, Hojas de trabajo, _Hoja de trabajo, Rango y. agregue una nueva clase: _Aplicación, Libros de trabajo, _Libro de trabajo, Hojas de trabajo, _Hoja de trabajo y Rango respectivamente. El archivo de encabezado es Excel9.h y el archivo fuente es Excel9.cpp.
En el archivo de encabezado del archivo cpp, agregue bajo la declaración #include "ExcelTestDlg.h":
#include "comdef.h"
# include "Excel9.h"
Contiene el siguiente código en la función void CExcelTestDlg::OnExceltest():
void CExcelTestDlg::OnExceltest()
{
_ Aplicación ExcelApp ;_CExcelTestDlg.Aplicación ExcelApp;
Libros de trabajo wbsMyBooks;
_Libro de trabajo wbMyBook;
Hojas de trabajo wssMysheets;
_Hoja de trabajo wsMysheet;
Rango rgMyRge;
//Crear servidor Excel 2000 (iniciar Excel)
if (!ExcelApp.CreateDispatch("Excel.Application", NULL))
{
AfxMessageBox("¡Error al crear el servicio de Excel!") )
exit(1);
}
//Crea un nuevo documento usando un archivo de plantilla
wbsMyBooks.AttachDispatch(ExcelApp.GetWorkbooks(), true);
wbMyBook.AttachDispatch(wbsMyBook.GetWorkbooks(), true);
AfxMessageBox("¡Error al crear el servicio de Excel!AttachDispatch(wbsMyBooks.Add(_variant_t("g:\\exceltest\\MyTemplate.xlt"));
/ /GetWorksheets
wssMysheets.SetItem(_variant_t((long)1), _variant_t((long)1), _variant_t("¡Este es un programa de prueba de Excel!"));
/Obtener todas las columnas
rgMyRge.AttachDispatch(wsMysheet.GetColumns(), true);
/Obtener la primera columna
rgMyRge.AttachDispatch(rgMyRge. GetItem(_variant_t ((long)1), vtMissing).Run(_variant_t("CopyRow"), _variant_t((long)10), vtMissing, vtMissing,
vtMissing, vtMissing, vtMissing, vtMissing, vtMissing , vtMissing, vtMissing, vtMissing, vtMissing.vtMissing, vtMissing,
>
vtMissing, vtMissing, vtMissing, vtMissing, vtMissing, vtMissing,
vtMissing, vtMissing.vtMissing, vtMissing, vtMissing, vtMissing, vtMissing,
vtMissing, vtMissing, desaparecido, vtMissing, vtMissing);