當前位置:首頁 » 操作系統 » excel資料庫asp

excel資料庫asp

發布時間: 2022-06-05 04:08:34

① ASP代碼中如何把EXCEL數據導入到sql SERVER資料庫

'定義打開Excel表格的函數
Function OpenExcel(path)
dim excel,rs,strsql
On Error Resume Next
Set rs = Server.CreateObject("ADODB.RecordSet")
Set excel = Server.CreateObject("ADODB.Connection")
excel.Open "Driver={Microsoft Excel Driver (*.xls)};DBQ=" & path
If Err.number<> 0 Then
Response.Write "請檢查上傳的Excel文件內部格式,文件無法打開,導入失敗!"
Response.End
End If
strsql = "SELECT * FROM [Sheet1$]" '在這里指定工作薄名稱,默認是Sheet1$
Set rs = excel.Execute(strsql)
Set OpenExcel = rs
End Function

'讀取文件中的內容
Dim rsInfo
Set rsInfo = Server.CreateObject("ADODB.RecordSet")
Set rsInfo = OpenExcel("E:/a.xls") '這里的文件路徑請用Server.Path來獲取

'檢查讀取結果
If rsInfo.State<> 1 Then
Response.Write "請檢查Excel文件中的工作表命名是否為Sheet1,導入失敗!"
Response.End
End If

If rsInfo.EOF And rsInfo.BOF Then
Response.Write "沒有找到Excel表中的數據,導入失敗!"
Response.End
End If

If IsNull(rsInfo.Fields(0)) or Trim(rsInfo.Fields(0))="" Then
Response.Write "沒有找到Excel表中的數據,導入失敗!"
Response.End
End If

'這里指定導入數據的列數,列數少了退出
If rsInfo.Fields.Count< 7 Then
Response.Write "Excel表中的數據列數不正確,導入失敗!"
Response.End
End If

'創建資料庫連接
dim dbrs,conn,sql
Set conn = Server.CreateObject("ADODB.Connection")
Set dbrs = Server.CreateObject("ADODB.Recordset")
'注: G_DB_ConnectString是連接資料庫的字元串,自己定義
conn.ConnectionString = G_DB_ConnectString
conn.Open '打開資料庫連接

'創建臨時表
sql = "IF EXISTS (SELECT * FROM sysobjects WHERE xtype='U' and name='tmp_PartRes') "
sql = sql & "BEGIN Drop table tmp_PartRes END "
sql = sql & "Create table tmp_PartRes([ID] int identity(1,1),"
sql = sql & "PartID varchar(100),Brand varchar(100),[Package] varchar(100),"
sql = sql & "BatchNo varchar(100),[Price] varchar(100),[Stock] varchar(100) default('0'),"
sql = sql & "Brief varchar(100),StockFlag int default(1),"
sql = sql & "SuperFlag int default(1),SaleFlag int default(1))"
conn.execute sql

'取表結構 注意: 只取表的結構, 不要數據, 因為我這個是剛創建的臨時表, 沒有數據,
'如果表中存在數據, 要注意加上條件句, 防止取到數據 如: where ID = -1
sql = "SELECT * FROM tmp_PartRes"
dbrs.CursorLocation = 3 '這一定要設置為3
dbrs.Open sql,conn, 3, 4 '這里的參數必須是3和4

'取到表結構後, 必須要把活動連接及資料庫連接關閉,這個很重要, 否則導入速度特慢.
Set dbrs.ActiveConnection = Nothing
conn.close

'提取Excel中的數據, 將excel中的數據放入到資料庫表中.
While Not rsInfo.EOF
If Trim(rsInfo.Fields(0))<> "" Then
dbrs.AddNew
dbrs("PartID") = Ucase(Trim(rsInfo.Fields(0)))
dbrs("Brand") = Trim(rsInfo.Fields(1))
dbrs("Package") = Trim(rsInfo.Fields(2))
dbrs("BatchNo") = Trim(rsInfo.Fields(3))
dbrs("Price") = Trim(rsInfo.Fields(4))
If Trim(rsInfo.Fields(5))<>"" Then
dbrs("Stock") = Trim(rsInfo.Fields(5))
Else
dbrs("Stock") = "0"
End If
dbrs("Brief") = Trim(rsInfo.Fields(6))
End If
rsInfo.MoveNext
Wend

'更新記錄集到資料庫臨時表
conn.Open '打開連接
dbrs.ActiveConnection = conn
dbrs.UpdateBatch '批量更新函數

'更新完成後, 關閉連接
dbrs.Close
Set dbrs = Nothing
rsInfo.Close
Set rsInfo = Nothing

② EXCEL電子表格作資料庫用於ASP網頁,欄位名的問題!

資料庫鏈接成功後 在ASP頁面上插入一個(要先插入表單)表格,設置 序號 姓名 等級 序號 姓名 等級 這些欄位
然後 在 應用程序 綁定資料庫 然後 把欄位拖到 表格對應的 地方
再者 就是重復 表格
點擊 伺服器 --(點擊 + 這個符號)--重復區域 選擇全部重復
這樣 你預覽 就可以看到你要的 表單 全部數據了

③ 求助:用ASP將excel導入到資料庫中

demo.asp

<%
Dim cn,oConn,connstr
'打開XLS.
Set cn = Server.CreateObject( "ADODB.Connection ")
cn.Provider = "Microsoft.Jet.OLEDB.4.0 "
cn.ConnectionString = "Data Source= " & Server.MapPath( "data.xls ") & "; " & _
"Extended Properties=Excel 8.0; "
cn.Open
'打開MDB.
connstr= "DBQ= "+server.MapPath( "data.mdb ")+ ";DefaultDir=;DRIVER=; "
set oConn=server.CreateObject( "ADODB.CONNECTION ")
oConn.open connstr

