日期:2014-05-18  浏览次数:20935 次

如何创建一个连接,接接到csv文件.
我创建一个FileUpload控件, 让用户上传一个csv格式的文件,然后将文件预存到服务器下的temp文件夹中,然后想通过逐行读取csv中的数据,来更新数据库,但每次执行到adapter.Fill(dt_Bugdet_Packing_List)这行代码时,就提示:'D:\Projects\temp\Buget_Packing_List.csv'不是一个有效的路径.确定路径名称拼写是否正确,以及是否连接到文件存放的服务器.

注:D:\Projects\是我的项目根目录.文件'D:\Projects\temp\Buget_Packing_List.csv'这个路径也是正确的.
C# code
        if (FileUpload1.HasFile)
        {
            FileUpload1.PostedFile.SaveAs(Server.MapPath("~/temp/Bugdet_Packing_List.csv"));
            string str_Conn = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='text;HDR=YES;FMT=TabDelimited'", Server.MapPath("~/temp/Bugdet_Packing_List.csv"));
            string cmdText = "SELECT * FROM Bugdet_Packing_List.csv";
            System.Data.OleDb.OleDbDataAdapter adapter = new System.Data.OleDb.OleDbDataAdapter(cmdText, str_Conn);
            DataTable dt_Bugdet_Packing_List = new DataTable();
            adapter.Fill(dt_Bugdet_Packing_List);
            gv_Update_Budget_Packing_List.DataSource = dt_Bugdet_Packing_List;
        }


------解决方案--------------------
Extended Properties=Excel 8.0;