【问题标题】:How can I leave an empty string instead of 0 in a cell in an .xlsx?如何在 .xlsx 的单元格中留下一个空字符串而不是 0?
【发布时间】:2018-01-12 20:44:58
【问题描述】:

是否可以在 .xlsx 中将单元格留空?

我有一个过程,通过该过程 vlookup 在禁用宏的计算机上填充电子表格。结果数据被复制/粘贴值并保存在新工作簿中。我们有一个问题,即由公式创建的具有空字符串的单元格在 xml 节点中被保存为 0。当稍后由我们无法控制的外部进程读取数据时,这会导致问题。

类似的问题经常被问到(examplesfoundhere)关于创建或保留空白单元格,但没有一个足够具体到得出实际答案(更多类似于“你不知道想要这样做,就这样做吧”)。

要复制此内容,请打开一个新的 Excel 电子表格 (2007-2016),将公式 ="" 放在 B2 中,选择整个工作表,然后复制并粘贴值。正如预期的那样,它将显示为空白,并且 xlLastCell 将是 B2 而不是 A1。即使使用activesheet.usedrange,它也不会将 xlLastCell 重置为 A1,因为 B2 实际上确实有一个值。在文本查看器中保存和检查数据时(将扩展名从 .xlsx 更改为 .zip,提取并打开 \xl\worksheets\sheet1.xml 以供不熟悉的人使用),您会看到在 sheetData 节点中只有一个值,它是B2下的节点,它显示0(这不等同于已粘贴到该单元格中的空字符串)。当你在那里时,对于那些已经想到使用撇号的有进取心和创造性的灵魂,你可以在 B3 中测试它并发现结果节点完全相同,0。查找替换不起作用因为,在我们的示例电子表格中,当为空字符串选择“查找全部”时,它只找到 A1,您还记得我们没有输入(根本找不到 0)。

有没有办法通过这种方法在生成的 xml 中实际将值节点留空(或至少为空字符串)?

问题可能是,为什么不使用 .csv/平面文件?为什么不自己做呢?为该用户启用宏?为什么不花 20-30 小时编写一个 .Net 程序来使用 xml 构建电子表格并在完成时将其压缩起来?或者简单地说,“你不想那样做,为什么不这样做呢”?这些已由委员会审查并发现次优。我们只是运气不好?

Excel 是否根本无法将空字符串保存为整数 0 以外的任何内容?

【问题讨论】:

  • 如果您愿意更改公式,您可以通过两个额外的手动步骤来修复它。而不是使用"" 将单元格留空。也许能做到。 "-"。然后将公式复制为值。然后用空白替换- 的值(在替换选项上使用查找值)。然后你会有空单元格。

标签: excel


【解决方案1】:

如果您不允许使用宏或 VBA,则无法完成。

【讨论】:

    猜你喜欢
    • 2016-08-03
    • 2014-11-13
    • 1970-01-01
    • 2014-11-05
    • 2021-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多