Как json перевести в excel
Как описано в статье обзор пользовательских функций, проект пользовательских функций должен включать как файл метаданных JSON, так и файл скрипта (JavaScript или TypeScript), чтобы зарегистрировать функцию, что делает ее доступной для использования. Настраиваемые функции регистрируются, когда пользователь запускает надстройки в первый раз и после этого доступен одному пользователю во всех книгах.
Обратите внимание, что настраиваемые функции доступны в Excel на следующих платформах.
- Office для Windows
- Office для Mac
- Office в Интернете
Сейчас настраиваемые функции Excel не поддерживаются на iPad или в версиях Office 2019 (или более ранних), предлагаемых в виде единовременных покупок.
По возможности рекомендуется использовать автогенерацию JSON вместо создания собственного JSON-файла. Автогенерация менее подвержена ошибкам пользователей, и в них уже содержатся файлы yo office с подмостки. Дополнительные сведения о тегах JSDoc и процессе автоматическойгенерации JSON см. в сайте Autogenerate JSON metadata for custom functions.
Однако проект настраиваемой функции можно сделать с нуля. Этот процесс требует:
- Напишите файл JSON.
- Убедитесь, что файл манифеста подключен к файлу JSON.
- Связать функции id и свойства в файле скрипта для name регистрации функций.
На следующем изображении объясняются различия между использованием файлов леса и yo office написанием JSON с нуля.
Не забудьте подключить манифест к файлу JSON, который вы создаете, через раздел в файле манифеста XML, если вы <Resources> не используете yo office генератор.
Авторство метаданных и подключение к манифесту
Создайте файл JSON в проекте и укажи все сведения о его функциях, таких как параметры функции. См. следующий пример метаданных и ссылку на метаданные для полного списка свойств функций.
Убедитесь, что файл манифеста XML ссылается на файл JSON в разделе, аналогично <Resources> следующему примеру.
Пример метаданных JSON
В примере кода ниже показано содержимое JSON-файла метаданных для надстройки, определяющей настраиваемые функции. В следующих за этим примером разделах приводятся подробные сведения об отдельных свойствах, представленных в этом примере JSON.
Полный пример JSON-файла доступен в истории фиксации OfficeDev/Excel-Custom-Functions GitHub репозитория. Поскольку проект был скорректирован для автоматического создания JSON, полный пример рукописного JSON доступен только в предыдущих версиях проекта.
Ссылка на метаданные
allowCustomDataForDataTypeAny (предварительная версия)
Свойство allowCustomDataForDataTypeAny в настоящее время доступно в общедоступных предварительных просмотрах и совместимо только с Office на Windows. Функции предварительного просмотра могут изменяться и не предназначены для использования в производственной среде. Рекомендуется использовать их только в тестовой среде и среде разработки. Не используйте функции предварительного просмотра в производственной среде или в критически важных для бизнеса документах.
Чтобы проверить это свойство в Office Windows, необходимо иметь номер сборки Excel больше или равен 16.0.14623.20002. Чтобы использовать эту функцию, необходимо присоединиться к программе Office инсайдерской, а затем выбрать уровень инсайдерской бета-версии канала. Подробнее см. в статью Join the Office Insider Program.
Свойство allowCustomDataForDataTypeAny — это тип данных boolean. Настройка этого значения позволяет настраиваемой функции принимать типы данных в качестве true параметров и значений возврата. Дополнительные сведения см. в основных понятиях пользовательских функций и типов данных.
В отличие от большинства других свойств метаданных JSON, это свойство верхнего уровня и не содержит allowCustomDataForDataTypeAny под-свойств. Пример кода кода метаданных JSON см. в примере формата этого свойства.
allowErrorForDataTypeAny
Свойство allowErrorForDataTypeAny — это тип данных boolean. Настройка значения позволяет true настраиваемой функции обрабатывать ошибки в качестве значений ввода. Все параметры с типом или могут принимать ошибки в качестве значений any any[][] ввода, allowErrorForDataTypeAny когда установлено true значение . Значение по allowErrorForDataTypeAny умолчанию false .
В отличие от других свойств метаданных JSON, это свойство верхнего уровня и не содержит allowErrorForDataTypeAny под-свойств. Пример кода кода метаданных JSON см. в примере формата этого свойства.
functions
Свойство functions представляет собой массив объектов настраиваемых функций. В таблице ниже приведены свойства каждого объекта.
Свойство | Тип данных | Обязательный | Описание |
---|---|---|---|
description | string | Нет | Описание функции, которое отображается пользователям в Excel (например, преобразует значение по шкале Цельсия в температуру по шкале Фаренгейта). |
helpUrl | string | Нет | URL-адрес, по которому можно получить сведения о функции (отображается в области задач). Пример: http://contoso.com/help/convertcelsiustofahrenheit.html . |
id | string | Да | Уникальный идентификатор для функции. Этот идентификатор может содержать только буквы, цифры и точки и не может изменяться после настройки. |
name | string | Да | Имя функции, которое отображается пользователям в Excel. В Excel это имя функции префиксировали в настраиваемом пространстве имен функций, указанном в XML-файле манифеста. |
options | object | Нет | Позволяет настроить некоторые аспекты того, как и когда Excel выполняет функцию. Дополнительные сведения см. в разделе options. |
parameters | array | Да | Массив, который определяет входные параметры для функции. Сведения см. в параметрах. |
result | object | Да | Объект, который определяет тип информации, возвращаемый функцией. Дополнительные сведения см. в разделе result. |
options
Объект options позволяет настроить некоторые аспекты того, как и когда Excel выполняет функцию. В таблице ниже приведены свойства объекта options .
parameters
Свойство parameters представляет собой массив объектов параметров. В таблице ниже приведены свойства каждого объекта.
Свойство | Тип данных | Обязательный | Описание |
---|---|---|---|
description | string | Нет | Описание параметра. Это отображается в Excel IntelliSense. |
dimensionality | string | Нет | Должно быть scalar либо (не массивное значение), либо matrix (двухмерный массив). |
name | string | Да | Имя параметра. Это имя отображается в Excel в IntelliSense. |
type | string | Нет | Тип данных параметра. Может быть , или , что позволяет использовать любой boolean number из string any предыдущих трех типов. Если это свойство не указано, тип данных по умолчанию any . |
optional | boolean | Нет | Если присвоено значение true , параметр не обязателен. |
repeating | boolean | Нет | Если true параметры заполняются из указанного массива. Обратите внимание, что все повторяющие параметры по определению считаются необязательными. |
result
Объект result определяет тип информации, возвращаемый функцией. В таблице ниже приведены свойства объекта result .
Свойство | Тип данных | Обязательный | Описание |
---|---|---|---|
dimensionality | string | Нет | Должно быть scalar либо (не массивное значение), либо matrix (двухмерный массив). |
type | string | Нет | Тип данных результата. Может быть , или (что позволяет использовать любой boolean number из string any предыдущих трех типов). Если это свойство не указано, тип данных по умолчанию any . |
Сопоставление имен функций с метаданными JSON
В следующем JSON показаны метаданные JSON, связанные с предыдущим пользовательским кодом JavaScript функции.
Имейте в виду приведенные ниже рекомендации при создании пользовательских функций в файле JavaScript и указании соответствующих сведений в файле метаданных JSON.
Убедитесь, что в файле метаданных JSON значение каждого свойства id содержит только буквы, цифры и точки.
Убедитесь, что в файле метаданных JSON значение каждого свойства id уникально в пределах файла. То есть никакие два объекта функций в файле метаданных не должны иметь одинаковое значение id .
Не изменяйте значение свойства id в файле метаданных JSON после его сопоставления с соответствующим именем функции JavaScript. Вы можете изменить имя функции, которое отображается для конечных пользователей в Excel, путем обновления свойства name в файле метаданных JSON, но никогда не следует изменять значение свойства id после его установления.
В файле JavaScript укажите настраиваемую ассоциацию функций с использованием CustomFunctions.associate после каждой функции.
В следующем примере показаны метаданные JSON, соответствующие функциям, определенным в предыдущем примере кода JavaScript. Значения свойства и свойства находятся в верхнем шкафу, что является наилучшей практикой при id name описании пользовательских функций. Этот JSON необходимо добавить только в том случае, если вы готовите собственный JSON-файл вручную и не используете автогенерацию. Дополнительные сведения об автогенерации см. в метаданных Autogenerate JSON для пользовательских функций.
Дальнейшие действия
Узнайте о лучших методах для именования функции или узнайте, как локализовать функцию с помощью описанного ранее рукописного метода JSON.
Excel таблицы могут быть представлены в виде массива объектов в виде JSON. Каждый объект представляет строку в таблице. Это помогает извлекать данные из Excel в согласованном формате, который виден пользователю. Затем данные могут быть переданы другим системам Power Automate потоками.
Данные таблицы ввода
Вариант этого примера также включает гиперссылки в одном из столбцов таблицы. Это позволяет всплыть в JSON дополнительные уровни данных ячейки.
Данные таблицы ввода, включаемой гиперссылки
Диалоговое окно для редактирования гиперссылки
Пример Excel файла
Скачайте файлtable-data-with-hyperlinks.xlsx для готовой к использованию книги. Добавьте следующий скрипт, чтобы попробовать пример самостоятельно!
Пример кода: данные таблицы возврата в качестве JSON
Вы можете изменить interface TableData структуру, чтобы соответствовать столбцам таблицы. Обратите внимание, что для имен столбцов с пробелами обязательно поместите ключ в кавычках, например в "Event ID" примере.
Пример вывода из таблицы "PlainTable"
Пример кода. Возвращаем данные таблицы как JSON с текстом гиперссылки
Сценарий всегда извлекает гиперссылки из 4-го столбца (индекс 0) таблицы. Вы можете изменить этот порядок или включить несколько столбцов в качестве данных гиперссылки, изменяя код под комментарием // For the 4th column (0 index), extract the hyperlink and use that instead of text.
Пример вывода из таблицы "WithHyperLink"
Использование в Power Automate
О том, как использовать такой сценарий в Power Automate, см. в Power Automate.
Читайте также: