Berikan anda kod untuk memuat naik data terus ke SqlServer dalam Excel:
Boleh diubah suai dengan sewajarnya,
FormName ialah jadual dalam pangkalan data,
DBString ialah medan sambungan pangkalan data,
Sub Muat NaikData()
Jika FormName = "" Kemudian Keluar Sub
Malapkan ADODB.Connection Sebagai Baharu
Malapkan b Sebagai ADODB.Recordset Baharu
a.Buka DBString
RowCount = Application.CountA(Rows("1:1"))
Untuk i = 2 Ke application.counta(julat("a:a"))
sql = ""
Set b = Tiada
Untuk j = 1 Ke RowCount - 1
sql = sql & "'" & Sel(i, j) & "', "
Seterusnya
sql = "masukkan ke dalam " & Nama Borang & "nilai(" & sql & "'" & Sel(i, RowCount) & "')"
b.Sumber Terbuka:=sql, ActiveConnection:=a
Seterusnya
MsgBox "OK!"
Tamat Sub
Ada pelbagai kaedah, cuma cari yang sesuai,
Untuk menyelesaikan tugas anda, anda perlu memahami sifat sambungan pangkalan data Berikut adalah medan sambungan, yang boleh diubah suai mengikut situasi sebenar anda. Anda perlu menetapkan sendiri parameter asas,
Pembekal=SQLOLEDB.1;Maklumat Keselamatan Berterusan=Salah;Id pengguna=md-inspection;PWD=mdOL20!31)25;Katalog Awal=Pemeriksaan_Online;Sumber Data=Cduvmdb01,1433
Selain itu, rujukan yang berkaitan perlu ditambah pada halaman VBE:
Persekitaran: c#.2005+Access+ Sql
1 Masukkan Jadual Data ke dalam pangkalan data
kekosongan statik awam DataTableToDB()
{
string _strExcelFileName = @"D:example.xls";
DataTable dtExcel = ExcelToDataTable(_strExcelFileName,"Sheet1");
untuk (int i = 0; i
{
InsertDataToAccess(dtExcel.Rows[i][0].ToString(), float.Parse(dtExcel.Rows[i][1].ToString()));
}
}
2. Baca data Excel ke dalam Jadual Data
Jadual Data statik awam ExcelToDataTable(rentetan strExcelFileName, string strSheetName)
{
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Sumber Data="" + strExcelFileName + ";"" +"Extended Properties=Excel 5.0;";
rentetan strExcel = rentetan.Format("pilih * daripada [{0}$]", strSheetName);
DataSet ds = new DataSet();
menggunakan (OleDbConnection conn = new OleDbConnection(strConn))
{
conn.Open();
Penyesuai OleDbDataAdapter = OleDbDataAdapter baharu(strExcel, strConn);
adapter.Fill(ds, strSheetName);
conn.Close();
}
kembali ds.Jadual[strSheetName];
}
3 Masukkan data ke dalam jadual pangkalan data Access
kekosongan statik awam InsertDataToAccess(rentetan _strPara,float _fPara)
{
OleDbConnection oleDbConn = new OleDbConnection();
oleDbConn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Sumber Data=C:ExcelData.mdb;Id Pengguna=admin;Kata Laluan=;";
oleDbConn.Open();
string strInsertString = "MASUKKAN KE DALAM tb_excelData (strCollumn1,fCollumn2) NILAI (@strCollumn1,@fCollumn2)";
OleDbCommand oComm = OleDbCommand(strInsertString, oleDbConn);
oComm.Parameters.Add("@strCollumn1", OleDbType.Char , 50);
oComm.Parameters["@strCollumn1"].Nilai = _strPara;
oComm.Parameters.Add("@fCollumn2", OleDbType.Double);
oComm.Parameters["@fCollumn2"].Nilai = _fPara;
ocomm.ExecuteNonQuery();
oleDbConn.Close();
}
Kod adalah seperti berikut:
Gabung fail sub()
Malapkan wb Sebagai Buku Kerja, sh Sebagai Lembaran Kerja, pT Sebagai Rentetan, wb2 Sebagai Buku Kerja, t
t = Pemasa
'Kesan sama ada buku kerja yang tidak berkaitan dibuka
Jika Buku Kerja.Kira > 1 Kemudian
MsgBox "Tutup buku kerja lain yang terbuka"
Keluar Sub
Tamat Jika
'Nyatakan folder di mana fail terletak
Dengan Application.FileDialog(msoFileDialogFolderPicker)
.Tunjukkan
Jika .SelectedItems.Count = 0 Kemudian Keluar Sub 'Jika anda menekan Batal atau X menutup kotak dialog, keluar terus
pT = .Item Terpilih(1)
Tamat Dengan
Application.ScreenUpdating = Salah 'Matikan penyegaran skrin
Application.DisplayAlerts = Palsu 'Tutup kotak dialog
'Buat lembaran kerja baharu bernama New.xls
Set wb = Buku Kerja.Tambah
shJS = wb.Lembaran Kerja.Kira
fn = Dir(pT & "*.xls")
Sementara fn ""
Jika fn = wb.Nama Kemudian GoTo gg
i = i + 1
Jika saya > shJS Kemudian
Tetapkan sh = wb.Lembaran Kerja.Tambah(Selepas:=wb.Helaian Kerja(wb.Lembaran Kerja. Kiraan))
Tamat Jika
Tetapkan wb2 = Buku Kerja.Buka(fn, Baca Sahaja = Benar)
wb2.Lembaran Kerja(1).Sel.Salin wb.Lembaran Kerja(i).Sel
wb.Lembaran Kerja(i).Nama = Kiri(fn, Len(fn) - 4)
wb2.Tutup
gg:
fn = Dir
Wend
wb.SaveAs pT & "new.xls"
wb.Tutup
Application.ScreenUpdating = Benar 'Hidupkan segar semula skrin
Application.DisplayAlerts = Benar 'Buka kotak dialog
MsgBox "Masa Dikongsi" & Pemasa - t & "Saat. Jana fail baharu baharu.xls"
Tamat Sub
Jadual A dalam pangkalan data, medannya ialah A1, A2, A3, a4, a5
Hamparan d:shuju.xls
Mengandungi item b1, b2, b3, b4, b5
masukkan ke dalam dbo.A
(a1,a2,a3,a4,a5)
PILIH b1,b2,b3,b4,b5
DARI OPENDATASOURCE ('Microsoft.Jet.OLEDB.4.0',
'Sumber Data=d:shuju.xls;Sifat Lanjutan=EXCEL 8.0' )...[Sheet1$] Rowset_1
Dengan cara ini, anda boleh mengimportnya, anda juga boleh menggunakan TXLSFile jika anda memerlukannya, anda boleh memintanya
mchestnut@163.comAtas ialah kandungan terperinci Pelaksanaan kod sumber pengimportan Excel ke dalam SQLServer. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!