ExcelHelp 学习笔记一: C#读取Excel中数据
2014-04-14 22:05
453 查看
1.定义一个ExcelHelp静态文件,提供系统全体调用
2.在需要的地方调用该方法获取Excel中的数据
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using System.Data.OleDb; namespace ExcelApplication { public static class ExcelHelp { //////该方式可以读取.xls以及.xlsx文件 private const string connectionString = "Provider=Microsoft.Ace.OleDb.12.0;" + "data source={0};Extended Properties='Excel 12.0; HDR=NO; IMEX=1'"; //"Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + filePath + ";" + "Extended Properties='Excel 8.0;HDR=NO;IMEX=1';"; private static OleDbConnection getOleDbConnection(string filePath) { return new OleDbConnection(string.Format(connectionString, filePath)); } public static DataTable GetDatasByDataTable(string filePath, string sheetName) { DataTable datatable = new DataTable(); OleDbConnection connection = getOleDbConnection(filePath); try { connection.Open(); if (string.IsNullOrEmpty(sheetName)) { System.Data.DataTable SheetTable = connection.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, null); sheetName = SheetTable.Rows[0]["Table_Name"].ToString(); if (sheetName == "_xlnm#_FilterDatabase") { sheetName = SheetTable.Rows[1]["Table_Name"].ToString(); } sheetName = sheetName.Remove(sheetName.Length - 1, 1); } /////在此处的SQL语句中,sheetName必须使用“[sheetName$]”进行打包起来,否则读取不了数据 string strExcel = string.Format("select * from [{0}$]", sheetName); OleDbDataAdapter adapter = new OleDbDataAdapter(strExcel, connection); DataSet ds = new DataSet(); adapter.Fill(ds, sheetName); datatable = ds.Tables[sheetName]; return datatable; } catch (Exception e) { throw new Exception("读取Excel数据失败"); } finally { connection.Close(); } } } }
2.在需要的地方调用该方法获取Excel中的数据
string filePath = this.textBox1.Text.Trim(); if (string.Empty.Equals(filePath)) { MessageBox.Show("请选择Excel文件"); return; } DataTable result = ExcelHelp.GetDatasByDataTable(filePath, null); for (var i = 0; i < result.Rows.Count; i++) { for (var j = 0; j < result.Columns.Count; j++) { var item = result.Rows[i][j].ToString(); ////此处的item 就是获取到的Excel中的值,可以用于做业务数据处理 } }
相关文章推荐
- C#开发学习笔记:C#利用代码导入Excel数据
- C#学习笔记:c# 从EXCEL 读取信息并保存到dataset中
- 黑马程序员之C#学习笔记:将EXCEL表中的数据导入到后台数据库
- C#学习笔记:从文件中读取数据
- python初学者学习笔记(三)读取excel表格数据
- c#学习笔记(二):保存图片、保存DataGridView数据到本地和从本地读取到DataGridView
- 编程笔记-C# 读取excel的数据
- Spectral Python (SPy)的学习笔记(2)数据读取
- C#学习笔记---数据类型
- C++学习笔记之由文本文件读取数据到vector模板建立的二维数组 并存储为新的文本文件
- [学习笔记]Java如何处理EXCEL的读取
- C#读取Excel数据
- c#从Excel中读取数据并且插入到SQLSERVER数据库中
- c#中采用OLEDB方式来读取EXCEL文件和将数据写入EXCEL文件
- 用c#读取excel文件缺少第一行数据解决方法
- c# 快速读取txt数据到excel中
- C#读取Excel中的数据的类
- C# 从Oracle中读取数据并填充Excel
- C#读取excel数据
- C#利用Openxml读取Excel数据实例