日期:2014-05-17  浏览次数:20543 次

抓取Excel 列数据的时候,为何抓的数据不对



 string filename = DateTime.Now.ToString("yyyymmddhhMMss") + this.FptNW.FileName;              //获取Execle文件名  DateTime日期函数
            string savePath = Server.MapPath(("~\\Upfiles\\") + filename);//Server.MapPath 获得虚拟服务器相对路径
            this.FptNW.SaveAs(savePath);                        //SaveAs 将上传的文件内容保存在服务器上
            DataSet ds = ExecleDs(savePath, filename);           //调用自定义方法
            DataRow[] dr = ds.Tables[0].Select();            //定义一个DataRow数组
            int rowsnum = ds.Tables[0].Rows.Count;
 for (int i = 1; i < dr.Length; i++)
                {
                    dy_LoadExcel.SupplierNumber =dr[i][0].ToString();// excel列名【名称不能变,否则就会出错】
                    dy_LoadExcel.SupplierName = dr[i][1].ToString();//编号 列名 以下类似
                    dy_LoadExcel.Factory = dr[i][2].ToString();
                    dy_LoadExcel.PoOrderNu = dr[i][3].ToString();
}



列是对的,其他列的数据是对的,唯独处理  4500390795 的时候,到sql 数据库 里面上完数据就和这不对

------解决方案--------------------


把自动筛选去掉