xls文件上传

最近在做xls文件上传。这里我写了一个类

public static DataSet ExcelToDS2(string Path)
        {


            string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Path + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1\";";
            System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection(strConn);
            conn.Open();
            System.Data.OleDb.OleDbDataAdapter myCommand = null;
            DataSet ds = null;
            System.Data.DataTable schemaTable = conn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null);
            string tableName = schemaTable.Rows[0][2].ToString().Trim();    //获取 Excel 的表名,默认值是sheet1
            string strExcel = "select * from [" + tableName + "]";
            myCommand = new System.Data.OleDb.OleDbDataAdapter(strExcel, strConn);
            ds = new DataSet();
            myCommand.Fill(ds, "table1");
            conn.Close();
            return ds;


        }

方法参数,直接传的是本地的xls文件路径

在asp.net中上传时,发现只有IE 可以得到具体的物理路径, firefox和谷歌 上传得到的FileName=文件名.xls;

所以后来为了读取xls中的数据

第一把xls文件保存下来,读取数据后在进行删除

  HttpPostedFileBase fileUpload = cb.Request.Files[0];
            string savename = string.Empty;
            string UserId = new UserManage().GetUserId();
            if (fileUpload == null)
                return;
            string filename = fileUpload.FileName;
            string fileExtension = System.IO.Path.GetExtension(filename);
            if (!(fileExtension.Equals(".xls") || fileExtension.Equals(".XLS") || fileExtension.Equals(".xlsx") || fileExtension.Equals(".XLSX")))
                return;
            string path = cb.Server.MapPath("~/Content/File/TempFiles/");
            if (!Directory.Exists(path))
                Directory.CreateDirectory(path);
            savename = path + "unity" + ".xls";
            fileUpload.SaveAs(savename);
//           savename为路径

通过路径去调用 上述方法;
         
          
              //删除
            if (File.Exists(System.Web.HttpContext.Current.Request.PhysicalApplicationPath + savename))
                File.Delete(System.Web.HttpContext.Current.Request.PhysicalApplicationPath + savename);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值