VB lui-même fournit des fonctions d'automatisation capables de lire et d'écrire des tableaux EXCEL. La méthode est la suivante :
1. Référencez la bibliothèque de types Microsoft Excel dans le projet :
Sélectionnez la colonne « Référence » dans le menu « Projet » ; sélectionnez Bibliothèque d'objets Microsoft Excel 9.0 (EXCEL2000), puis sélectionnez « OK ». Indique que la bibliothèque de types EXCEL doit être référencée dans le projet.
2. Définir l'objet EXCEL lors du processus de déclaration de l'objet général :
Dim xlApp comme Excel.Application
Dim xlBook comme Excel.WorkBook
Dim xlSheet comme Excel.Worksheet
3. Commandes courantes pour utiliser les tables EXCEL dans le programme :
Set xlApp = CreateObject("Excel.Application") 'Créer un objet EXCEL
Définissez xlBook = xlApp.Workbooks.Open ("Nom du fichier") 'Ouvrez le fichier de classeur EXCEL existant
xlApp.Visible = True 'Définit l'objet EXCEL pour qu'il soit visible (ou invisible)
Set xlSheet = xlBook.Worksheets("sheet name") 'Définir la feuille de calcul active
xlSheet.Cells(row, col) =value 'Attribuer une valeur à la cellule (ligne, col)
xlSheet.PrintOut 'Imprimer la feuille de calcul
xlBook.Close (True) 'Ferme le classeur
xlApp.Quit 'Quitter l'objet EXCEL
Définir xlApp = Nothing 'Libérer l'objet xlApp
xlBook.RunAutoMacros (xlAutoOpen) 'Exécuter la macro de démarrage EXCEL
xlBook.RunAutoMacros (xlAutoClose) 'Exécuter la macro de fermeture EXCEL
4. Lorsque vous utilisez les commandes VB ci-dessus pour utiliser la table EXCEL, à moins que l'objet EXCEL ne soit défini pour être invisible, le programme VB peut continuer à effectuer d'autres opérations, fermer EXCEL et utiliser EXCEL en même temps. Cependant, lorsque l'objet EXCEL est fermé pendant l'opération EXCEL, le programme VB ne peut pas savoir si l'objet EXCEL est utilisé à ce moment, le programme VB générera une erreur d'automatisation. Il en résulte une situation dans laquelle le programme VB ne peut pas contrôler entièrement EXCEL, ce qui entraîne la déconnexion de VB d'EXCEL.
EXCEL est en fait une base de données. Ses colonnes sont les champs de colonnes de la table de la base de données et les lignes sont les éléments de la table de la base de données. J'ai le code inséré via ADO. Vous pouvez l'inverser et remplacer l'insertion par la lecture.
_ConnectionPtr m_pConnect; //Objet ADO, le même ci-dessous
_RecordsetPtr m_pRecordset;
CString sql;
sql = "Provider=Microsoft.Jet.OLEDB.4.0;Source de données=";
sql+=strExcelFile;//Chemin absolu du fichier Excel + son propre nom de fichier.
sql+=";Propriétés étendues=Excel 8.0";
m_pConnect.CreateInstance(__uuidof(Connexion));
m_pRecordset.CreateInstance(__uuidof(Recordset));
m_pConnect->Open((LPCSTR)sql,""",""",adModeUnknown);
m_pRecordset->Open("select * from [iomstats]", m_pConnect.GetInterfacePtr(),
adOpenDynamic, adLockOptimistic,adCmdText);//[iomstats] est le nom modifié de [sheet] dans le coin inférieur gauche d'Excel.
pendant(!m_pRecordset->adoEOF)
{
//Modifier la ligne
if((LPCSTR)_bstr_t(m_pRecordset->GetCollect("times")) == strTime)
{
//_variant_t
ultoa(iomStats.dwNumOfDiskReads,charbuf,RADIX);
m_pRecordset->PutCollect("dwNumOfDiskReads",_variant_t(charbuf));
}
m_pRecordset->MoveNext();
}
m_pRecordset->Mise à jour();
m_pRecordset->Fermer();
m_pConnect->Fermer();
Lire et écrire un tableau EXCEL :
1. Référencez la bibliothèque de types Microsoft Excel dans le projet :
Sélectionnez la colonne « Référence » dans le menu « Projet » ; sélectionnez Bibliothèque d'objets Microsoft Excel 12.0 (EXCEL2007), puis sélectionnez « OK ». Indique que la bibliothèque de types EXCEL doit être référencée dans le projet.
2. Définir l'objet EXCEL lors du processus de déclaration de l'objet général :
Dim xlApp comme Excel.Application
Dim xlBook comme Excel.WorkBook
Dim xlSheet comme Excel.Worksheet
3. Commandes courantes pour utiliser les tables EXCEL dans le programme :
Set xlApp = CreateObject("Excel.Application") 'Créer un objet EXCEL
Définissez xlBook = xlApp.Workbooks.Open ("Nom du fichier") 'Ouvrez le fichier de classeur EXCEL existant
Set xlBook = xlApp.Workbooks.Add("File name") 'Créer un nouveau fichier de classeur EXCEL
xlApp.Visible = True 'Définit l'objet EXCEL pour qu'il soit visible (ou invisible)
Set xlSheet = xlBook.Worksheets("sheet name") 'Définir la feuille de calcul active
pour i=1 à 100
pour j=1 à 50
numArr(j,i)=xlSheet.Cells(j, i) '............................... .... .
suivant
suivant
xlBook.Close (True) 'Ferme le classeur
xlApp.Quit 'Quitter l'objet EXCEL
Définir xlApp = Nothing 'Libérer l'objet xlApp
Zhang Zhichen
1. Créez d'abord un objet Excel en VB pour accéder au fichier Excel. Si votre Excel est CSV, vous n'en avez pas besoin. Ouvrez-le et lisez-le en mode texte Txt.
2. Créez un événement Button et transmettez les données obtenues dans la TextBox.Référez-vous au code suivant :
Conditions : J'ai un fichier Excel D:A.xls avec 100 mots commençant à A1 dans Sheet1 ; en VB, il y a une TextBox nommée Text1 dans Form1 et un bouton nommé Command1. Le code d'implémentation est le suivant :
Privé i en tant qu'entier
Sous-commande privée1_Click()
Définir ExcelApp = CreateObject("Excel.Application")
Définissez ExcelBook = ExcelApp.Workbooks.Open("D:A.xlsx")
Définir ExcelSheet = ExcelBook.Worksheets("Sheet1")
Texte1.Texte = ExcelSheet.cells(i, 1)
i = i + 1
Si je >100 Alors je = 1
Fin du sous-marin
Sous-Formulaire Privé_Load()
i = 1
Fin du sous-marin
J'espère que cela vous aidera !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!