代码之家  ›  专栏  ›  技术社区  ›  HotTester

读取上载的文件时出错。xls excel文件在asp。网

  •  1
  • HotTester  · 技术社区  · 15 年前

    现在,用户对文件进行更改,然后再次上传,从这里我阅读了上传的内容。xls文件,并在数据库中进行必要的更改。

    外部表不在预期的范围内 总体安排

    我让用户下载文件作为

    System.Web.HttpResponse response = System.Web.HttpContext.Current.Response;
                // first let's clean up the response.object
                response.Clear();
                response.Charset = "";
                // set the response mime type for excel
                response.ContentType = "application/vnd.ms-excel";
                response.AddHeader("Content-Disposition", "attachment;filename=\"" + filename + "\"");
                // create a string writer
                using (System.IO.StringWriter sw = new System.IO.StringWriter())
                {
                    using (System.Web.UI.HtmlTextWriter htw = new System.Web.UI.HtmlTextWriter(sw))
                    {
                        // instantiate a datagrid
                        System.Web.UI.WebControls.DataGrid dg = new System.Web.UI.WebControls.DataGrid();
                        dg.DataSource = dt;
                        dg.DataBind();
                        dg.RenderControl(htw);
                        response.Write(sw.ToString());
                        response.End();
                    }
                }
    

    用户在进行更改后上载该文件,我正在以

    string connString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
                    "Data Source=" + path + "\\" + FileUpload1.FileName + ";Extended Properties=Excel 8.0;";
                        OleDbConnection oledbConn = new OleDbConnection(connString);
    
                        oledbConn.Open();
    
                        OleDbCommand cmd = new OleDbCommand("SELECT * FROM [$Sheet1 ", oledbConn);
                        OleDbDataAdapter oleda = new OleDbDataAdapter();
                        oleda.SelectCommand = cmd;
    
                        DataSet ds = new DataSet();
    
                        oleda.Fill(ds, "Employees");
    

    请帮忙。谢谢

    2 回复  |  直到 14 年前
        1
  •  0
  •   Brian Leeming    15 年前

    OLEDB是否可能无法读取您正在生成的XLS文件版本?Excel 8是Excel 97,您可能会生成Excel 2007。xlsx格式。

        2
  •  0
  •   user1037134 user1037134    14 年前

    是的,我同意布莱恩!您可能正在生成一个不同的。要读取的xlsx格式。

    试试这个: http://www.aspdotnet-suresh.com/2010/09/import-data-from-excel-to-sql-database.html

    推荐文章