excel、csv、txt文件数据读取
2024-10-02 05:02:35
/// <summary>
/// 读取Excel表每一行第一列的字符串集合
/// </summary>
/// <param name="filePath">文件路径</param>
/// <returns></returns>
private string[] ExcelReader(string filePath)
{
List<string> result = new List<string>();
string connStr = "Provider=Microsoft.Ace.OleDb.12.0;data source=" + filePath + ";Extended Properties='Excel 12.0; HDR=NO; IMEX=1'";
OleDbConnection Conn = new OleDbConnection(connStr);
Conn.Open();
DataTable dtTabeName = new DataTable();
dtTabeName = Conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
if (dtTabeName == null)
{
return null;
}
string SheetName = dtTabeName.Rows[]["TABLE_NAME"].ToString();
DataSet ds = new DataSet();
OleDbDataAdapter odda = null;
odda = new OleDbDataAdapter(string.Format("SELECT * FROM [{0}]", SheetName), Conn);
odda.Fill(ds, SheetName);
Conn.Close();
DataTable dt = ds.Tables[];
for (int i = ; i < dt.Rows.Count; i++)
{
if (dt.Rows[i][].ToString().Trim().Length > )
{
result.Add(dt.Rows[i][].ToString());
}
}
return result.ToArray();
} /// <summary>
/// 读取Csv\Txt文件中每一行第一列的字符串集合
/// </summary>
/// <param name="filePath">文件路径</param>
/// <param name="encoding">编码</param>
/// <returns></returns>
private string[] CsvTxtReader(string filePath, string encoding = "gb2312")
{
StringBuilder sb = new StringBuilder();
using (StreamReader sr = new StreamReader(filePath, Encoding.GetEncoding(encoding)))
{
sb.Append(sr.ReadToEnd());
}
string _text = sb.ToString();
string[] separator = { "\r\n", "\n\r", "\n" };
string[] _textArray = _text.Split(separator, StringSplitOptions.RemoveEmptyEntries);
return _textArray;
}
最新文章
- 动态计算UITableViewCell高度
- django manytomany
- 【JSP】JSP基础学习记录(四)—— Servlet
- Sublime Text 2 安装Package Control和插件的两种方法
- adding validation annotators to model classes 在linq to EntityFrame的Model中添加前台验证validation annotators
- UIView的ContentMode
- Learning Puppet — Manifests
- 如何在vmware上创建共享磁盘
- MYSQL基础02(查询)
- ClassLoader类加载器
- 记一次T-SQL查询优化 索引的重要性
- visifire 图表属性样式设置说明,字体,阴影设置
- <;c:if>;标签
- GitHub使用说明
- Chapter 15_2 编写模块的基本方法
- Java获取当前的日期和时间
- 多进程Multiprocessing模块
- POSIX信号量
- 蓝牙协议分析(4)_IPv6 Over BLE介绍
- 关于mariad&;mysql部分