在本地机测试成功.编译后,建了个站点.测试也成功!但是上传到服务器,有一个功能就是出错.
就是上传excel到服务器,然后显示excel中的内容.经过排查,问题可能出在这段代码上.但看了好久,没看出这段代码有问题.代码如下:private void CreateDataSource(string filename)
{
try
{
string strCon;
strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("upfile/" + filename) + "; Extended Properties=Excel 8.0;";
OleDbConnection olecon = new OleDbConnection(strCon);
OleDbDataAdapter myda = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", strCon);
DataSet myds = new DataSet();
myda.Fill(myds);
DataTable tbllh = new DataTable();
tb = myds.Tables[0];
DataView dvllh = tb.DefaultView;
GridView1.DataSource = dvllh;
GridView1.DataBind();
}
catch (Exception ex)
{
Response.Write("<script>alert('"+ex.Message.ToString()+"')</script>");
}
}好像报错在此myda.Fill(myds);这一句上.
报错内容为:未指定的错误请大家帮我看看是什么问题.会不会是服务器权限的问题?我有查看过.文件是已经上传好了的.
就是上传excel到服务器,然后显示excel中的内容.经过排查,问题可能出在这段代码上.但看了好久,没看出这段代码有问题.代码如下:private void CreateDataSource(string filename)
{
try
{
string strCon;
strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("upfile/" + filename) + "; Extended Properties=Excel 8.0;";
OleDbConnection olecon = new OleDbConnection(strCon);
OleDbDataAdapter myda = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", strCon);
DataSet myds = new DataSet();
myda.Fill(myds);
DataTable tbllh = new DataTable();
tb = myds.Tables[0];
DataView dvllh = tb.DefaultView;
GridView1.DataSource = dvllh;
GridView1.DataBind();
}
catch (Exception ex)
{
Response.Write("<script>alert('"+ex.Message.ToString()+"')</script>");
}
}好像报错在此myda.Fill(myds);这一句上.
报错内容为:未指定的错误请大家帮我看看是什么问题.会不会是服务器权限的问题?我有查看过.文件是已经上传好了的.
解决方案 »
- 关于大型网站使用session的问题...
- 挥泪再求:在B/s系统中使用连接方式下载1MB多的excel文件所遇到的!诡异
- 如何用response.write弹出对话框?
- 感觉 DataGrid 组件用起不爽啊!特别那个分页!
- 这是怎么回事,大伙帮我看看,100分解决就结贴
- 如何让radioButtonList之类的listControl控件也具有CausesValidation属性
- 水晶报表中这样的统计如何实现?谢谢!
- 求SESSION怪问题
- 很笨的问题?
- 那如果我想把sql里面的数据写成我规定的xml格式的形式呢,又怎么解决呢?
- DropDownList 字体大小不一致
- 将asp网站升级为asp.net型的网站容易吗?
你的服务端是否支持连接Excel?
是tbllh吧
OleDbConnection cnnxls = new OleDbConnection(mystring);
OleDbDataAdapter myDa = new OleDbDataAdapter("select * from [Sheet1$]", cnnxls);
DataSet Ds = new DataSet();
myDa.Fill(Ds, "sheet1");
this.gvUploadData.DataSource = Ds.Tables["sheet1"];
this.gvUploadData.DataBind();
楼上的一些注意点都看这了.那个文件夹已经有足够的权限了.
问题出在配置文件上:把这句<identity impersonate="true"/>
改成:<identity impersonate="false"/>
问题解决...