zoukankan      html  css  js  c++  java
  • 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;
                
             }
         }
    }

  • 相关阅读:
    安卓读取SD卡的容量
    Eclipse常用快捷键
    安卓实现记住密码登陆功能
    eclipse DDMS导出文件失败--android Failed to push the item
    LinearLayout线性布局搭配权重属性的使用
    unity 天空盒有缝隙的解决方案
    unity gitignore
    unity 5.6.1 Oculus手柄输入问题
    两个长整形相除等于零
    Unity 获得视频的某一帧,生成缩略图
  • 原文地址:https://www.cnblogs.com/jcomet/p/1242782.html
Copyright © 2011-2022 走看看