Excel将空白单元格保存为已使用的单元格

我试图在Excel中插入行与OLEDB,问题是:

  • :我在我的工作表的末尾插入了几行。
  • :我打开我的Excel文档,看到我插入的行。
  • :我删除所有插入的行并重新启动我的应用程序。
  • :行继续插入最后一行索引

例如:

  • 行插入行3020在Excel中
  • 删除这一行并保存
  • 重新启动应用程序并再次插入
  • 行将在Excel中的第3021行

公共无效插入(string文本,Excel.Worksheet WS,string列){

OleDbCommand cmd1 = new OleDbCommand("INSERT INTO ["+ws.Name+"$] " + "([" + column + "]) VALUES(' " + text + " ')", _oleConn); cmd1.ExecuteNonQuery(); } 

这可能是工作表在后台保留这些列的XML。 您当前的代码将该行放在工作表的末尾。 代码将不得不被修改,以删除要放入的行之前的空行,然后添加。 一个例子是这样的:

 public void Insert (string text, Excel.Worksheet ws, string column){ OleDbCommand cmd0 = new OleDbCommand("DELETE FROM ["+ws.Name+"$] where /*column1*/ = '' AND /*column2*/ = '' /*...*/ AND /*columnN*/ = ''", _oleConn); cmd0.ExecuteNonQuery(); OleDbCommand cmd1 = new OleDbCommand("INSERT INTO ["+ws.Name+"$] " + "([" + column + "]) VALUES(' " + text + " ')", _oleConn); cmd1.ExecuteNonQuery(); } 

删除行中的数据不会删除该行存在的Excellogging。 您可以通过select整个东西来删除该行(单击该行的编号),然后右键单击并select“删除”。