• 大小: 26KB
    文件类型: .cs
    金币: 2
    下载: 1 次
    发布日期: 2024-01-09
  • 语言: C#
  • 标签:

资源简介

2012,我的C#全能Excel操作(无需Office,不使用XML) 有时候,Excel操作会成为我们程序员的痛处。 COM的方式处理?杀进程?需要安装Office? No,nononono!这些都不想了。 我只要OleDb就够用了。 读取内容产生DataSet? 没问题! 创建Excel文件? 没问题! 在Excel文件中创建Sheet? 没问题! 我要取出Excel文件中的所有表名? 没问题! 我要以索引来操作Sheet,不是名字行不? 没问题! 导出的数据太多,要分开多个Sheet放,行不? 没问题! 我要再扩展,可不可以? 代码都给你了,你说呢?

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.OleDb;
using System.IO;

namespace Core.DarrenExcelHelper
{
    /// 
    /// 描述:對Excel文件的創建表、讀取、寫入數據操作.
    /// 程序員:谢堂文(Darren Xie)
    /// 創建日期:
    /// 版本:1.0
    /// 

    public static class MyExcelUtls
    {
        #region 取文件的擴展名
        /// 
        /// 取文件的擴展名
        /// 

        /// 文件名稱
        /// string
        public static string GetExtFileTypeName(string FileName)
        {
            string sFile = FileName;// myFile.PostedFile.FileName;
            sFile = sFile.Substring(sFile.LastIndexOf(“\\“) + 1);
            sFile = sFile.Substring(sFile.LastIndexOf(“.“)).ToLower();
            return sFile;
        }
        #endregion

        #region 檢查一個文件是不是2007版本的Excel文件
        /// 
        /// 檢查一個文件是不是2007版本的Excel文件
        /// 

        /// 文件名稱
        /// bool
        public static bool IsExcel2007(string FileName)
        {
            bool r;
            switch (GetExtFileTypeName(FileName))
            {
                case “.xls“:
                    r = false;
                    break;
                case “.xlsx“:
                    r = true;
                    break;
                default:
                    throw new Exception(“你要檢查“ + FileName + “是2007版本的Excel文件還是之前版本的Excel文件,但是這個文件不是一個有效的Excel文件。“);

            }
            return r;
        }

        #endregion

        #region Excel的連接串
        //Excel的連接串
        //2007和之前的版本是有區別的,但是新的可以讀取舊的

        /// 
        /// Excel文件在服務器上的OLE連接字符串
        /// 

        /// Excel文件在服務器上的路徑
        /// 第一行不是標題:true;第一行是標題:false;
        /// String
        public static String GetExcelConnectionString(string excelFile bool no_HDR)
        {

            try
            {
                if (no_HDR)
                {
                    if (IsExcel2007(excelFile))
                    {
                        return “Provider=Microsoft.Ace.OleDb.12.0;“ + “data source=“ + excelFile + “;Extended Properties=‘Excel 12.0; HDR=NO; IMEX=1‘“; //此连接可以操作.xls与.xlsx文件
                    }
                    else
                    {
                        return “Provider=Microsoft.Jet.OleDb.4.0;“ + “data source=“ + excelFile + “;Extended Properties=‘Excel 8.0; HDR=NO; IMEX=1‘“; //此连接只能操作Excel2007之前(.xls)文件

                    }
                }
                else
                {
                    return GetExcelConnectionString(excelFile);
                }
            }
            catch (Exception ee)
            {
                throw new Exception(ee.Message);
            }
        }
        /// 

        //

评论

共有 条评论

相关资源