Kode ASP untuk mengimpor data Excel ke SQL Server agak berantakan, jadi Anda bisa mencarinya sesuai kebutuhan. Copy kode kodenya sebagai berikut:
<form action=insert.asp method=post enctype=multipart/form-data name=form1 onSubmit=b1_onclick()>
<lebar tabel=500 batas=1 align=center cellpadding=0 spasi sel=0>
<tr>
<td colspan=2 bgcolor=#999999 class=t>Pilih berkas
</td>
</tr>
<tr>
<td colspan=2 kelas=t> </td>
</tr>
<tr>
<td width=126 class=t>Pilih file (excel)
</td>
<td lebar=368 kelas=t><label>
<nama masukan=tipe filexls=ukuran file=35>
</label></td>
</tr>
<tr>
<td colspan=2 kelas=t>
<label>
<tipe input=kirim nama=Kirim nilai=Impor data>
</label>
<a href=1122.asp class=t>Kembali</a>
</td>
</tr>
</tabel>
</bentuk>
<!--#include virtual=/inc/clsdbctrl.asp-->
<!--#include virtual=/inc/function.asp-->
<%
redupkanfile_5xSoft_Stream
Unggahan kelas_5xLembut
redupkan Formulir, File, Versi
Sub Kelas Pribadi_Inisialisasi
redupkan iStart,iFileNameStart,iFileNameEnd,iEnd,vbEnter,iFormStart,iFormEnd,file
redupkan strDiv,mFormName,mFormValue,mFileName,mFileSize,mFilePath,iDivLen,mStr
Versi=Program unggahan khusus Ren Xiang
jika Request.TotalBytes<1 lalu Keluar dari Sub
set Form=CreateObject(Scripting.Kamus)
set File=CreateObject(Scripting.Kamus)
set upfile_5xSoft_Stream=Buat Objek(Adodb.Stream)
upfile_5xSoft_Stream.mode=3
upfile_5xSoft_Stream.type=1
upfile_5xSoft_Stream.buka
upfile_5xSoft_Stream.tulis Permintaan.BinaryRead(Permintaan.TotalBytes)
vbEnter=Chr(13)&Chr(10)
iDivLen=inString(1,vbEnter)+1
strDiv=subString(1,iDivLen)
iFormStart=iDivLen
iFormEnd=inString(iformStart,strDiv)-1
sementara iFormStart <iFormEnd
iStart=inString(iFormStart,nama=)
iEnd=inString(iMulai+6,)
mFormName=subString(iStart+6,iEnd-iStart-6)
iFileNameStart=inString(iEnd+1,namafile=)
jika iFileNameStart>0 dan iFileNameStart<iFormEnd lalu
iFileNameEnd=inString(iFileNameStart+10,)
mFileName=subString(iFileNameStart+10,iFileNameEnd-iFileNameStart-10)
iStart=inString(iFileNameEnd+1,vbEnter&vbEnter)
iEnd=inString(iStart+4,vbEnter&strDiv)
jika iEnd>iStart lalu
mFileSize=iEnd-iStart-4
kalau tidak
mUkuran File=0
berakhir jika
atur File=FileInfo baru
theFile.FileName=getFileName(mFileName)
theFile.FilePath=getFilePath(mFileName)
theFile.FileSize=mFileSize
File.FileStart=iStart+4
theFile.FormName=NamaForm
file.tambahkan mFormName,File
kalau tidak
iStart=inString(iEnd+1,vbEnter&vbEnter)
iEnd=inString(iStart+4,vbEnter&strDiv)
jika iEnd>iStart lalu
mFormValue=subString(iStart+4,iEnd-iStart-4)
kalau tidak
mFormNilai=
berakhir jika
formulir.Tambahkan mFormName,mFormValue
berakhir jika
iFormStart=iformEnd+iDivLen
iFormEnd=inString(iformStart,strDiv)-1
pergi ke
Akhiri Sub
SubString Fungsi Pribadi(Awal,Len)
dimi,c,batang
upfile_5xSoft_Stream.Position=Mulai-1
batang=
untuk i=1 ke Len
jika upfile_5xSoft_Stream.EOS lalu Keluar untuk
c=ascB(upfile_5xSoft_Stream.Baca(1))
Jika c > 127 Maka
jika upfile_5xSoft_Stream.EOS lalu Keluar untuk
stemp=stemp&Chr(AscW(ChrB(AscB(upfile_5xSoft_Stream.Read(1)))&ChrB(c)))
saya=saya+1
kalau tidak
stemp=stempel&Chr(c)
Akhiri Jika
Berikutnya
subString=cap
Fungsi akhir
Fungsi Pribadi inString(theStart,varStr)
redupkan i,j,bt,theLen,str
DalamString=0
Str=keByte(varStr)
theLen=LenB(Str)
untuk i=Mulai hingga upfile_5xSoft_Stream.Size-theLen
jika i>upfile_5xSoft_Stream.size lalu keluar dari Fungsi
upfile_5xSoft_Stream.Posisi=i-1
jika AscB(upfile_5xSoft_Stream.Read(1))=AscB(midB(Str,1)) maka
DalamString=i
untuk j=2 ke Len
jika upfile_5xSoft_Stream.EOS lalu
dalamString=0
Keluar untuk
berakhir jika
jika AscB(upfile_5xSoft_Stream.Read(1))<>AscB(MidB(Str,j,1)) maka
DalamString=0
Keluar Untuk
berakhir jika
Berikutnya
jika InString<>0 lalu Keluar dari Fungsi
berakhir jika
Berikutnya
Fungsi Akhir
Sub Kelas Pribadi_Terminate
form.RemoveAll
file.HapusSemua
atur formulir=tidak ada
atur file=tidak ada
upfile_5xSoft_Stream.tutup
set upfile_5xSoft_Stream=tidak ada
Akhiri Sub
Fungsi pribadi GetFilePath(FullPath)
Jika FullPath <> Lalu
GetFilePath = kiri(FullPath,InStrRev(FullPath, /))
Kalau tidak
DapatkanJalur File =
Akhiri Jika
Fungsi akhir
Fungsi pribadi GetFileName(FullPath)
Jika FullPath <> Lalu
GetFileName = pertengahan(FullPath,InStrRev(FullPath, /)+1)
Kalau tidak
Dapatkan Nama File =
Akhiri Jika
Fungsi akhir
Fungsi pribadi toByte(Str)
redupkan i,iCode,c,iLow,iHigh
keByte=
Untuk i=1 Ke Len(Str)
c=tengah(Str,i,1)
kode = Asc(c)
Jika iCode<0 Maka iCode = iCode + 65535
Jika iCode>255 Lalu
iRendah = Kiri(Hex(Asc(c)),2)
iTinggi =Kanan(Hex(Asc(c)),2)
toByte = toByte & chrB(&H&iLow) & chrB(&H&iTinggi)
Kalau tidak
toByte = toByte & chrB(AscB(c))
Akhiri Jika
Berikutnya
Fungsi akhir
Kelas Akhir
Info File Kelas
redupkan FormName,FileName,FilePath,FileSize,FileStart
Sub Kelas Pribadi_Inisialisasi
Nama File =
Jalur File =
Ukuran File = 0
FileMulai= 0
Nama Formulir =
Akhiri Sub
Fungsi publik SaveAs (FullPath)
redupkan dr,ErrorChar,i
Simpan Sebagai=1
jika trim(fullpath)= atau FileSize=0 atau FileStart=0 atau FileName= lalu keluar dari fungsi
jika FileStart=0 atau right(fullpath,1)=/ lalu keluar dari fungsi
setel dr=BuatObjek(Adodb.Stream)
dr.Mode=3
dr.Jenis=1
dr.Buka
upfile_5xSoft_Stream.position=FileStart-1
upfile_5xSoft_Stream.copyke dr,FileSize
dr.SaveToFile FullPath,2
dr.Tutup
atur dr=tidak ada
Simpan Sebagai=0
fungsi akhir
Kelas Akhir
%>
<%
fungsi sqlstr(data)
jika tidak isnull(data) maka
sqlstr='& ganti(data,','') &'
kalau tidak
sqlstr='& data &'
berakhir jika
fungsi akhir
%>
<%
sesi.CodePage=936
Server.ScriptTimeOut=600000
atur unggahan=unggahan baru_5xsoft
atur file=unggah.file(filexls)
%>
<%
jika file.fileSize>0 maka
nama file=tahun(sekarang)&bulan(sekarang)&hari(sekarang)&jam(sekarang)&menit(sekarang)&detik(sekarang)
nama file=nama file+.
namafileend=file.namafile
filenameshow=file.namafile
namafileend=split(namafileend,.)
jika nama fileend(1)=xls maka
nama file=nama file&nama fileakhir(1)
file.saveAs Server.mappath(uploadfile/&nama file)
kalau tidak
respon.tulis format data salah!
respon.tulis <a href=file_upload.asp>kembali
respon.akhir()
berakhir jika
atur file=tidak ada
kalau tidak
File respon.write tidak boleh kosong!
respon.tulis <a href=file_upload.asp>kembali
respon.akhir()
Berakhir jika
setel unggah=tidak ada
'Pengunggahan file XLS selesai. Selanjutnya, baca data dari file XLS yang diunggah dan tulis ke database SQL.
strAddr=server.MapPath(unggahfile/&nama file)
setel excelconn=server.createobject(adodb.koneksi)
Penyedia excelconn.open = Microsoft.Jet.OLEDB.4.0; Sumber Data = +strAddr+;Properti Diperluas='Excel 8.0;HDR=NO;IMEX=1'
set rs=server.CreateObject(adodb.recordset)
setel rs1=server.CreateObject(adodb.recordset)
sql=pilih * dari [Sheet1$]
rs.open sql,excelconn,1,3
jika tidak (rs.bof dan rs.eof) maka
rs.movenext
lakukan selagi tidak rs.eof
'respons.Tulis(rs(1))
'respons.Akhir()
sql1=pilih * dari anggota
rs1.buka sql1,sambungan,1,3
rs1.tambahkan baru
Acak
nama pengguna=
Do While Len(nama pengguna)<8 'Digit kata sandi acak
angka1=CStr(Chr((57-48)*rnd+48)) '0~9
'angka2=CStr(Chr((90-65)*rnd+65)) 'A~Z
angka3=CStr(Chr((122-97)*rnd+97)) 'a~z
nama pengguna=nama pengguna&angka1&angka3
lingkaran
rs1(nama pengguna)=nama pengguna
rs1(kata sandi)=bb0391ec1d7bda99'bambu123456
jika rs(0)<> maka
rs1(perusahaan)=rs(0)
berakhir jika
jika rs(1)<> maka
rs1(nama asli)=rs(1)
berakhir jika
jika rs(2)<> maka
rs1(jenis kelamin)=jenis kelaminn(rs(2))
berakhir jika
jika rs(3)<> maka
rs1(prof)=rs(3)
berakhir jika
jika rs(4)<> maka
rs1(telp)=rs(4)
berakhir jika
jika rs(5)<> maka
rs1(ponsel)=rs(5)
berakhir jika
jika rs(6)<> maka
rs1(alamat)=rs(6)
berakhir jika
jika rs(7)<> maka
rs1(area)=getclassdname(rs(7),area,cn)
berakhir jika
jika rs(8)<> maka
rs1(kota)=getclassdname(rs(8),area,cn)
berakhir jika
jika rs(9)<> maka
rs1(faks)=rs(9)
berakhir jika
jika rs(10)<> maka
rs1(comtype)=comtypem(rs(10))
berakhir jika
jika rs(11)<> maka
rs1(operasi)=rs(11)
berakhir jika
rs1(lulus)=1
rs1(diaktifkan)=1
rs1(waktu masuk terakhir)=sekarang()
rs1.perbarui
rs1.tutup
rs.movenext
lingkaran
berakhir jika
rs.tutup()
atur rs=tidak ada
atur rs1=tidak ada
excelconn.Tutup()
atur excelconn=tidak ada
samb.close()
setel samb=tidak ada
fungsi seksn(str)
pilih kasus str
kasus laki-laki
jenis kelaminn=0
kasus perempuan
jenis kelaminn=1
akhir pilih
fungsi akhir
fungsicomtypem(str)
pilih kasus str
kasus produk bambu
comtypem=0
kasus mesin bambu
comtypem=1
akhir pilih
fungsi akhir
fungsi getclassdname(str,namatabel,lang)
Jika Bukan IsNumeric(id) Kemudian Keluar dari Fungsi
setel rs2=conn.execute (pilih 1 id teratas dari & nama tabel & di mana nama kelas seperti '%&str&%')
jika tidak rs2.eof Lalu
Jika lang<> Lalu
Jika lang=cn Maka
getclassdname=getclassdname & rs2(0)
ElseIf lang=en Lalu
getclassdname=getclassdname & rs2(0)
Akhiri Jika
Akhiri Jika
kalau tidak
dapatkan nama kelas = 0
berakhir jika
rs2.tutup
Fungsi Akhir
%>
<lebar tabel=300 batas=1 rata=tengah bantalan sel=0 spasi sel=0 warna batas=#CCCCCC>
<tr>
<th bordercolor=#F1F3F8 bgcolor=#999999 class=t scope=row> </th>
</tr>
<tr>
<th class=t scope=row>File<% respon.write (filenameshow) %>Berhasil diimpor! </th>
</tr>
<tr>
<th class=t scope=row><a href=javascript:self.close() class=t>Tutup jendela</a></th>
</tr>
<tr>
<th class=t scope=row><a href=1122.asp class=t>Kembali</a></th>
</tr>
</tabel>