Maison  >  Article  >  Tutoriel logiciel  >  Implémentation du code source de l'importation Excel dans SQLServer

Implémentation du code source de l'importation Excel dans SQLServer

WBOY
WBOYavant
2024-01-23 21:45:10953parcourir

Un code source qui peut importer Excel dans sqlserver

Donnez-vous un code pour télécharger des données directement sur SqlServer dans Excel :

Peut être modifié de manière appropriée,

FormName est la table dans la base de données,

DBString est le champ de connexion à la base de données,

Sub UploadData()

Si FormName = "" Alors quittez Sub

Dim a As New ADODB.Connection

Dim b comme nouveau ADODB.Recordset

a.Ouvrir DBString

RowCount = Application.CountA(Rows("1:1"))

Pour i = 2 To application.counta(range("a:a"))

sql = ""

Ensemble b = Rien

Pour j = 1 pour RowCount - 1

sql = sql & "'" & Cellules(i, j) & "', "

Suivant

sql = "insérer dans " & FormName & "values(" & sql & "'" & Cells(i, RowCount) & "')"

b.Open Source :=sql, ActiveConnection :=a

Suivant

MsgBox "OK!"

Fin du sous-marin

Il existe différentes méthodes, il suffit de trouver celle qui convient,

Pour terminer votre tâche, vous devez comprendre les propriétés de connexion de la base de données. Voici les champs de connexion, qui peuvent être modifiés en fonction de votre situation réelle,

Provider=SQLOLEDB.1;Persist Security Info=False;User id=md-inspection;PWD=mdOL20!31)25;Initial Catalog=Online_Inspection;Data Source=Cduvmdb01,1433

De plus, des références pertinentes doivent être ajoutées à la page VBE :

Implémentation du code source de limportation Excel dans SQLServer

Code source A C Excel pour l'importation de la base de données

Environnement : c#.2005+Access+ Sql

1. Insérez le DataTable dans la base de données

public static void DataTableToDB()

{

string _strExcelFileName = @"D:exemple.xls";

DataTable dtExcel = ExcelToDataTable(_strExcelFileName,"Sheet1");

pour (int i = 0; i

{

InsertDataToAccess(dtExcel.Rows[i][0].ToString(), float.Parse(dtExcel.Rows[i][1].ToString()));

}

}

2. Lire les données Excel dans DataTable

DataTable statique public ExcelToDataTable (string strExcelFileName, string strSheetName)

{

string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Source de données="" + strExcelFileName + ";"" +"Propriétés étendues=Excel 5.0;";

string strExcel = string.Format("select * from [{0}$]", strSheetName);

DataSet ds = new DataSet();

en utilisant (OleDbConnection conn = new OleDbConnection(strConn))

{

conn.Open();

Adaptateur OleDbDataAdapter = new OleDbDataAdapter(strExcel, strConn);

adapter.Fill(ds, strSheetName);

conn.Close();

}

retourner ds.Tables[strSheetName];

}

3. Insérez les données dans la table de la base de données Access

public static void InsertDataToAccess(string _strPara,float _fPara)

{

OleDbConnection oleDbConn = new OleDbConnection();

oleDbConn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:ExcelData.mdb;User Id=admin;Password=;";

oleDbConn.Open();

string strInsertString = "INSERT INTO tb_excelData (strCollumn1,fCollumn2) VALEURS (@strCollumn1,@fCollumn2)";

OleDbCommand oComm = new OleDbCommand(strInsertString, oleDbConn);

oComm.Parameters.Add("@strCollumn1", OleDbType.Char , 50);

oComm.Parameters["@strCollumn1"].Value = _strPara;

oComm.Parameters.Add("@fCollumn2", OleDbType.Double);

oComm.Parameters["@fCollumn2"].Value = _fPara;

ocomm.ExecuteNonQuery();

oleDbConn.Close();

}

Comment importer par lots plusieurs fichiers de données Excel dans un autre code source de table de fichiers Excel

Le code est le suivant :

Fusion de sous-fichiers()

Dim wb comme classeur, sh comme feuille de calcul, pT comme chaîne, wb2 comme classeur, t

t = Minuterie

'Détecter si un classeur non pertinent est ouvert

Si Workbooks.Count > 1 Alors

MsgBox "Fermer les autres classeurs ouverts"

Quitter le sous-marin

Fin si

'Spécifiez le dossier où se trouve le fichier

Avec Application.FileDialog(msoFileDialogFolderPicker)

.Afficher

If .SelectedItems.Count = 0 Then Exit Sub 'Si vous appuyez sur Cancel ou X ferme la boîte de dialogue, quittez directement

pT = .SelectedItems(1)

Fin avec

Application.ScreenUpdating = False 'Désactiver l'actualisation de l'écran

Application.DisplayAlerts = False 'Fermer la boîte de dialogue

'Créez une nouvelle feuille de calcul nommée New.xls

Définir wb = Classeurs.Ajouter

shJS = wb.Worksheets.Count

fn = Dir(pT & "*.xls")

Pendant que fn ""

Si fn = wb.Name alors GoTo gg

i = i + 1

Si je > shJS Alors

Définissez sh = wb.Worksheets.Add(After:=wb.Worksheets(wb.Worksheets.Count))

Fin si

Définissez wb2 = Workbooks.Open(fn, ReadOnly = True)

wb2.Worksheets(1).Cells.Copie wb.Worksheets(i).Cells

wb.Worksheets(i).Name = Gauche(fn, Len(fn) - 4)

wb2.Fermer

gg :

fn = Dir

Wend

wb.SaveAs pT & "new.xls"

wb.Fermer

Application.ScreenUpdating = True 'Activer l'actualisation de l'écran

Application.DisplayAlerts = True 'Ouvrir la boîte de dialogue

MsgBox "Temps partagé" et minuterie - t et "Secondes. Générer un nouveau fichier new.xls"

Fin du sous-marin

Code complet pour importer des données d'Excel vers Delphi

Table A dans la base de données, les champs sont A1, A2, A3, a4, a5

Feuille de calcul d:shuju.xls

Contient les éléments b1, b2, b3, b4, b5

insérer dans dbo.A

(a1,a2,a3,a4,a5)

SÉLECTIONNER b1,b2,b3,b4,b5

DEPUIS OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0',

'Data Source=d:shuju.xls;Extended Properties=EXCEL 8.0' )...[Sheet1$] Rowset_1

De cette façon, vous pouvez l'importer. Bien sûr, vous pouvez également utiliser le contrôle TXLSFile. Si vous en avez besoin, vous pouvez me le demander

.

mchestnut@163.com

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer