private DataTable getTable(string fileName)
        {
            try
            {
                //判断文件是否存在
                if (!File.Exists(fileName)) { Response.Write("<script>alert('文件不存在,请重新上传。');</script>"); return null; }
                DataSet ds = new DataSet();
                OleDbConnection objConn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileName + ";" + "Extended Properties='Excel 8.0;IMEX=1'"); //Excel 8.0;HDR=NO;IMEX=1中的IMEX=0;
                objConn.Open();
                DataTable schemaTable = objConn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null);                string tableName = schemaTable.Rows[0][2].ToString().Trim();//获取 Excel 的表名,默认值是sheet1                //string queryField = "型号,品牌,封装,年份,包装,数量,单价,订货周期,备注";
                //string strSql = "select " + queryField + " from [" + tableName + "]";                string strSql = "select * from [" + tableName + "]";
                //string strSql = "select * from [" + tableName + "]";                OleDbCommand objCmd = new OleDbCommand(strSql, objConn);
                OleDbDataAdapter myData = new OleDbDataAdapter(strSql, objConn);
                myData.Fill(ds, tableName);//填充数据
                return ds.Tables[0];
            }
            catch (Exception ex)
            {
                //获取文件名
                string fName = fileName.Substring(fileName.LastIndexOf("\\") + 1);
                //MessageBox.Show(ex.Message);
                return null;
            }
        }
这是我读取excel的文件。本地IDE测试没问题。但在本地IIS就不行。这代码有问题吗。

解决方案 »

  1.   

    <font color="red">顶一下</font>
      

  2.   

    Microsoft.ACE.OLEDB.12.0你这驱动要看你服务器上边的版本是多少的如果是windows 2003系统可以用这个试试
    Microsoft.Jet.OLEDB.4.0;
      

  3.   

    你好。你是说看我本地IIS吗
    我现在是vs2010测试可以。但部署到本地iis自己的电脑。通过iis访问就不行。我的是win7 64位电脑 iis版本为6.1 改了还是不行。
      

  4.   


    没明白你是怎么读取的Excel文件,我们项目使用的是 Spread 电子表格,兼容性比较好。你是自己写代码读取吗?
      

  5.   


    没明白你是怎么读取的Excel文件,我们项目使用的是 Spread 电子表格,兼容性比较好。你是自己写代码读取吗?
    我解决了。谢谢大家。http://www.cnblogs.com/nsky/p/3494375.html