PHPExcel命名范围不适用于MS Office中的特殊字符

时间:2015-08-04 05:16:36

标签: phpexcel named-ranges

我创建了一个依赖的下拉列表,如here所示。

问题是命名范围在MS Office中不能使用空格,括号,连字符等特殊字符(下划线工作!),但在LibreOffice中工作正常。

$objPHPExcel->addNamedRange( 
    new PHPExcel_NamedRange(
        'New Zealand', 
        $objPHPExcel->getSheetByName('Worksheet 1'), 
        'A1:A2'
    ) 
);

名称新西兰有空格,会产生Excel错误。

我也需要在Office工作。

1 个答案:

答案 0 :(得分:3)

引自MS Excel documentation(重复Tim Williams在评论中所说的话)

  

以下是您在创建和编辑名称时需要注意的语法规则列表。

  • 有效字符名称的第一个字符必须是字母,下划线字符(_)或反斜杠(\)。名称中的剩余字符可以是字母,数字,句点和下划线字符。

    Note您不能使用大写和小写字符" C"," c"," R"或" r&# 34;作为定义的名称,因为当您在“名称”或“转到”文本框中输入当前所选单元格时,它们都被用作选择行或列的简写。

  • 不允许使用单元格引用名称不能与单元格引用相同,例如Z $ 100或R1C1。

  • 空格无效不允许空格作为名称的一部分。使用下划线字符(_)和句点(。)作为单词分隔符,例如Sales_Tax或First.Quarter。

  • 名称长度名称最多可包含255个字符。

  • 区分大小写名称可以包含大写和小写字母。 Excel不区分名称中的大写和小写字符。例如,如果您创建了名称Sales,然后在同一工作簿中创建另一个名为SALES的名称,则Excel会提示您选择唯一的名称。

包含空格字符的名称可能在LibreOffice中有效,但它在MS Office中不起作用...在MS Office中使用它的唯一方法是更改​​名称以便应用MS Office命名规则