【发布时间】:2012-01-20 15:58:55
【问题描述】:
我需要多次以编程方式将一行插入 Excel 电子表格。我需要实际插入一个新行而不是插入数据,也就是说,我需要将所有其他行实际下移一位。
我目前正在使用 OleDB 插入数据本身,如下所示:
//Note I have missed some code out for simplicities sake, this all works fine however
OleDbConnection oledbConn = null;
OleDbCommand cmd = null;
OleDbConnection = new OleDbConnection(connString);
OleDbConnection.Open();
string connString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=\"Excel 8.0; \"", TargetFile);
sting InsertCommand = string.Format("INSERT INTO [{0}${1}:{1}] Values({2})", WorksheetName, Coord, valuestring);
cmd = new OleDbCommand(InsertCommand, oledbConn);
cmd.ExecuteNonQuery();
//close etc
我希望能够以类似的方式插入一行。这可能吗?
【问题讨论】:
-
您可能需要考虑使用外部库来处理 Excel 文件,例如 npoi.codeplex.com 而不是 OleDB。