【问题标题】:Excel - I get an error when I try to add a columnExcel - 当我尝试添加列时出现错误
【发布时间】:2011-11-21 03:32:28
【问题描述】:

我们从客户那里得到一个 Excel 工作表,其中一个列存在数据差异。他们发送的项目描述。我们想以编程方式打开文档,使用项目列查找表,然后用表中的项目描述编写一个新列(在 SQLSever 上),获取数据的部分很好,但是如何创建这样一个新列是我的地方我很难过。用asp.net写,但可以这样做

尝试插入列时出现此错误:

为防止可能的数据丢失,Excel 无法移动非空白单元格 离开工作表。选择要插入新的另一个位置 单元格,或从工作表末尾删除数据。

如果单元格中没有可以移出的数据 工作表,您可以重置 Excel 认为哪些单元格非空白。去做 这个,按 CTRL+End 找到最后一个非空白单元格 工作表。删除此单元格及其与最后一行之间的所有单元格 然后保存数据列。

【问题讨论】:

  • 不确定是不是这个。似乎是一个已知问题,我改为写一张新工作表,复制我感兴趣的工作表并在那里添加一列没问题。这对我们有用,因此问题已解决,但很想知道您是否可以以编程方式将列添加到现有工作表中。

标签: asp.net excel


【解决方案1】:

此问题与您的代码无关,它发生在您在最后一列中有数据(因此 Excel 不希望您丢失它)。

然而,诀窍在于 Excel 认为任何样式都与数据相同。因此,如果您曾经在整行上定义了样式,则插入一列可能会导致此错误。

让我举一个例子来解释一下:

  1. 新建 Excel 工作簿
  2. 选择整个第一行
  3. 将其涂成黄色(或任何颜色)
  4. 选择从 A1 到 E1 的单元格
  5. 将它们涂成白色
  6. 尝试在 B 之前插入新列
  7. 您收到错误是因为 Excel 确实认为您想为最后一个单元格定义特定样式,因此如果您插入新列,则会丢失此信息

查看您的文件以解决此问题(恕我直言,在整行上定义样式是一种不好的做法,因为它可能会导致此类错误)。

【讨论】:

    【解决方案2】:

    是的,我经常遇到这个烦人的错误。

    为避免在 Excel 2007 中出现这种行为,您要做的是使用 CTRL+end 转到数据的末尾。

    然后你向下移动一个单元格(如果你在底部,或者向右移动一个单元格),然后复制这个单元格CTRL+c),应该是空白的,因为你的数据之外。

    然后回到(不是那个愚蠢的Excel)认为你的数据应该停止的地方,同时按住shift键,然后粘贴它( CTRL+v)。

    在此之后,您应该能够插入该列。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-29
      • 1970-01-01
      • 2016-04-16
      • 2013-10-18
      • 1970-01-01
      • 2015-11-04
      相关资源
      最近更新 更多