关于将excel的数据上传到数据库,在服务器找不到路径
做了一个将excel表格数据导入数据库的功能,在本地测试可以,把功能放到服务器上却不行了,说不是有效路径,找不到文件,请问怎么解决 excel 数据库 服务器 asp --------------------编程问答-------------------- 看看文件夹的权限。。另外无代码无易做图 --------------------编程问答-------------------- 附上代码
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获得文件的扩展名
System.IO.Path.GetExtension(FileUpload1.FileName).ToString().ToLower();//
if (IsXls != ".xls" && IsXls != ".xlsx") //
{
Response.Write("<script>alert('只可以选择Excel文件')</script>");
return;//当选择的不是Excel文件时,返回
}
this.GridView1.DataSource = ExcelDataSource();
this.GridView1.DataBind(); --------------------编程问答-------------------- 服务器路径可能和本地不同 --------------------编程问答-------------------- 提示很明显了,就是路径问题 --------------------编程问答-------------------- 你要变为服务器上的路径呀 --------------------编程问答-------------------- 路径问题
上代码 --------------------编程问答--------------------
protected void imgSave_Click(object sender, EventArgs e)--------------------编程问答-------------------- 解决技术问题,先解决自己的工作经验和基本方法问题。
{
if (fupload.PostedFile.FileName == "")
{
ClientScript.RegisterClientScriptBlock(this.GetType(), "check", "<script language='javascript'>alert('请选择上传的文件');</script>");
return;
}
//上传文件到服务器
string filepath = "";
if ((filepath = SaveFile()) == "")
{
MyShowMessageBox.Show(this, "文件上传失败!");
return;
}
//资料处理
ImportData(filepath);
//删除上传文件
}
/*!
* * @brief [保存文件返回文件路径]
* *
* * [保存文件返回文件路径]
* * @return private string
* */
private string SaveFile()
{
string FilePath = "";
string newFileName = GetFileName("\\", fupload.PostedFile.FileName);
try
{
FilePath = HttpContext.Current.Server.MapPath("../Files/");
newFileName = GetFinalFileName(newFileName);
FilePath = FilePath + newFileName;
fupload.PostedFile.SaveAs(FilePath);
}
catch (Exception ex)
{
return "";
}
return FilePath;
}
/*!
* * @brief [获取文件名称]
* *
* * [获取文件名称带后缀]
* * @param pat 文件名前面的符号
* * @param url
* * @return private string
* */
private string GetFileName(string pat, string url)
{
int position;
position = url.LastIndexOf(pat);
return url.Substring(position + 1);
}
/*!
* * @brief [获取新的生成文件名称]
* *
* * [获取文件名称带后缀]
* * @param fileName 旧文件名称
* * @return private string
* */
private string GetFinalFileName(string fileName)
{
Random rander = new Random();
string file = fileName;
file = rander.Next().ToString() + "_" + fileName;
return file;
}
你应该学会断点调试,看看你的代码打开Workbook的那一条代码的变量值是什么。不要靠抄来csdn代码让后就等着要结果,要自己调试。
补充:.NET技术 , ASP.NET