2011-09-20 109 views
1

我们从客户那里得到一个excel工作表,并且其中一个列出现数据差异。他们发送的物品描述。我们希望以编程方式打开文档使用项目列查找表,然后使用表中的项目描述(在SQLSever中)编写一个新列,该部分获取数据很好,但如何创建这样一个新列是我在哪里我难住了。在asp.net但开放写入但是这是可以做到Excel - 当我尝试添加一列时出现错误

我正在试图插入一列时,此错误:

为了防止数据丢失,Excel无法将非空单元格 断工作表。选择另一个要插入新单元格的位置,或从工作表末尾删除数据。

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

+0

不知道是否是这样。似乎是一个已知的问题,我相反写一个新的表,复制我感兴趣的一个,并添加一列没有问题。这对我们很有用,所以这个问题已经关闭了,但是很想知道你是否可以通过编程方式将列添加到现有的工作表中。 – Booksman

回答

2

此问题未链接到你的代码,它发生在你对最后一列(等Excel中不希望你失去它)的数据。

然而,窍门是Excel认为任何风格都是相同的数据。因此,如果您有在整行中定义了样式,则插入列可能会导致此错误。

让我举一个例如解释它更多:

  1. 创建一个新的Excel工作簿
  2. 选择整个第一行
  3. 把它涂成黄色(或其他颜色)
  4. 选择从A1到E1的单元格
  5. 将它们涂成白色
  6. 尝试插入新列前乙
  7. ,因为Excel不会认为你想定义一个特定的风格,最后一个单元格,所以你就输定了这个信息,如果你插入一个新列

有一个在你的文件,你得到的错误解决这个问题(恕我直言,在整行上定义样式是一种不好的做法,因为它可能会导致这种错误)。

0

是的,我经常得到这个讨厌的bug困扰着我。

为了避免这种行为在Excel 2007 ,你做的是你走你的数据与结束CTRL + END

然后你去一个单元格下来(或一个单元格的权利,如果你是在底部),以及复制该小区CTRL + C),即应该是空白,因为你以外的数据。

然后回去的地方(不是傻瓜Excel)中考虑你的数据应该停止,同时保持转变键,并将其粘贴(CTRL + V)。

之后,您应该可以插入该列。

相关问题