2015-08-04 1 views
1

Я создал зависимые выпадающие списки, как показано на рисунке here.PHPExcel Именованные диапазоны, не работающие со специальными символами в MS Office

Проблема в том, что именованные диапазоны не работают со специальными символами, такими как пробелы, скобки, дефис и т. Д. (Подчеркивание работает!) В MS Office, но отлично работает в LibreOffice.

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

Название Новой Зеландии имеет место, и это порождает ошибки Excel.

Мне тоже нужно работать в офисе.

+2

Имена в Excel не могут содержать пробелы или начинаться с числа. Вы можете всегда использовать знак подчеркивания вместо пространства. –

+0

Да, я понимаю. Но мне нужно поддерживать читаемость. И замена всех специальных символов подчеркиванием не звучит правильно. Но проблема в том, что если он работает в Libre, как я могу заставить его работать в Office? –

+0

Вы не можете использовать пробелы, поэтому вы не можете заставить его работать точно так же, как в Libre. Тебе придется что-то изменить. –

ответ

3

Цитируя MS Excel documentation (драм повторять то, что Тим Уильямс сказал в комментариях)

Ниже приведен список правил синтаксиса, которые вы должны знать о том, когда вы создавать и редактировать имена.

  • Допустимые символы Первый символ имени должен быть буквой, символ подчеркивания (_) или обратной косой черты (\). Оставшимися символами в имени могут быть буквы, цифры, периоды и символы подчеркивания.

    Note Вы не можете использовать символы верхнего и нижнего регистра «C», «c», «R» или «r» в качестве определенного имени, поскольку все они используются в качестве сокращения для выбора строки или столбца для выбранную ячейку, когда вы вводите их в текстовое поле «Имя» или «Перейти».

  • Ссылки на ячейки, не разрешенные Имена не могут быть такими же, как ссылка на ячейку, например Z $ 100 или R1C1.

  • Недействительные пробелы Пространства не допускаются как часть имени. Используйте символ подчеркивания (_) и период (.) Как разделители слов, например Sales_Tax или First.Quarter.

  • Длина имени Имя может содержать до 255 символов.

  • Чувствительность к регистру Имена могут содержать прописные и строчные буквы. Excel не различает символы верхнего и нижнего регистра в именах. Например, если вы создали имя Sales и затем создали другое имя под названием SALES в той же книге, Excel предложит вам выбрать уникальное имя.

имя, содержащее пробел может работать в LibreOffice, но он не будет работать в MS Office ... единственный способ получить эту работу в MS Office, чтобы изменить имя, так что MS Office имен применяются правила