c# - 在 C# 中使用 OleDb 将数据插入 Excel 2007

标签 c# excel oledb

我已将此网站用作我想做的事情的基础: http://www.codeproject.com/script/Articles/ViewDownloads.aspx?aid=8500

基本上,我想在我的 C# Windows 窗体应用程序中使用 OleDb 将一些数据添加到我现有的 Excel 电子表格中的特定单元格。我找到的所有示例都希望我有某种类型的标题单元格。就像我的“A1”单元格中有“标题”一样,我可以使用:

"INSERT INTO [SHEET1$] (Title) Values ('Book')"  

问题是我的 Excel 电子表格没有任何标题。我需要做的是:

"INSERT INTO [SHEET1$] (A15) Values ('Book')".

谁能帮我弄清楚如何将数据放入电子表格周围的特定单元格中?

最佳答案

如果你还有兴趣,

没有真正的方法可以使用 OleDb 插入命令指定要写入的单元格,OleDbCommand 将自动转到指定列中的下一个打开行。但是,您可以使用更新查询,例如:

sql = "Update [Sheet1$A1:A15] SET A15 = 'DesiredNumber'"; 
myCommand.CommandText = sql;
myCommand.ExecuteNonQuery();

鉴于您已经定义,这应该可以工作:

System.Data.OleDb.OleDbConnection MyConnection;
System.Data.OleDb.OleDbCommand myCommand = new System.Data.OleDb.OleDbCommand();
string sql = null;
MyConnection = new System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source='c:\\Example.xls';Extended Properties=Excel 8.0;");
MyConnection.Open();
myCommand.Connection = MyConnection;

关于c# - 在 C# 中使用 OleDb 将数据插入 Excel 2007,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4718171/

相关文章:

sql-server - Windows 身份验证用户时出现 "Cannot create an instance of OLE DB provider"错误

c# - 无法反序列化 XDocument

vba - Excel VBA For 循环不起作用,不断出现错误消息

javascript - VBA动态网页抓取Excel

excel - 如何在Excel公式中选择整列或整行?

sql-server - SQL OLE DB 驱动程序 msoledbsql.msi 将无法安装

c# - 将 C# 中的多条记录插入 Excel 电子表格时,OLEDB 性能缓慢

c# - 我可以从 PrimarySearcher 获取超过 1000 条记录吗?

c# - 在 nuget 包中使用 PowerShell 编辑 Global.asax

c# - FileStream 在 try and catch 中,关闭读取器有多重要?