C# Excel 03的数据操作
最近用WinForm做了一个Excel导入导出功能的程序。在网上找了很久都没有找到一个简单方便的代码。后来在同事那儿拿到一份读取Excel数据的代码。看到那个代码,让我大吃一惊,这不是对Access数据库的读取方式吗?就是数据库连接的字符串改变了一下。连接字符串:string strCon = "Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = " + fileName + ";Extended Properties=Excel 8.0";
当然在连接Access数据库时,我们要引入 System.Data.OleDb 这个命名空间。
主要代码:
OpenFileDialog ofd = new OpenFileDialog();
ofd.Title = "Excel文件";
ofd.FileName = "";
ofd.Filter = "Excel文件(*.xls)| *.xls";
string fileName = "";
if (ofd.ShowDialog() == DialogResult.OK)
{
fileName = ofd.FileName;
//之后想干吗就干吗
}
if (!string.IsNullOrEmpty(fileName))
{
string strCon = "Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = " + fileName + ";Extended Properties=Excel 8.0";
OleDbConnection strConn = new OleDbConnection(strCon);
string strSql = "select * from [sheet1$]";
strConn.Open();
OleDbDataAdapter strCom = new OleDbDataAdapter(strSql, strConn);
DataSet ds = new DataSet();
strCom.Fill(ds, "[sheet1$]");
strConn.Close();
这里我是通过打开对话框的方式来选择Excel文件的,而Excel里的数据时放在[sheet1$]中的。
下面我们来看看怎么更新Excel里的数据吧,代码:
strConn.Open();
for (int i = 0; i < lab.Count; i++)
{
string strInsert = "update [sheet1$] set [备注]='" + field[i] + "' where [URL]='" + lab.ElementAt(i).Key + "'";
OleDbCommand cmd = new OleDbCommand(strInsert, strConn);
int int_insert = cmd.ExecuteNonQuery();
}
strConn.Close();
这里有两个数据字段是要知道的[备注],[URL]。当然如果你要修改成其他的也可以,但是要和Excel里的字段名相一致。不然就麻烦了,呵呵~~~~~。
下面是我的Excel的截图:

希望这些代码能帮助到你。

浙公网安备 33010602011771号