C#读取excel

string strConn = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=" + FilePath + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;'";
            OleDbConnection conn = new OleDbConnection(strConn);
            conn.Open();
            OleDbCommand comm = new OleDbCommand("SELECT*FROM[Sheet1$]", conn);
            OleDbDataReader myReader = comm.ExecuteReader(CommandBehavior.CloseConnection);

转载于:https://www.cnblogs.com/freedom831215/archive/2010/03/30/1700555.html

### 使用C#读取Excel文件的方法和推荐库 在C#中,读取Excel文件可以通过多种方式实现,包括使用.NET Framework内置功能或第三方库。以下是几种常见的方法及其示例代码。 #### 方法一:使用Spire.XLS for .NET Spire.XLS for .NET 是一个功能强大的免费库,支持读取、写入和操作Excel文件。以下是一个简单的示例代码,展示如何使用该库读取Excel文件中的数据[^3]。 ```csharp using Spire.Xls; namespace ReadExcelData { class Program { static void Main(string[] args) { // 创建Workbook类的对象 Workbook wb = new Workbook(); // 加载Excel文件 wb.LoadFromFile("示例.xlsx"); // 获取第一张工作表 Worksheet sheet = wb.Worksheets[0]; // 获取包含数据的单元格区域 CellRange locatedRange = sheet.AllocatedRange; // 遍历数据区域中的行和列 for (int i = 0; i < locatedRange.Rows.Length; i++) { for (int j = 0; j < locatedRange.Rows[i].ColumnCount; j++) { // 获取单元格数据并输出 Console.Write(locatedRange[i + 1, j + 1].Value + " "); } Console.WriteLine(); } } } } ``` #### 方法二:使用EPPlus库 EPPlus 是另一个流行的开源库,用于处理Excel文件(仅支持.xlsx格式)。以下是使用EPPlus读取Excel文件的示例代码[^4]。 ```csharp using OfficeOpenXml; using System.IO; namespace EPPlusExample { class Program { static void Main(string[] args) { using (var package = new ExcelPackage(new FileInfo("示例.xlsx"))) { var worksheet = package.Workbook.Worksheets[0]; int rowCount = worksheet.Dimension.Rows; int colCount = worksheet.Dimension.Columns; for (int row = 1; row <= rowCount; row++) { for (int col = 1; col <= colCount; col++) { Console.Write(worksheet.Cells[row, col].Text + " "); } Console.WriteLine(); } } } } } ``` #### 方法三:使用OleDb连接 通过OleDb连接,可以将Excel文件视为数据库进行查询。此方法适用于.xls和.xlsx文件,但需要安装Microsoft ACE OLEDB驱动程序[^2]。 ```csharp using System.Data.OleDb; using System.Data; namespace OleDbExample { class Program { static void Main(string[] args) { string connectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=示例.xlsx;Extended Properties='Excel 12.0 Xml;HDR=YES'"; using (OleDbConnection connection = new OleDbConnection(connectionString)) { connection.Open(); string query = "SELECT * FROM [Sheet1$]"; using (OleDbDataAdapter adapter = new OleDbDataAdapter(query, connection)) { DataTable dataTable = new DataTable(); adapter.Fill(dataTable); foreach (DataRow row in dataTable.Rows) { foreach (var item in row.ItemArray) { Console.Write(item.ToString() + " "); } Console.WriteLine(); } } } } } } ``` ### 总结 以上介绍了三种常用的方法来读取Excel文件:使用Spire.XLS for .NET、EPPlus库以及OleDb连接。每种方法都有其适用场景和优缺点,具体选择取决于项目需求和技术栈。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值