Asp.net读取Excel文件 2

本文介绍了一个用于判断上传Excel文件版本并获取相应连接字符串的方法。通过分析文件扩展名,该方法可以返回适用于.xls或.xlsx文件的正确连接字符串,以便进一步处理Excel文件数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果你经常光临Insus.NET的博客,你会留意到有一篇博文 Asp.net读取Excel文件 那只是列出Excel两个版本的连接语句。但是你的专案在应用时,也许不能固定用户只上传某一种版本的Excel文件而你在专案中取舍使用哪一种连接字串,所以你会尝试使用下面方法去解决,判断上传的Excel文件是什么版本的:

View Code
  public   static   string  GetExcelConnectionString( string  file)
        {
            
string  connectionString  =   string .Empty;
            
string  fileExtension  =  file.Substring(file.LastIndexOf( " . " +   1 );
            
switch  (fileExtension)
            {
                
case   " xls " :
                    connectionString 
=   " Provider=Microsoft.Jet.OLEDB.4.0;Data Source= "   +  HttpContext.Current.Server.MapPath(file)  +   " ;Extended Properties='Excel 8.0;HDR=YES;IMEX=1' " ;
                    
break ;
                
case   " xlsx " :
                    connectionString 
=   " Provider=Microsoft.ACE.OLEDB.12.0;Data Source= "   +  HttpContext.Current.Server.MapPath(file)  +   " ;Extended Properties='Excel 12.0 Xml;HDR=YES;IMEX=1' " ;
                    
break ;
            }
            
return  connectionString;
        }

 

在专案中调用时(代码部分):

View Code
  // 从数据库取得上传的Excel文件名
         string  file  =  objDictionary[ " FileFullName " ].ToString();
        
// 获取中Excel的连接字串。
         string  excelConnectionString  =  GetExcelConnectionString(file);
       
// 传入至OleDbConnection实例中去
        OleDbConnection objConn  =   new  OleDbConnection(excelConnectionString);
        
string  sql  =   " SELECT * FROM [Sheet1$] " ;
        OleDbDataAdapter ObjDa 
=   new  OleDbDataAdapter(sql, objConn);
        DataSet objDs 
=   new  DataSet();
        ObjDa.Fill(objDs);

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值