Заголовки таблиц Excel XML с пробелами - PullRequest
2 голосов
/ 07 марта 2011

Я выставляю таблицы в моей системе через веб-сервис для использования в таблицах Excel (в качестве источника XML). Таблицы могут иметь заголовки, которые содержат пробелы и другие символы, недопустимые в именах элементов XML. В Excel все хорошо, а в моей системе все хорошо, но промежуточный формат (XML) - нет.

Итак, может ли источник XML указать Excel (через схему или данные) использовать заголовок таблицы, отличный от имени элемента? Например. что-то вроде:

<xs:element name="place-of-origin">
  <xs:annotation>
    <xs:appinfo><od:displayName>Place of origin</od:displayName></xs:appinfo>
  </xs:annotation>
</xs:element>

Редактировать: вот образец XML-файла и , соответствующий XSD . Открытие этого файла в Excel приводит к таблице с заголовком столбца «sex_of_person», поэтому возникает вопрос: как XML или схема может выражать, что этот заголовок должен быть «пол человека» (с пробелами) или «# $!%» извините), или любая другая строка, недопустимая как имя XML ?

1 Ответ

0 голосов
/ 13 сентября 2011

Вы говорите, что используете свой XML как «источник данных», тем самым используя XML-функциональность Excel (начиная с версии 2003).

Когда вы открываете XML-файл в Excel, Excel предлагает вам возможность преобразовать его в читаемую форму (и дает вам возможность автоматически выводить XML-схему).

Как только вы это сделали, Excel в фоновом режиме «использовал» XML-файл (и неявно сгенерированную XML-схему, но вы можете использовать свою существующую схему) в качестве XML-источника.

Excel 2007 with opened XML-file and XML-source

Отныне для Excel можно изменить заголовок столбца (в Excel есть внутренний способ связать sex_of_person из файла XML со вторым столбцом таблицы). List with changed column headers

Чтобы продемонстрировать это, в моем примере я удалил все строки, кроме одной. Обратите внимание, как Excel выбирает вторую строку «Пол человека» ( без заголовка), когда я выбираю «sex_of_person» на панели XML. Теперь, когда я нажимаю кнопку «Обновить» (в моей немецкой версии: «Daten aktualisieren»), Excel перезагружает файл XML и вставляет значения в соответствующие столбцы. Используя «Импорт», вы даже можете изменить источник XML (при условии, что формат останется прежним).

Итак, теперь я не открываю XML-файл в Excel (как вы, возможно, сделали), но я открываю этот Excel-файл, который отныне определяет представление (т.е. ссылки из XML-элемента на столбец) и содержит ссылку на XML-файл.

Я не совсем уверен, что вы это имели в виду.

С уважением Andreas

...