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;
                }
            }
        }
    }
  • 相关阅读:
    阿里云API网关(1)服务网关的产品概述
    Spring Security 入门(1-1)Spring Security是什么?
    Spring Security入门(2-1)Spring Security
    gradle入门(1-5)创建并运行Web应用
    gradle入门(1-4)多项目构建实战
    gradle入门(1-3)使用gradle开发一个发布版本
    gradle入门(1-2)gradle的依赖管理
    gradle入门(1-1)gradle的概念和使用
    BZOJ1925: [Sdoi2010]地精部落(dp)
    BZOJ1812: [Ioi2005]riv(树形dp)
  • 原文地址:https://www.cnblogs.com/xhan/p/1504998.html
Copyright © 2011-2022 走看看