代码如下:
protected void Button3_Click(object sender, EventArgs e)
{
if (FileUpload1.HasFile == false)//HasFile用来检查FileUpload是否有指定文件
{
Response.Write("<script>alert('请您选择Excel文件')</script> ");
return;//当无文件时,返回
}
string IsXls = System.IO.Path.GetExtension(FileUpload1.FileName).ToString().ToLower();//System.IO.Path.GetExtension获得文件的扩展名
if (IsXls != ".xls")
{
Response.Write("<script>alert('只可以选择Excel文件')</script>");
return;//当选择的不是Excel文件时,返回
}
SqlConnection cn = new SqlConnection(strConn);
cn.Open();
string filename = DateTime.Now.ToString("yyyyMMddhhmmss") + FileUpload1.FileName; //获取Execle文件名 DateTime日期函数
string savePath = Server.MapPath("~\\upfiles\\" + filename);//Server.MapPath 获得虚拟服务器相对路径
FileUpload1.SaveAs(savePath); //SaveAs 将上传的文件内容保存在服务器上
DataSet ds = ExecleDs(savePath, filename); //调用自定义方法
DataRow[] dr = ds.Tables[0].Select(); //定义一个DataRow数组
int rowsnum = ds.Tables[0].Rows.Count;
if (rowsnum == 0)
{
Response.Write("<script>alert('Excel表为空表,无数据!')</script>"); //当Excel表为空时,对用户进行提示
}
else
{
int a = 0;
string b = "";
for (int i = 0; i < dr.Length; i++)
{
string 编号 = dr[i]["编号"].ToString();
string 书名 = dr[i]["书名"].ToString();
string 作者 = dr[i]["作者"].ToString();
string 价格 = dr[i]["价格"].ToString();
string 出版社 = dr[i]["出版社"].ToString();
if (编号.Trim() != "" && 书名.Trim() != "")
{
string sqlcheck = "select count(*) from books where 编号='" + 编号.Trim() + "'"; //检查图书是否存在
SqlCommand sqlcmd = new SqlCommand(sqlcheck, cn);
int count = Convert.ToInt32(sqlcmd.ExecuteScalar());
if (count < 1)
{
string insertstr = "insert into books (编号,书名,作者,价格,出版社,可借天数,库存,借阅次数) values('" + 编号 + "','" + 书名 + "','" + 作者 + "','" + 价格 + "','" + 出版社 + "',20,1,0)"; SqlCommand cmd = new SqlCommand(insertstr, cn);
try
{
cmd.ExecuteNonQuery();
a = a + 1;
}
catch (MembershipCreateUserException ex) //捕捉异常
{
Response.Write("<script>alert('导入内容:" + ex.Message + "')</script>");
}
}
else
{
b = b + 编号 + " ";
}
}
}
Response.Write("<script>alert('共导入" + a + "条数据!重复数据:" + b + "');location='管理图书.aspx'</script>");
cn.Close();
}
}现在能顺利实现导入功能,但是导入后excel会保存这个upfiles文件夹里,我想实现的是,导入成功后删除上传的excel,在线等,谢谢了
protected void Button3_Click(object sender, EventArgs e)
{
if (FileUpload1.HasFile == false)//HasFile用来检查FileUpload是否有指定文件
{
Response.Write("<script>alert('请您选择Excel文件')</script> ");
return;//当无文件时,返回
}
string IsXls = System.IO.Path.GetExtension(FileUpload1.FileName).ToString().ToLower();//System.IO.Path.GetExtension获得文件的扩展名
if (IsXls != ".xls")
{
Response.Write("<script>alert('只可以选择Excel文件')</script>");
return;//当选择的不是Excel文件时,返回
}
SqlConnection cn = new SqlConnection(strConn);
cn.Open();
string filename = DateTime.Now.ToString("yyyyMMddhhmmss") + FileUpload1.FileName; //获取Execle文件名 DateTime日期函数
string savePath = Server.MapPath("~\\upfiles\\" + filename);//Server.MapPath 获得虚拟服务器相对路径
FileUpload1.SaveAs(savePath); //SaveAs 将上传的文件内容保存在服务器上
DataSet ds = ExecleDs(savePath, filename); //调用自定义方法
DataRow[] dr = ds.Tables[0].Select(); //定义一个DataRow数组
int rowsnum = ds.Tables[0].Rows.Count;
if (rowsnum == 0)
{
Response.Write("<script>alert('Excel表为空表,无数据!')</script>"); //当Excel表为空时,对用户进行提示
}
else
{
int a = 0;
string b = "";
for (int i = 0; i < dr.Length; i++)
{
string 编号 = dr[i]["编号"].ToString();
string 书名 = dr[i]["书名"].ToString();
string 作者 = dr[i]["作者"].ToString();
string 价格 = dr[i]["价格"].ToString();
string 出版社 = dr[i]["出版社"].ToString();
if (编号.Trim() != "" && 书名.Trim() != "")
{
string sqlcheck = "select count(*) from books where 编号='" + 编号.Trim() + "'"; //检查图书是否存在
SqlCommand sqlcmd = new SqlCommand(sqlcheck, cn);
int count = Convert.ToInt32(sqlcmd.ExecuteScalar());
if (count < 1)
{
string insertstr = "insert into books (编号,书名,作者,价格,出版社,可借天数,库存,借阅次数) values('" + 编号 + "','" + 书名 + "','" + 作者 + "','" + 价格 + "','" + 出版社 + "',20,1,0)"; SqlCommand cmd = new SqlCommand(insertstr, cn);
try
{
cmd.ExecuteNonQuery();
a = a + 1;
}
catch (MembershipCreateUserException ex) //捕捉异常
{
Response.Write("<script>alert('导入内容:" + ex.Message + "')</script>");
}
}
else
{
b = b + 编号 + " ";
}
}
}
Response.Write("<script>alert('共导入" + a + "条数据!重复数据:" + b + "');location='管理图书.aspx'</script>");
cn.Close();
}
}现在能顺利实现导入功能,但是导入后excel会保存这个upfiles文件夹里,我想实现的是,导入成功后删除上传的excel,在线等,谢谢了
解决方案 »
- 求一个不包含某字符串的正则表达式
- 有一个webapp打包发布后,有一个目录img下order.xls这个文件就丢失了
- 在开一贴,高手来帮忙看下这个效果怎么实现的。
- 身份验证英语怎么说?
- 怎么把网络资源转成流?在线等!
- asp.net网站中的数据操作方法有没有必要用static修饰?到底什么时候用static关键字?
- 关于抛出异常到webUI层的问题
- 关于服务端代码
- 能否在ASP.NET站点下运行一个永远运行的线程? (没分了可怜啊,回答出来的送一个压缩解压缩的DLL带引用说明的)
- 很简单的HTML问题~~~~~~~~~~~~~ 解决马上结帖 ~~
- lucene.net建立索引时报错,加入中文分词
- 各位朋友好,关于网站并发的问题
xlApp.Workbooks.Close();
xlApp.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(ws);
System.Runtime.InteropServices.Marshal.ReleaseComObject(wb);
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp);
xlApp = null;
wb = null;
ws = null;
System.Diagnostics.Process myproc= new System.Diagnostics.Process();
foreach (Process thisproc in Process.GetProcessesByName(processName)) {
if(!thisproc.CloseMainWindow()){
thisproc.Kill();
}}
{
if (Directory.Exists(dirpath)) //如果存在这个文件夹删除之
{// 递归删除文件夹目录及文件
foreach (string d in Directory.GetFileSystemEntries(dirpath))
{
if (File.Exists(d))
{
File.Delete(d); //直接删除其中的文件
}
else
{
DeleteFolder(d); //递归删除子文件夹,
}
}
Directory.Delete(dirpath, true); //删除已空文件夹,
}
}
if(File.exits(Server.Mappath(savePath)))
File.Delete(Server.Mappath(savePath))