• 技术文章 >后端开发 >C#.Net教程

    C# 获取Excel工作薄中Sheet页(工作表)名集合

    黄舟黄舟2017-02-18 10:48:44原创3130
    C# 获取Excel工作薄中Sheet页(工作表)名集合

      #region 获取Excel工作薄中Sheet页(工作表)名集合
            /// <summary> 
            /// 获取Excel工作薄中Sheet页(工作表)名集合
            /// </summary> 
            /// <param name="excelFile">Excel文件名及路径,EG:C:\Users\JK\Desktop\导入测试.xls</param> 
            /// <returns>Sheet页名称集合</returns> 
            private String[] GetExcelSheetNames(string fileName)
            {
                OleDbConnection objConn = null;
                System.Data.DataTable dt = null;
                try
                {
                    string connString=string.Empty;
                    string FileType =fileName.Substring(fileName.LastIndexOf("."));
                    if (FileType == ".xls")  
                     connString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
                        "Data Source=" + fileName + ";Extended Properties=Excel 8.0;";
                    else//.xlsx
                        connString = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + fileName + ";" + ";Extended Properties=\"Excel 12.0;HDR=YES;IMEX=1\"";  
                    // 创建连接对象 
                    objConn = new OleDbConnection(connString);
                    // 打开数据库连接 
                    objConn.Open();
                    // 得到包含数据架构的数据表 
                    dt = objConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
                    if (dt == null)
                    {
                        return null;
                    }
                    String[] excelSheets = new String[dt.Rows.Count];
                    int i = 0;
                    // 添加工作表名称到字符串数组 
                    foreach (DataRow row in dt.Rows)
                    {
                        string strSheetTableName = row["TABLE_NAME"].ToString();
                        //过滤无效SheetName
                        if (strSheetTableName.Contains("$")&&strSheetTableName.Replace("'", "").EndsWith("$"))
                        {
                            excelSheets[i] = strSheetTableName.Substring(0, strSheetTableName.Length - 1);
                        }                   
                        i++;
                    }
                    return excelSheets;
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                    return null;
                }
                finally
                {
                    // 清理 
                    if (objConn != null)
                    {
                        objConn.Close();
                        objConn.Dispose();
                    }
                    if (dt != null)
                    {
                        dt.Dispose();
                    }
                }
            }
            #endregion

    以上就是C# 获取Excel工作薄中Sheet页(工作表)名集合的内容,更多相关内容请关注PHP中文网(m.sbmmt.com)!


    php入门到就业线上直播课:查看学习

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    快捷开发Web应用及小程序:点击使用

    支持亿级表,高并发,自动生成可视化后台。

    专题推荐:C# Excel Sheet页
    上一篇:C# 读取Excel中的数据 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 解决asp.net中“从客户端中检测到有潜在危险的Request.Form值”的错误• asp.net 图片验证码的HtmlHelper• ASP.NET使用Ajax如何返回Json对象的方法具体介绍• SUNWEN教程之----C#进阶(二)• SUNWEN教程之----C#进阶(三)
    1/1

    PHP中文网