代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
】
获取Excel Sheet名称,对特殊字符、重名进行了处理
作者:
艳双
/ 发布于
2015/3/24
/
964
/// <summary> /// 获取指定Excel内Sheet集合 /// </summary> /// <param name="pFilePath"></param> /// <param name="pOutInfo"></param> /// <returns></returns> public static string[] GetExcelSheetNames(string pFilePath, out string pOutInfo) { string vOutInfo = string.Empty; List<string> vList = new List<string>(); try { string strConn = string.Format("Provider=Microsoft.Ace.OLEDB.12.0;Data Source={0};Extended Properties='Excel 12.0;HDR=Yes;IMEX=2'", pFilePath); OleDbConnection conn = new OleDbConnection(strConn); conn.Open(); DataTable sheetNames = conn.GetOleDbSchemaTable (System.Data.OleDb.OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" }); conn.Close(); string[] vSheets = new string[sheetNames.Rows.Count]; string vName = string.Empty; //填充 vSheets 数组 for (int i = 0; i < sheetNames.Rows.Count; i++) { vSheets[i] = sheetNames.Rows[i][2].ToString().Trim(); } //对特殊字符进行规范处理 string pSheetName = string.Empty; for (int i = 0; i < vSheets.Length; i++) { string pStart = vSheets[i].Substring(0, 1); string pEnd = vSheets[i].Substring(vSheets[i].Length - 1, 1); if (pStart == "'" && pEnd == "'") { vSheets[i] = vSheets[i].Substring(1, vSheets[i].Length - 2); } Char[] pChar = vSheets[i].ToCharArray(); pSheetName = string.Empty; for (int j = 0; j < pChar.Length; j++) { if (pChar[j].ToString() == "'" && pChar[j + 1].ToString() == "'") { pSheetName += pChar[j].ToString(); j++; } else { pSheetName += pChar[j].ToString(); } } vSheets[i] = pSheetName; } //当最后字符为$时移除 for (int i = 0; i < vSheets.Length; i++) { pSheetName = vSheets[i]; if (pSheetName.Substring(pSheetName.Length - 1, 1) == "$") { vSheets[i] = pSheetName.Substring(0, pSheetName.Length - 1); } } //移除重复的Sheet名(因为特殊原因,通过这个方法获取的Sheet会有重名) for (int i = 0; i < vSheets.Length; i++) { if (vList.IndexOf(vSheets[i].ToLower()) == -1) { vList.Add(vSheets[i]); } } } catch (Exception vErr) { vOutInfo = vErr.Message; } pOutInfo = vOutInfo; return vList.ToArray(); }
试试其它关键字
Excel
同语言下
.
StringHelper.cs 对html标签过滤
.
不调用Dbhelper数据库的后台代码
.
后台弹出提示框,防止页面刷新。
.
倒计时间表
.
JAVA集成SVN,查看应用更新日志
.
输入一串无序数,返回出现次数最多的数字,并返回个数
.
table中连续字符换行
.
WPF 获取屏幕分辨率
.
简单的实现用户注册时,向其油箱发送激活码邮件,并进
.
JavaMail发送邮件
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
艳双
贡献的其它代码
(
11
)
.
监测 Nginx 访问日志 502 情况,并做相应动作
.
实现http多线程断点续传下载文件
.
过滤特殊字符,保留中文,字母,数字,和-
.
动态粘性页脚
.
WebApi通过HttpClient来调用Web Api接口
.
获取当前屏幕大小
.
棋子消除问题
.
筛法打印素数表
.
获取Excel Sheet名称,对特殊字符、重名进行了处理
.
点击退出按钮需要确认再退出
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3