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

excel導入asp資料庫

發布時間: 2023-06-30 12:26:49

㈠ asp如何導入excel內容

DataSet _Table = GetTableName(Server.MapPath(@"upload/" + Request.Cookies["sa"].Value + "/" + this.ListBox1.SelectedValue), this.DropDownList1.SelectedValue); //首先獲取EXCEL文件路徑
string[] list = Request["checkbox"].Split(",".ToCharArray()); 要導入的列,代碼不貼了
string CompanyName = string.Empty, Person_in_charge = string.Empty, Mobile = string.Empty, Phone = string.Empty, Fax = string.Empty, E_mail = string.Empty, Address = string.Empty, IMQQ = string.Empty, AliWW = string.Empty, Website = string.Empty;
if (_Table.Tables[0].Rows.Count > 0)
{
for (int i = 0; i != _Table.Tables[0].Rows.Count; i++)/
{
for (int j = 0; j < list.Length; j++)/判斷每個列的數據,然後處理
{
string[] arr = list[j].ToString().Split("|".ToCharArray());
if (Request[list[j].ToString()] == "CompanyName")
{
CompanyName = CompanyName + _Table.Tables[0].Rows[i][arr[1].ToString()].ToString();
}
if (Request[list[j].ToString()] == "Person_in_charge")
{
Person_in_charge = Person_in_charge + _Table.Tables[0].Rows[i][arr[1].ToString()].ToString();
}
if (Request[list[j].ToString()] == "Mobile")
{
Mobile = Mobile + _Table.Tables[0].Rows[i][arr[1].ToString()].ToString();
}
if (Request[list[j].ToString()] == "Phone")
{
Phone = Phone + _Table.Tables[0].Rows[i][arr[1].ToString()].ToString();
}
if (Request[list[j].ToString()] == "Fax")
{
Fax = Fax + _Table.Tables[0].Rows[i][arr[1].ToString()].ToString();
}
if (Request[list[j].ToString()] == "E-mail")
{
E_mail = E_mail + _Table.Tables[0].Rows[i][arr[1].ToString()].ToString();
}
if (Request[list[j].ToString()] == "Address")
{
Address = Address + _Table.Tables[0].Rows[i][arr[1].ToString()].ToString();
}
if (Request[list[j].ToString()] == "IMQQ")
{
IMQQ = IMQQ + _Table.Tables[0].Rows[i][arr[1].ToString()].ToString();
}
if (Request[list[j].ToString()] == "AliWW")
{
AliWW = AliWW + _Table.Tables[0].Rows[i][arr[1].ToString()].ToString();
}
if (Request[list[j].ToString()] == "Website")
{
Website = Website + _Table.Tables[0].Rows[i][arr[1].ToString()].ToString();
}
}
db.Update_sql("INSERT INTO Customers([sid],[s_dep],[CompanyName],[Person_in_charge],[Mobile],[Phone],[Fax],[E-mail],[Address],[IMQQ],[AliWW],[Website],[Instry])VALUES('" + Request.Cookies["sa"].Value + "'," + Request.Cookies["dep"].Value + ",'" + CompanyName + "','" + Person_in_charge + "','" + Mobile + "','" + Phone + "','" + Fax + "','" + E_mail + "','" + Address + "','" + IMQQ + "','" + AliWW + "','" + Website + "'," + this.DropDownList2.SelectedValue + ")");
CompanyName = ""; Person_in_charge = ""; Mobile = ""; Phone = ""; Fax = ""; E_mail = ""; Address = ""; IMQQ = ""; AliWW = "";
this.Label3.Text = "導入成功!";

㈡ 求助:用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組件,

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

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

㈣ 如何把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();

}

㈤ 怎麼把excel的表格導入asp

<%
set upload=new upload_5xSoft
set file=upload.file("file1")
formPath="../upload1/"
if file.filename="" then
response.Write "<script language='javascript'>alert('你沒選擇文件!');history.go(-1);</script>"
else
if file.filesize>1000 then
fileExt=lcase(right(file.filename,3))
if fileExt<>"xls" then
Response.Write"文件類型非法"
Response.end
end if
end if
randomize
ranNum=int(9000000*rnd)+10000
filename=formPath&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum&"."&fileExt
if file.FileSize>0 then
file.SaveAs Server.mappath(FileName)
end if
connstr = "driver={microsoft Access driver (*.mdb)}; dbq=" & server.mappath("../../data/#data.mdb")
set conn3 = server.createobject("ADODB.CONNECTION")
conn3.open connstr
set rs=server.createobject("adodb.recordset")
rs.Open "select * from User where UserName='"&Session("user")&"' " ,conn3,3,3
rs("log")=cstr(FileName)
rs.update
rs.close
conn3.close

'這里用來寫導入資料庫的程序
kl=FileName
op=len(kl)
op2= mid(kl,3,op-2)
strAddr = Server.MapPath(""&kl)
set excelconn=server.createobject("adodb.connection")
'strAddr = file
''輸出源文件名
excelconn.open "Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Excel 8.0;Data Source=" & strAddr
''建立excel記錄集
set rs2=server.createobject("adodb.recordset")
set rs3= Server.CreateObject("ADODB.Recordset")
set rs3 = excelconn.OpenSchema(20)
op=rs3("TABLE_NAME")
sql="select * from "+"["+ op+"]"
rs2.open sql,excelconn,1,1
'找到表
connstr = "driver={microsoft Access driver (*.mdb)}; dbq=" & server.mappath("../../data/#data1.mdb")
set conn = server.createobject("ADODB.CONNECTION")
conn.open connstr
strSQL="Delete * From Sheet1 Where user='"& Session("user")&"'"
conn.execute strSQL
connstr = "driver={microsoft Access driver (*.mdb)}; dbq=" & server.mappath("../../data/#data1.mdb")
set conn = server.createobject("ADODB.CONNECTION")
'刪除以前的信息
conn.open connstr
set rs4= Server.CreateObject("ADODB.Recordset")
rs4.open "select * from Sheet1",conn,3,3
if rs4.Fields.Count-3 <> rs2.Fields.Count-1 then
response.write "要上傳的表格格式不對,不能導入統一資料庫!"
response.end
else

'導入過程

for j = 1 to rs2.recordCount

rs4.addnew
for i = 0 to rs2.Fields.Count-1

rs4.Fields("user")=Session("user")

rs4.Fields(i+1)=rs2.Fields(i)
next
rs2.movenext

next

end if

' ............'

kl=""

strSQL="delete FROM Sheet1 where isnull(品名) = true"
conn.execute strSQL
conn.close
response.write "成功 "
response.redirect "../../index.asp"
end if
%>

㈥ asp.net怎麼樣把excel文件導入到資料庫和導出來(緊急求助+高分)

如果你只是要把excel保存到資料庫,並不需要進一步的數據統計查詢,你就可以簡單地在asp.net的界面上放一個上傳文件按鈕,後台收到上傳的excel文件,把它以二進制流的形式保存到SQL Server的Image欄位或文件欄位(據說sql2008才有)。導出時,在頁面上放一個附件下載鏈接,用戶點連接時你從資料庫欄位讀出二進制流把它通過Response.OutputStream輸出到頁面上,即可出現excel的下載保存框。

如果你需要以導入的excel數據為基礎,進行更多的數據統計查詢,你就必須分析設計資料庫表、欄位,把相應的excel單元格數據保存到資料庫欄位。關鍵是如何從web頁面導入excel單元格數據、又如何把查詢出來的數據放到web頁面上顯示成客戶需要的圖表?
有兩種方案:
1.用Excel自動化技術。
引用Excel的類型庫生成.Net的包裝類。導入時採用頁面放上傳文件按鈕的方法,在伺服器端收到文件後,用excel自動化類打開excel文件,再學會VBA語法,書寫大量的代碼讀取單元格,然後連接資料庫保存。導出時,查詢資料庫,啟動excel自動化對象,通過VBA語法填寫單元格,保存成excel文件,再用Response.OutputStream輸出到頁面上,觸發excel文件的下載保存框。缺點:容易在伺服器端產生excel死進程,代碼編寫復雜、代碼量大、還要掌握VBA語法,用戶需要上傳、下載操作
有人會說,顯示數據時可以用網頁直接顯示,不用導出成excel。其實也很麻煩:用網頁顯示復雜的報表格式,網頁設計工作量大;如果客戶要求導出excel,這個工作就省不了;如果客戶要求列印、列印預覽、頁面設置,比起excel瀏覽器的列印就捉襟見肘了。

2.用微軟Office中間件——SOAOffice。(建議使用最新版的)
用SOAOffice輸出Excel,就不會再有上述煩惱。通過SOAOffice不僅能夠動態填充excel,讀取excel單元格,而且還能在瀏覽器里直接瀏覽excel、或者下載、另存。SOAOffice提供標准C#.Net組件,組件在伺服器端不使用自動化調用,穩定支持大量web並發訪問,這是用com調用無法實現的。組件的屬性方法都比較簡單,易於調用,你完全不用去掌握復雜的VBA調用。

由於是純.Net組件,所以伺服器端不需安裝office。 SOAOffice的excel組件SOAExcel含有Sheet、Cell等類似Excel的簡化介面,調用簡單。SOAExcel不但能能把資料庫欄位值動態填充到Excel單元格,還能把用戶輸入的單元格的值提出給開發者保存到資料庫。
SOAExcel能夠在客戶端瀏覽器的網頁里通過SOAOffice直接顯示生成的Excel,用戶不必先下載再打開觀看內容。

舉個導出excel的例子:
SOAOfficeX.ExcelResponse SOAExcel = new SOAOfficeX.ExcelResponse();
SOAOfficeX.ExcelResSheet sheet1 = SOAExcel.openSheet("Sheet1"); // 打開一個Sheet
sheet1.openCell("D"+String.valueOf(8+i)).setValue(rs.getString("Count")); //循環填充數據。
SOAOfficeX.SOAOfficeCtrl SOACtrl = new SOAOfficeX.SOAOfficeCtrl(response);
SOACtrl.assign(SOAExcel); // 綁定數據
// 打開模板並生成最終的excel報表
SOACtrl.webOpen("doc/test.xls", 1, UserName, "Excel.Sheet");

上述代碼不但動態填充生成excel,而且在網頁里直接顯示生成的Excel給終端用戶,由於使用了1打開模式,Excel是只讀顯示的。

讀取excel單元格的代碼也很簡單:
SOAOfficeX.ExcelRequest SOAExcel = new SOAOfficeX.ExcelRequest();
SOAOfficeX.IExcelReqSheet sheetOrder = SOAExcel.OpenSheet("銷售訂單");
SOAOfficeX.IExcelReqCell cell1;
cell1 = sheetOrder.OpenCell("I5");//訂單編碼
string sOrderNum = cell1.Value;//cell1.Value就是讀取的結果

熱點內容
安卓和unity哪個累 發布:2025-03-19 14:31:39 瀏覽:677
雅閣電動座椅怎麼配置 發布:2025-03-19 14:28:30 瀏覽:635
探月編程課 發布:2025-03-19 14:22:34 瀏覽:311
62腳本怎麼安裝 發布:2025-03-19 14:04:25 瀏覽:573
php傳值給html 發布:2025-03-19 14:02:05 瀏覽:608
windowsmedia緩存 發布:2025-03-19 14:02:00 瀏覽:765
百變圖標安卓為什麼有2個應用 發布:2025-03-19 14:00:28 瀏覽:52
數控機床編程指令 發布:2025-03-19 13:52:31 瀏覽:369
c語言與程序設計大學教程 發布:2025-03-19 13:15:25 瀏覽:846
雲時客演算法 發布:2025-03-19 13:07:37 瀏覽:675