zoukankan      html  css  js  c++  java
  • 常用类-ExcelHelper

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Data;
    using System.Data.OleDb;
    using System.IO;
    
    namespace Utils
    {
        /// <summary>
        /// Excel 辅助类
        /// </summary>
        public class ExcelHelper
        {
            public const string Excel2003 = ".xls";
    
            public const string Excel2007 = ".xlsx";
    
            public enum ConnectionMode
            {
                Read,
                Write
            }
    
            public static OleDbConnection GetConnection(string file, ConnectionMode mode)
            {
                if (File.Exists(file))
                {
                    var extension = Path.GetExtension(file);
                    var connectionString = "";
                    if (ExcelHelper.Excel2003.Equals(extension, StringComparison.CurrentCultureIgnoreCase))
                    {
                        connectionString = String.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="{0}";Extended Properties="Excel 8.0;HDR=yes;{1}";",
                            file,
                            (mode == ConnectionMode.Read ? "IMEX=1" : "IMEX=2")
                            );
                    }
                    else if (ExcelHelper.Excel2007.Equals(extension, StringComparison.CurrentCultureIgnoreCase))
                    {
                        connectionString = String.Format("Provider=Microsoft.Ace.OLEDB.12.0;Data Source="{0}";Extended Properties="Excel 12.0;HDR=yes;{1}";",
                            file, (mode == ConnectionMode.Read ? "IMEX=1" : ""));
                    }
                    return new OleDbConnection(connectionString);
                }
                else
                {
                    throw new FileNotFoundException();
                }
    
            }
    
    
            /// <summary>
            ///ConnectionMode is read
            /// </summary>
            /// <param name="file"></param>
            /// <param name="commandText"></param>
            /// <param name="cmdParameters"></param>
            /// <returns></returns>
            public static DataTable ExecuteDatatable(string file, string commandText, params OleDbParameter[] cmdParameters)
            {
                return ExecuteDatatable(file, commandText, ConnectionMode.Read, cmdParameters);
            }
    
    
            public static DataTable ExecuteDatatable(string file, string commandText, ConnectionMode mode, params OleDbParameter[] cmdParameters)
            {
                using (OleDbConnection conn = GetConnection(file, mode))
                using (OleDbCommand cmd = new OleDbCommand())
                {
                    cmd.Connection = conn;
                    cmd.CommandText = commandText;
                    if (cmdParameters != null && cmdParameters.Length > 0)
                    {
                        foreach (OleDbParameter param in cmdParameters)
                        {
                            cmd.Parameters.Add(param);
                        }
                    }
                    OleDbDataAdapter da = new OleDbDataAdapter(cmd);
                    DataTable dt = new DataTable();
                    da.Fill(dt);
                    return dt;
                }
            }
    
    
            /// <summary>
            /// ConnectionMode is write
            /// </summary>
            /// <param name="file"></param>
            /// <param name="commandText"></param>
            /// <param name="cmdParameters"></param>
            public static void ExecuteNonQuery(string file, string commandText, params OleDbParameter[] cmdParameters)
            {
                ExecuteNonQuery(file, commandText, ConnectionMode.Write, cmdParameters);
            }
    
            public static void ExecuteNonQuery(string file, string commandText, ConnectionMode mode, params OleDbParameter[] cmdParameters)
            {
                using (OleDbConnection conn = GetConnection(file, mode))
                using (OleDbCommand cmd = new OleDbCommand())
                {
                    conn.Open();
                    cmd.Connection = conn;
                    cmd.CommandText = commandText;
                    if (cmdParameters != null && cmdParameters.Length > 0)
                    {
                        foreach (OleDbParameter param in cmdParameters)
                        {
                            cmd.Parameters.Add(param);
                        }
                    }
                    cmd.ExecuteNonQuery();
                    conn.Close();
                }
            }
        }
    }
  • 相关阅读:
    tableView cell 设置圆角 响应链
    iOS
    git code 初次上传
    隐藏导航栏,偏移20PX
    Mysql数据库远程连接
    umeng推送, 生产环境deviceToken失效可能原因
    KeyChainWrapper
    UIVisualEffectView(高斯模糊效果)
    UVA 11582 Colossal Fibonacci Numbers! 快速幂
    HDU 2859 Phalanx DP
  • 原文地址:https://www.cnblogs.com/hanliping/p/10561674.html
Copyright © 2011-2022 走看看