用途是点击按钮后把XLS文件复制到本机的程序目录下,然后再读取其中的sheet 动态加到下拉框中给选择。
我在本机直接调试 没有任何问题,可以动态添加。但在iis启动下,通过IP访问这个程序,运行到这里的时候就会报错, 报system.exception也不太清楚是什么错。
只是觉得 Workbooks.Open 打不开Xls文件,难道在iis启动下的页面,Workbooks.Open无法访问程序目录下的文件吗?只有换其他方法才可以吗?有解决办法或其他方法的,各位提示下,谢谢
protected void Button1_Click(object sender, EventArgs e)
{
if (this.fud1.HasFile) //如果用户确实选择了上传控件的浏览按钮,浏览文件成功.
{
this.fud1.SaveAs("./temp/" + this.fud1.FileName); //保存到服务器的目录
filename = Server.MapPath("./temp/" + fud1.FileName);//获的路径名称
}
try
{
Excel.ApplicationClass oe = new Excel.ApplicationClass();
Excel.Workbook wb = oe.Workbooks.Open(filename, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
foreach (Excel.Worksheet sheet in wb.Sheets)
{
this.ddl1.Items.Add(new ListItem(sheet.Name, sheet.Name));//动态的把SHEET加到下拉框中
}
oe.Workbooks.Close();
} catch
{
Exception ex = new Exception();
this.lbl2.Text = ex.Message.ToString();// 把错误报告显示出来
}
我在本机直接调试 没有任何问题,可以动态添加。但在iis启动下,通过IP访问这个程序,运行到这里的时候就会报错, 报system.exception也不太清楚是什么错。
只是觉得 Workbooks.Open 打不开Xls文件,难道在iis启动下的页面,Workbooks.Open无法访问程序目录下的文件吗?只有换其他方法才可以吗?有解决办法或其他方法的,各位提示下,谢谢
protected void Button1_Click(object sender, EventArgs e)
{
if (this.fud1.HasFile) //如果用户确实选择了上传控件的浏览按钮,浏览文件成功.
{
this.fud1.SaveAs("./temp/" + this.fud1.FileName); //保存到服务器的目录
filename = Server.MapPath("./temp/" + fud1.FileName);//获的路径名称
}
try
{
Excel.ApplicationClass oe = new Excel.ApplicationClass();
Excel.Workbook wb = oe.Workbooks.Open(filename, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
foreach (Excel.Worksheet sheet in wb.Sheets)
{
this.ddl1.Items.Add(new ListItem(sheet.Name, sheet.Name));//动态的把SHEET加到下拉框中
}
oe.Workbooks.Close();
} catch
{
Exception ex = new Exception();
this.lbl2.Text = ex.Message.ToString();// 把错误报告显示出来
}
设置excel的DCOM权限