目前我有一个网站,可以将 excel 电子表格数据加载到 SQL 数据库中。当页面加载时,所有参数都硬编码在后面的代码中,所以我没有“浏览文件”和“上传”按钮。我想实现这两个按钮,但我不确定该怎么做。
我正在使用 C# 语言、Visual Studio 2005 和 SQL Server 2005。
下面是将 excel 数据导入数据库的代码:
importexcel.aspx.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Data.OleDb;
using System.Data.Common;
using System.Data.SqlClient;
public partial class ImportExcel : System.Web.UI.Page
{
public static string path = @"c:\Documents and Settings\rhlim\My Documents\Visual Studio 2005\WebSites\insqlserver\studentsheet1.xls";
public static string connStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties=Excel 8.0;";
protected void Page_Load(object sender, EventArgs e)
{
// Create Connection to Excel Workbook
using (OleDbConnection connection =
new OleDbConnection(connStr))
{
OleDbCommand command = new OleDbCommand
("Select StudentName,RollNo,Course FROM [Sheet1$]", connection);
connection.Open();
// Create DbDataReader to Data Worksheet
using (DbDataReader dr = command.ExecuteReader())
{
// SQL Server Connection String
string sqlConnectionString = "Data Source=<IP>;Initial Catalog=<database>;User ID=<userid>;Password=<password>";
// Bulk Copy to SQL Server
using (SqlBulkCopy bulkCopy =
new SqlBulkCopy(sqlConnectionString))
{
bulkCopy.DestinationTableName = "tStudent";
bulkCopy.WriteToServer(dr);
}
}
}
}
}
下面是我当前 html 的代码:
importexcel.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ImportExcel.aspx.cs" Inherits="ImportExcel" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title></title>
<script language="javascript" type="text/javascript">
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
Please select a Excel spreadsheet to import:<br />
<asp:FileUpload ID="fupExcel" runat="server" />
<br />
<br />
<asp:Button ID="btnImport" runat="server"
Text="Import" onclick="btnImport_Click" />
<br />
<br />
<a href=http://localhost:1701/SoD>Click to go to main page</a>
</form>
</body>
</html>
我不确定如何将 2 个按钮附加到我的后台代码,有人教我吗?最好有示例代码,非常感谢!
最佳答案
首先,页面加载中的代码只需要执行 if(IsPostBack)
或在按钮单击时执行。
其次,(至少是现代的)浏览器不会让您更改输入文件字段的值或单击它。
您可能会尝试一些 Flash 上传之类的东西,但我期望不高。
关于通过 VS 2005 将 excel 电子表格上传到 SQL 数据库时的 C# 用户界面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7974814/