string str1 ="123";
string str2 ="456";
string str3 ="789";
string mypath= Environment.CurrentDirectory + @"\123.xlsx";
string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+ mypath + ";Extended Properties='Excel 12.0;HDR=no;'";
using (OleDbConnection OleConn = new OleDbConnection(strConn))
OleConn.Open();
try
{
using (OleDbCommand oleCommand = new OleDbCommand("update [Sheet1$B1:B1] set f1='" + str1 + "'", OleConn))
{
oleCommand.ExecuteNonQuery();
}
using (OleDbCommand oleCommand = new OleDbCommand("update [Sheet1$C2:C2] set f1='" + str3 + "'", OleConn))
{
oleCommand.ExecuteNonQuery();
}
using (OleDbCommand oleCommand = new OleDbCommand("update [Sheet1$D3:D3] set f1='" + str2 + "'", OleConn))
{
oleCommand.ExecuteNonQuery();
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
既然用C#了,为啥不用Open XML
SDK? 搜搜 Open XML 读写EXCEL.
https://blog.csdn.net/qq283426694/article/details/45692327
用OLE很容易造成EXCEL占用卡死.
看下是不是你原来excel中只有1行,update是更新,要原来的表格有3行才能更新。
在执行你代码以前,先在c2 d3写入别的内容,保存,再执行看看。