我创建了如下所示的依赖下拉列表。
问题是命名范围不能使用特殊字符,如空格,括号,连字符等(下划线工作!)在MS Office,但在LibreOffice工作得很好。
$objPHPExcel->addNamedRange(
new PHPExcel_NamedRange(
'New Zealand',
$objPHPExcel->getSheetByName('Worksheet 1'),
'A1:A2'
)
);
名称New Zealand有空格,会产生excel错误。
我也需要它在Office中工作。
引用MS Excel文档(并重复Tim Williams在评论中所说的话)
以下是创建和编辑名称时需要注意的语法规则列表。
-
有效字符名称的第一个字符必须是字母、下划线(_)或反斜杠()。名称中剩余的字符可以是字母、数字、点号和下划线。
Note
不能使用大小写字符"C"、"C"、"R"或"R"作为已定义的名称,因为当您在"名称"或"转到"文本框中输入它们时,它们都用作为当前选定单元格选择行或列的简写。 -
不允许单元格引用名称不能与单元格引用相同,例如Z$100或R1C1
-
空格无效空格不允许作为名称的一部分。使用下划线(_)和句点(.)作为单词分隔符,例如:Sales_Tax或First.Quarter.
-
名称长度名称最多可包含255个字符。
-
区分大小写名称可以包含大写和小写字母。Excel不区分姓名中的大写字母和小写字母。例如,如果您创建了名称Sales,然后在同一工作簿中创建了另一个名为Sales的名称,Excel会提示您选择一个唯一的名称。
包含空格字符的名称可能在LibreOffice中有效,但在MS Office中不起作用…在MS Office中使其工作的唯一方法是更改名称,以便应用MS Office的命名规则