Excel 导入 DataSet 的类

using System;
using System.Data;
using System.Data.OleDb;

namespace Legendigital.Swim.Common
{
    
///<summary>
    
/// Summary description for Excel.
    
///</summary>
    publicclass Excel
     {
        
privateconststring STRING_CONECTTIONSTRING ="Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties="Excel 8.0;HDR=Yes;IMEX=1;"";
        
public Excel()
         {
            
//
            
// TODO: Add constructor logic here
            
//
         }
        
publicstatic DataTable GetDataTable(string excelFilePath,string sql)
         {
            
try
             {
                 DataSet ds
=new DataSet();
                
string connstring =string.Format(STRING_CONECTTIONSTRING,excelFilePath);
                
using(OleDbConnection cnn =new OleDbConnection(connstring))
                 {
                     cnn.Open();
                     OleDbDataAdapter dataAdapter
=new OleDbDataAdapter(sql,cnn);
                     dataAdapter.Fill(ds);
                     cnn.Close();
                    
return ds.Tables[0];
                 }
             }
            
finally
             {        
             }
         }
        
publicstatic DataSet FillDataSet(string excelFilePath,string sql,DataSet ds)
         {
             DataTable dt
= GetDataTable(excelFilePath,sql);

            
foreach(DataRow dr in dt.Rows)
             {
                
try
                 {
                     DataRow newdr
= ds.Tables[0].NewRow();
                    
foreach(DataColumn dc in dt.Columns)
                     {
                        
if(ds.Tables[0].Columns.Contains(dc.ColumnName))
                         {
                             newdr[dc.ColumnName]
= dr[dc.ColumnName];                            
                         }
                     }
                     ds.Tables[
0].Rows.Add(newdr);
                 }
                
catch
                 {

                 }
             }

             ds.AcceptChanges();

            
return ds;
            
         }
     }
}

posted @ 2008-07-14 18:48  洗碗心得  阅读(217)  评论(0编辑  收藏  举报