操作Excel数据增删改查示例
在C#语言中,我们可以使用OleDb和Excel Interop两种方式来操作Excel数据。
使用OleDb操作Excel数据
使用OleDb可以方便地对Excel中的数据进行操作。操作过程中,需要注意Excel版本和文件格式,以及数据类型的转换问题。
连接Excel
我们需要使用OleDbConnection类来建立与Excel文件的连接。连接字符串的格式如下:
string connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=<Excel文件路径>;Extended Properties=\"Excel 12.0 Xml;HDR=YES\"";
其中,Data Source表示Excel文件路径,Extended Properties中的“HDR=YES”表示将Excel中的第一行作为字段名称。如果Excel是97-2003版本,需要将Extended Properties中的版本修改为“Excel 8.0”。
查询Excel数据
使用OleDbConnection和OleDbCommand类可以方便地查询Excel数据。以下是一个查询示例:
var conn = new OleDbConnection(connString);
conn.Open();
string sql = "SELECT * FROM [Sheet1$]";
OleDbCommand cmd = new OleDbCommand(sql, conn);
OleDbDataAdapter adapter = new OleDbDataAdapter(cmd);
DataTable dt = new DataTable();
adapter.Fill(dt);
conn.Close();
以上代码可以查询Excel中名为“Sheet1”的表的所有数据,并将查询结果以DataTable的形式返回。可以根据需要调整查询条件,并且使用DataTable的方法对数据进行操作,例如:增删改查等。
增加Excel数据
使用OleDbCommand类的INSERT语句可以方便地向Excel中添加数据。以下是一个添加示例:
var conn = new OleDbConnection(connString);
conn.Open();
string sql = "INSERT INTO [Sheet1$] (name, age, gender) VALUES ('Tom', 22, 'Male')";
OleDbCommand cmd = new OleDbCommand(sql, conn);
cmd.ExecuteNonQuery();
conn.Close();
以上代码可以向Excel的“Sheet1”表中添加一条数据,数据内容为“Tom”、“22”、“Male”。
使用Excel Interop操作Excel数据
Excel Interop可以提供更为细致的Excel操作,对数据格式转换更加支持,并且可以操作Excel的各种功能。
连接Excel
使用Excel Interop需要先添加对Microsoft.Office.Interop.Excel的引用,然后通过以下代码建立连接:
var app = new Excel.Application();
var workbook = app.Workbooks.Open(@"<Excel文件路径>");
var sheet = workbook.Sheets["Sheet1"] as Excel.Worksheet;
以上代码可以打开Excel文件,并且获取Sheet1工作表的引用。
查询Excel数据
使用Excel Interop需要对数据类型进行转换,以下是一个查询示例:
int rowCount = sheet.UsedRange.Rows.Count;
int colCount = sheet.UsedRange.Columns.Count;
DataTable dt = new DataTable();
for (int i = 2; i <= rowCount; i++)
{
DataRow dr = dt.NewRow();
for (int j = 1; j <= colCount; j++)
{
var value = sheet.Cells[i, j].Value2;
dr[j - 1] = value == null ? "" : value.ToString();
}
dt.Rows.Add(dr);
}
以上代码可以查询Excel中的所有数据,并且将结果以DataTable的形式返回。
增加Excel数据
使用Excel Interop可以方便地向指定单元格写入数据,以下是一个添加示例:
sheet.Cells[2, 1].Value2 = "Tom";
sheet.Cells[2, 2].Value2 = 22;
sheet.Cells[2, 3].Value2 = "Male";
以上代码可以向Excel的“Sheet1”表中添加一条数据,数据内容为“Tom”、“22”、“Male”。
删除Excel数据
使用Excel Interop可以方便地删除指定单元格的数据,以下是一个删除示例:
sheet.Cells[2, 1].Value2 = "";
sheet.Cells[2, 2].Value2 = "";
sheet.Cells[2, 3].Value2 = "";
以上代码可以删除Excel中“Sheet1”表的第二行数据。
修改Excel数据
使用Excel Interop可以方便地修改指定单元格的数据,以下是一个修改示例:
sheet.Cells[2, 3].Value2 = "Female";
以上代码可以将Excel中“Sheet1”表的第二行第三列的数据修改为“Female”。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#操作Excel数据增删改查示例 - Python技术站