博客
关于我
C#获取Excel中所有的Sheet名称
阅读量:419 次
发布时间:2019-03-06

本文共 1185 字,大约阅读时间需要 3 分钟。

原文地址:http://blog.csdn.net/qq1010726055/article/details/6858849

 

Excel.Application myExcel = new Excel.Application(); object missing = System.Reflection.Missing.Value; myExcel.Application.Workbooks.Open(this.txtFile.Text, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing); //this.txtFile.Text为Excel文件的全路径Excel.Workbook myBook = myExcel.Workbooks[1];//获取第一个SheetExcel.Worksheet sheet = (Excel.Worksheet)myBook.Sheets[1]; string sheetName = sheet.Name; //Sheet名 //获取全部Sheet名public static StringCollection ExcelSheetName(string filepath) { StringCollection names = new StringCollection(); string strConn; strConn = "Provider=Microsoft.Ace.OLEDB.12.0;Data Source=" + filepath + ";Extended Properties='Excel 12.0;HDR=Yes;IMEX=2'"; OleDbConnection conn = new OleDbConnection(strConn); conn.Open(); DataTable sheetNames = conn.GetOleDbSchemaTable (System.Data.OleDb.OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" }); conn.Close();foreach (DataRow dr in sheetNames.Rows) { names.Add(dr[2].ToString()); } return names; }

注意:操作完后要关闭:

myBook.Close(Type.Missing,Type.Missing,Type.Missing);

myExcel.Quit();

你可能感兴趣的文章
原创 | 我被面试官给虐懵了,竟然是因为我不懂Spring中的@Configuration
查看>>
为什么阿里巴巴要求谨慎使用ArrayList中的subList方法
查看>>
Redis不是一直号称单线程效率也很高吗,为什么又采用多线程了?
查看>>
基于Python的Appium环境搭建合集
查看>>
Requests实践详解
查看>>
接口测试简介
查看>>
Golang Web入门(4):如何设计API
查看>>
让sublime实现js控制台(前提是安装了nodejs)
查看>>
error: 'LOG_TAG' macro redefined
查看>>
ES6基础之——new Set
查看>>
nodeJS实现识别验证码(tesseract-ocr+GraphicsMagick)
查看>>
玩玩小爬虫——试搭小架构
查看>>
Javascript之旅——第八站:说说instanceof踩了一个坑
查看>>
Javascript之旅——第九站:吐槽function
查看>>
Sql Server之旅——第十站 看看DML操作对索引的影响
查看>>
双十一来了,别让你的mongodb宕机了
查看>>
Tomcat 热部署
查看>>
深入解析 HTTP 缓存控制
查看>>
深入浅出访问者模式
查看>>
深入探索Android热修复技术原理读书笔记 —— 热修复技术介绍
查看>>