FileUpload 上传txt文件读取到gridview 再写进数据库
1,最近做项目做个上传txt附件(只有一列),gridview 显示txt,然后submit 才能写进数据库的界面如下有没有好的方法
2,还有一个是一个textbox文本框里面输入一个字符,下面的gridview就显示一行同时也往数据库插入一行,因为我不想让gridview一直和数据库一直联着,所以前台的girdview想绑定一个临时的空间,界面如下
--------------------编程问答-------------------- --------------------编程问答-------------------- 为什么要用GridView来显示txt里面的内容和textbox的内容呢? --------------------编程问答-------------------- 除 --------------------编程问答-------------------- 第一个,上传读取先不谈;
第二个,文本框输入,然后gridview 显示,并添加到数据库。
你可以修改一下,后天写一个List<String> ,文本框输入,把字符存入List集合中,然后this.Gridview.DataSource=list 绑定一下。最后有一个添加,点击添加按钮把GridView中所有的数据添加到数据库就行了。 --------------------编程问答-------------------- 后天=后台
--------------------编程问答-------------------- 需要的txt的长传的 ,亲
/// <summary>
/// 确定
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnFileUp_Click(object sender, EventArgs e)
{
string xlsName = "";
try
{
//使用FileUpload1 上传Excel并读取信息写入GridView
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);
}
}
补充:.NET技术 , C#