'讀取數據.
set rsRead=server.CreateObject( "ADODB.Recordset ")
rsRead.Open "select * from [Sheet1$] ",cn,1,1
do until rsRead.EOF
'寫入資料庫.
oConn.Execute( "Insert into users(userid,password)Values( ' "& rsRead.Fields( "userid ")& " ', ' " &rsRead.Fields( "password ") & " ') " )
rsRead.MoveNext
loop
%>

資料庫data.mdb
表users
id,uesrid,password

Excel文件data.xls
數據
userid password
12345 67890

'=====================ASP讀取EXCEL注事項===========================
'i)將Excel97或Excel2000生成的XLS文件(book)看成一個資料庫,其中的每一個工作表(sheet)看成資料庫表
'ii)ADO假設Excel中的第一行為欄位名.所以你定義的范圍中必須要包括第一行的內容
'iii)Excel中的行標題(即欄位名)不能夠包含數字. Excel的驅動在遇到這種問題時就會出錯的。例如你的行標題名為「F1」
'iiii)如果你的Excel電子表格中某一列同時包含了文本和數字的話,那麼Excel的ODBC驅動將不能夠正常, 處理這一行的數據類型,你必須要保證該列的數據類型一致
'===========================================================

代碼都給全了 完全正確的代碼 你還不滿足?
有其他問題重新提問吧,
最後說下,
建議你重新安裝ADO的驅動,MDAC的2.8版
也許是你沒有注冊ADO組件,

④ 請問能否直接將EXCEL作為ASP的後台資料庫

可以
但是 如果資料庫龐大的話
建議還是用別的

⑤ 如何把Excel數據導入到資料庫表中 asp.net

我曾經做過一個類似功能的程序,不難,邏輯如下:
private void ImportExcelIntoDB()
{

// Get reader for the Excel file
OleDbDataReader reader = GetReader();
// Open database
OpenDatabaseConneciton();

// Loop reading each row from Excel file
while (reader.Read())
{
// write row into files
WriteRowIntoDatabase(reader);
progressBarWriting.ProgressBar.PerformStep();
}

// Close database
CloseDatabaseConnection();
// Close reader
reader.Close();

}

⑥ asp將本地的excel表格數據寫入網站的access資料庫

不是那麼復雜吧,使用ADO首先打開 本地的excel表格 讀取數據,然後打開 網站的access資料庫,寫入數據就可以了呀。
ADO 對象支持打開 Excel 表格,也支持打開 Access 資料庫以及其他資料庫。

⑦ 怎樣通過ASP代碼把excel數據導入到資料庫中去呀

這個不難,通過asp獲取到xls的數據,然後再批量寫入資料庫。如果條件允許的話,可以直接在資料庫上面導入xls文件數據。

⑧ 如何將excel數據通過asp導入資料庫

將excel數據通過asp導入資料庫:
參考代碼:
wenjian=request.Form("floor")
fileext=mid(wenjian,InStrRev(wenjian,".")+1)
if lcase(fileext)<>"xls" then
response.write "<script>alert ('文件格式不對,請上傳Excel文件');window.location.href='updateFloor.asp';</script>"
response.end
end if
set conne=server.CreateObject("ADODB.Connection")
connStre="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath( ""&wenjian&"" )&";Extended Properties='Excel 8.0;HDR=YES;IMEX=1';"
conne.open connStre
Sqle="select * from [sheet1$] "
Set rse = Server.CreateObject("ADODB.Recordset")
rse.open sqle,conne,1,1
'驗證
hang=2
do while not rse.eof
'名稱不能為空
if trim(rse(0))<>"" then
else
mess="第"& hang &"行名稱為空,請檢查!"
response.Write"<script>alert('"& mess &"').window.location.href='updateFloor.asp'</script>"
response.End()
end if
rse.movenext
hang=hang+1
loop
rse.movefirst
do while not rse.eof
set rst=server.CreateObject("adodb.recordset")
sqlt="select * from Sellman"
rst.open sqlt,conn,1,3
rst.addnew()
rst("CompanyName")=c2(rse(0))
rst("CompanyInfo")=c2(rse(1))
rst("address")=c2(rse(2))
rst("tel")=c2(rse(3))&" "&c2(rse(7))
rst("Fax")=c2(rse(4))
rst("linkman")=c2(rse(5))
rst("Homepage")=c2(rse(8))
rst("Email")=c2(rse(6))
rst.update()
rst.close
set rst=nothing
rse.movenext
loop
rse.close
set rse=nothing
response.Write "<script>alert('導入成功!');location.href='updateFloor.asp';</script>"

熱點內容
如何編寫用例配置py文件 發布:2024-10-31 07:22:58 瀏覽:961
我的世界原版rpg伺服器ip地址 發布:2024-10-31 07:20:38 瀏覽:420
華中數控18xp密碼多少 發布:2024-10-31 07:20:34 瀏覽:931
解壓館主題 發布:2024-10-31 07:19:58 瀏覽:275
手機存儲卡和相機存儲卡一樣嗎 發布:2024-10-31 07:19:56 瀏覽:509
女性私人體雲伺服器圖片 發布:2024-10-31 07:08:22 瀏覽:762
dota2庫文件夾 發布:2024-10-31 07:06:04 瀏覽:674
php超時處理 發布:2024-10-31 07:05:56 瀏覽:539
javaftp文件路徑 發布:2024-10-31 06:55:55 瀏覽:785
java閱讀 發布:2024-10-31 06:44:28 瀏覽:56