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;
                }
            }
        }
    }
  • 相关阅读:
    maven导入项目时出现“Cannot read lifecycle mapping metadata …… invalid END header (bad central directory offset)pom”错误的解决方法
    Eclipse下使用Git
    Sprint Boot入门(1):创建第一个Spring Boot应用
    Gradle入门(6):创建Web应用项目
    Gradle入门(5):创建二进制发布版本
    maven在windows10系统下安装配置和打包war
    Windows10系统下安装配置Tomcat 9.0.1
    面试题1
    Json序列化帮助类
    NPOI帮助类
  • 原文地址:https://www.cnblogs.com/xhan/p/1504998.html
Copyright © 2011-2022 走看看