标题:详解C#读写Excel的几种方法
正文:
在C#中,常常需要读写Excel的操作,本文将详细解释几种常用的方法。
第一种方法:使用OLEDB读写Excel
-
首先需要在引用中添加Microsoft.Office.Interop.Excel库。
-
使用OleDbConnection建立连接,读取需要使用SELECT语句,将数据存入DataSet中,写入Excel需要使用INSERT语句。
示例代码:
using System.Data.OleDb; // 引用OleDb库
// 连接Excel表格
string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=[文件路径]; Extended Properties=Excel 12.0;";
// 读取Excel表格
string selectString = "SELECT * FROM [Sheet1$]";
OleDbDataAdapter adapter = new OleDbDataAdapter(selectString, connectionString);
DataSet dataSet = new DataSet();
adapter.Fill(dataSet, "ExcelData");
// 向Excel表格写入数据
string insertString = "INSERT INTO [Sheet1$] (Name, Age) VALUES ('Tom', 20)";
OleDbCommand command = new OleDbCommand(insertString, connection);
command.ExecuteNonQuery();
第二种方法:使用Excel Interop对象读写Excel
-
首先需要安装Microsoft Excel软件,并在引用中添加Microsoft.Office.Interop.Excel库。
-
使用Excel Interop对象需要先声明Excel对象和Workbook对象,然后打开Excel文件并获取Worksheet对象,最后读取或写入数据。
示例代码:
using System.IO;
using Microsoft.Office.Interop.Excel;
// 创建Excel对象
Application excel = new Application();
Workbook workbook = excel.Workbooks.Open([文件路径]);
// 获取工作表
Worksheet worksheet = (Worksheet)workbook.Sheets["Sheet1"];
// 读取Excel表格中的数据
Range range = worksheet.UsedRange;
for (int row = 1; row <= range.Rows.Count; row++)
{
for (int col = 1; col <= range.Columns.Count; col++)
{
string cellValue = (string)(range.Cells[row, col] as Range).Value;
Console.Write(cellValue + "\t");
}
Console.WriteLine();
}
// 向Excel表格写入数据
worksheet.Cells[1, 1] = "Tom";
worksheet.Cells[1, 2] = 20;
workbook.Save();
以上就是两种常用的C#读写Excel的方法,需要注意Excel文件的路径、工作表名称等参数的设置。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解C#读写Excel的几种方法 - Python技术站