110,539
社区成员
发帖
与我相关
我的任务
分享
/// <summary>
/// 确定
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnFileUp_Click(object sender, EventArgs e)
{
string xlsName = "";
try
{
//InputDataBLL input = new InputDataBLL();
if (this.FileUpload1.HasFile)
{
string IsXls = System.IO.Path.GetExtension(FileUpload1.FileName).ToString().ToLower();
if (IsXls != ".xls")
{
MessageBox.Show("本程序只能识别excel文件!",this);
return;
}
xlsName = DateTime.Now.ToString("yyyy-MM-dd-hh-mm-ss")+System.IO.Path.GetFileName(FileUpload1.FileName) ;
// string filename = this.FileUpload1.PostedFile.FileName.ToString().Trim();
DataTable dt = new DataTable();
int len = this.FileUpload1.FileName.ToString().Trim().Length;
string path = Server.MapPath("../UpLoad/") + xlsName;
this.FileUpload1.SaveAs(path); //上传文件
//将上传的Excel文件数据读取出来
dt = this.InputExcel(xlsName, this.FileUpload1.FileName.ToString().Trim().Substring(0, len - 4), "");
//if (Session["inputdt"] != null)
// Session.Remove("inputdt");
//Session.Add("inputdt", inputdt);
if (dt.Rows.Count > 0)
{
this.GridView1.DataSource = dt;
this.GridView1.DataBind();
}
}
else
throw new Exception("请选择导入表的路径");
}
catch (Exception ex)
{
Response.Write("<script language='javascript'>alert('" + ex.Message + "');</script>");
}
}
/// <summary>
/// 导入数据到数据集中
/// </summary>
/// <param name="Path"></param>
/// <param name="TableName"></param>
/// <param name="tablename2">如果这个有就以他为表名,没有的话就以TableName</param>
/// <returns></returns>
public DataTable InputExcel(string xlsName, string TableName, string tablename2)
{
try
{
//获取到上传的Excel
string ThePath = Server.MapPath("../") + "UpLoad\\" + xlsName;
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + ThePath + ";" + "Extended Properties=Excel 8.0;";
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open();
string strExcel = "";
OleDbDataAdapter myCommand = null;
if (tablename2.Length > 0 && !tablename2.Equals(string.Empty))
{
TableName = tablename2;
}
strExcel = "select * from [" + TableName + "$]";
myCommand = new OleDbDataAdapter(strExcel, strConn);
DataTable dt = new DataTable();
myCommand.Fill(dt);
conn.Close();
return dt;
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
友情提示,win2003 x64 版IIS不支持 Jet.OLEDB.4.0;