如何在.xlsx的单元格中留下空字符串而不是0?

时间:2017-08-04 20:11:46

标签: excel

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

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

有关创建或留下空白单元格的常见问题经常被询问(examplesfoundhere),但没有一个问题具体到足以引出实际答案(更多内容如下) "你不想这样做,而是这样做#34;)。

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

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

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

Excel是否只能将空字符串保存为整数0以外的任何内容?

1 个答案:

答案 0 :(得分:0)

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