菜鸟求教,C# 读取excel文件的问题, 本帖最后由 wz654273122 于 2013-03-14 10:41:10 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 /// <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; C# IDispose接口 连接数据库问题 DateSet和远端数据库同步 问个有关设计方面的问题 如何在表单上放一个走动的时间 怎样把整个数组赋一个值啊? 关于c#的的烦恼事,又是一个大问题。 如何关闭子窗体? [Serializable] 是什么意思??? 如何在一个应用程序中再打开一个同样的应用程序(即本身)?在线等待 如何判断QQ的对话框是否打开 PL/SQL已经可以登录成功,项目运行起来却无法连接到数据库是怎么回事??
/// 确定
/// </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;