Excel表格中的#Name错误
我有一个通过java
程序自动填充的csv
文件。 当我在Notepad++
打开文本时,我有一行有以下文本的行:
-LRB- from the PMI Practice Standard for Work Breakdown Structures , Oct 2000 -RRB- '',"no","f1_FRAG:1.0","f2_specialChar:1.0","f3:15.0","f4:7.0","f5:0.0","f6:2.0","f7:0.0","f8:3.7612001156935624","f9:7.0","f10:1.0","f11:1.0","f12:0.0","f13:0.0","f14:0.0,"f15_ROOT:1.0","f16_specialChar:1.0","f17_NOTHING:1.0","f18_IN:1.0""
但是当我用excel表格打开它时,有两个问题:
1)当我单击单元格时,我看到#Name
错误,并且任何单击页面上都会导致错误。 我甚至不能正常closuresexcel窗口。 当我点击单元格时,有时也会看到类似于=A228
或=B223
的内容。 这听起来像是一个公式,但实际上并不是这样。
2)行没有完整显示。 使用office excel
打开文件时看不到这部分:
",f15_ROOT:1.0","f16_specialChar:1.0","f17_NOTHING:1.0","f18_IN:1.0"".
任何帮助表示赞赏。
由于该行以-
(减号)开头,因此Excel需要一个公式。
手动,你可以:
- 在行的开头添加一个
'
(撇号)(告诉Excel单元格包含文本),或者 - 将单元格格式化为文本 :右键单击单元格→
Format Cells
→Number
选项卡→Text
理想情况下,为了避免将来出现这个问题,应该修改生成.CSV
文件的Java程序,用"
双引号"
将文本字段括起来。
奇怪的是,这是您的示例中不包含双引号的唯一字段。
"-LRB- from the PMI Practice Standard for Work Breakdown Structures , Oct 2000 -RRB- ''","no","f1_FRAG:1.0","f2_specialChar:1.0","f3:15.0","f4:7.0","f5:0.0","f6:2.0","f7:0.0","f8:3.7612001156935624","f9:7.0","f10:1.0","f11:1.0","f12:0.0","f13:0.0","f14:0.0,"f15_ROOT:1.0","f16_specialChar:1.0","f17_NOTHING:1.0","f18_IN:1.0""
至less ,双引号应该围绕任何以符号开头或包含逗号(如上所示)的字段使用。
1997,Ford,E350,"Super, luxurious truck"
双引号将被大多数打开CSV的应用识别并删除。
任何字段都可以引用(即用双引号括起来)。 有些字段必须按照以下规则中的规定进行引用。
"1997","Ford","E350"
embedded逗号或双引号字符的字段必须加引号。
1997,Ford,E350,"Super, luxurious truck"
每个embedded的双引号字符必须用一对双引号字符表示。
1997,Ford,E350,"Super, ""luxurious"" truck"
。
更多关于逗号分隔值文件:
- 维基百科:CSV文件 – 基本规则
- RFC 2046标准
- RFC4180标准
。
令人惊讶的是,我找不到来自Microsoft的任何参考文档,提到了用撇号开始文本单元格。 (我想这是一个秘密,所以如果有人问,你没有听到我的。):-)
你得到#NAME错误的具体原因是因为Excel数字你试图input一个公式(因为减号),但它不能识别函数的名称 (“LRB”)