zoukankan      html  css  js  c++  java
  • 使用oledb访问excel文件

    操作方法吧excel当成数据库就行了。sheet就是表!然后写sql 语句,create table ..insert into ,update ,select ..whaterver..

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Data.OleDb;
    using System.Data;
    using System.IO;
    namespace Utils
    {
        
    public class OLEDBExcelHelper
        {
            
    public static void ExcuteNonQuery(string filePath, string sql)
            {
                
    using(OleDbConnection conn = new OleDbConnection(GetConnectionString(filePath)));
                {
                    OleDbCommand cmd 
    = conn.CreateCommand();
                    cmd.CommandText 
    = sql;

                    conn.Open();
                    cmd.ExecuteNonQuery();
                    conn.Close();
                }
            }
            
    public static void BatchExcuteNonQuery(string filePath, IList<string> sqlList)
            {
                
    using (OleDbConnection conn = new OleDbConnection(GetConnectionString(filePath)))
                {
                    OleDbCommand cmd 
    = conn.CreateCommand();
                    conn.Open();
                    
    foreach (var sql in sqlList)
                    {
                        cmd.CommandText 
    = sql;
                        cmd.ExecuteNonQuery();
                    }
                }
            }
            
    public static string GetConnectionString(string filePath)
            {
                
    if (filePath.EndsWith(".xls"))
                    
    return string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};"
                        
    + "Extended Properties='Excel 8.0;HDR=Yes;IMEX=2';", filePath);
                
    if (filePath.EndsWith(".xlsx"))
                    
    return string.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};"
                        
    + "Extended Properties='Excel 12.0 Xml;HDR=YES';", filePath);
                
    throw new Exception("wrong file type!");
            }
            
    public static DataTable ExcuteSelect(string filePath, string sql)
            {
                
    using(OleDbConnection conn = new OleDbConnection(GetConnectionString(filePath)));
                {
                    OleDbDataAdapter ad 
    = new OleDbDataAdapter(sql, conn);
                    DataTable table 
    = new DataTable();
                    conn.Open();
                    ad.Fill(table);
                    
    return table;
                }
            }
        }
    }
  • 相关阅读:
    网上常见的分享功能, 比如 点击分享到 人人 微博 空间 等都是怎么做的...
    qq客服代码实现过程
    cnzz友盟怎么安装网站统计代码监控网站流量
    本地部署151688过程记录
    本地部署151688过程记录20110526
    梦里秦淮:互联网商业模式≠成功
    要远离这些平台网站
    阿里旺旺新老版本共存
    豆皮拖鞋穿著確實感覺不太舒服,磨腳,好看是好看,還是沒有哥倫比亞好
    深圳批发市场有哪些好的呢?
  • 原文地址:https://www.cnblogs.com/xhan/p/1504998.html
Copyright © 2011-2022 走看看