PHPExcel 命名范围不适用于 MS Office 中的特殊字符
PHPExcel Named Ranges not working with special characters in MS Office
我创建了一个依赖下拉列表,如图 here。
问题是命名范围在 MS Office 中不能使用特殊字符,如 spaces、方括号、连字符等(下划线有效!),但在 LibreOffice 中工作正常。
$objPHPExcel->addNamedRange(
new PHPExcel_NamedRange(
'New Zealand',
$objPHPExcel->getSheetByName('Worksheet 1'),
'A1:A2'
)
);
名称 New Zealand 有一个 space 并产生 excel 错误。
我也需要它在 Office 中工作。
引自 MS Excel documentation(amd 重复 Tim Williams 在评论中所说的话)
The following is a list of syntax rules that you need to be aware of when you create and edit names.
有效字符 名称的第一个字符必须是字母、下划线字符 (_) 或反斜杠 (\)。名称中的其余字符可以是字母、数字、句点和下划线字符。
Note
不能使用大写和小写字符“C”、“c”、“R”或“r”作为定义名称,因为它们都用作 shorthand 用于在“名称”或“转到”文本框中输入当前选定的单元格时选择行或列。
不允许引用单元格名称不能与单元格引用相同,例如 Z$100 或 R1C1。
空格无效 不允许空格作为名称的一部分。使用下划线字符 (_) 和句点 (.) 作为单词分隔符,例如 Sales_Tax 或 First.Quarter.
名称长度名称最多可包含 255 个字符。
区分大小写 名称可以包含大写和小写字母。 Excel 不区分名称中的大小写字符。例如,如果您创建了名称 Sales,然后在同一工作簿中创建了另一个名为 SALES 的名称,Excel 会提示您选择一个唯一的名称。
包含 space 字符的名称可能在 LibreOffice 中有效,但在 MS Office 中无效...唯一在 MS Office 中有效的方法是更改名称,以便 MS办公室命名规则适用
我创建了一个依赖下拉列表,如图 here。
问题是命名范围在 MS Office 中不能使用特殊字符,如 spaces、方括号、连字符等(下划线有效!),但在 LibreOffice 中工作正常。
$objPHPExcel->addNamedRange(
new PHPExcel_NamedRange(
'New Zealand',
$objPHPExcel->getSheetByName('Worksheet 1'),
'A1:A2'
)
);
名称 New Zealand 有一个 space 并产生 excel 错误。
我也需要它在 Office 中工作。
引自 MS Excel documentation(amd 重复 Tim Williams 在评论中所说的话)
The following is a list of syntax rules that you need to be aware of when you create and edit names.
有效字符 名称的第一个字符必须是字母、下划线字符 (_) 或反斜杠 (\)。名称中的其余字符可以是字母、数字、句点和下划线字符。
Note
不能使用大写和小写字符“C”、“c”、“R”或“r”作为定义名称,因为它们都用作 shorthand 用于在“名称”或“转到”文本框中输入当前选定的单元格时选择行或列。不允许引用单元格名称不能与单元格引用相同,例如 Z$100 或 R1C1。
空格无效 不允许空格作为名称的一部分。使用下划线字符 (_) 和句点 (.) 作为单词分隔符,例如 Sales_Tax 或 First.Quarter.
名称长度名称最多可包含 255 个字符。
区分大小写 名称可以包含大写和小写字母。 Excel 不区分名称中的大小写字符。例如,如果您创建了名称 Sales,然后在同一工作簿中创建了另一个名为 SALES 的名称,Excel 会提示您选择一个唯一的名称。
包含 space 字符的名称可能在 LibreOffice 中有效,但在 MS Office 中无效...唯一在 MS Office 中有效的方法是更改名称,以便 MS办公室命名规则适用