Импорт

Действие: импорт записейCommunity Edition+

Введение

Импортируйте данные с помощью Excel-шаблона. Вы можете настроить, какие поля будут импортированы, а шаблон будет сгенерирован автоматически.

20251029165818

Инструкции по импорту

Поля числового типа

Поддерживаются числа и проценты. Текст вроде N/A или - будет отфильтрован.

Number1PercentageNumber2Number3
12325%N/A-

После преобразования в JSON:

{
  "Number1": 123,
  "Percentage": 0.25,
  "Number2": null,
  "Number3": null
}

Поля булевого типа

Поддерживается ввод в виде текста (английский, без учета регистра):

  • Yes, Y, True, 1
  • No, N, False, 0
Field1Field2Field3Field4Field5
NoYesYtrue0

После преобразования в JSON:

{
  "Field1": false,
  "Field2": true,
  "Field3": true,
  "Field4": true,
  "Field5": false
}

Поля типа дата

DateOnlyLocal(+08:00)GMT
2023-01-18 22:22:222023-01-18 22:22:222023-01-18 22:22:22

После преобразования в JSON:

{
  "DateOnly": "2023-01-18T00:00:00.000Z",
  "Local(+08:00)": "2023-01-18T14:22:22.000Z",
  "GMT": "2023-01-18T22:22:22.000Z"
}

Поля типа выбор

Значения опций и метки опций можно использовать как текст для импорта. Несколько опций разделяются запятыми (, ,) или разделителями перечисления ().

Например, опции поля Priority включают:

Option ValueOption Label
lowLow
mediumMedium
highHigh

Значения опций и метки опций можно использовать как текст для импорта.

Priority
High
low

После преобразования в JSON:

[{ "Priority": "high" }, { "Priority": "low" }]

Поля китайского административного деления

Region1Region2
北京市/市辖区天津市/市辖区

После преобразования в JSON:

{
  "Region1": ["11", "1101"],
  "Region2": ["12", "1201"]
}

Поля вложений

После преобразования в JSON:

{
  "Attachment": [
    {
      "filename": "logo.png",
      "title": "logo.png",
      "extname": ".png",
      "url": "https://www.nocobase.com/images/logo.png"
    }
  ]
}

Поля типа связь

Несколько записей данных разделяются запятыми (, ,) или разделителями перечисления ().

Department/NameCategory/Title
Development TeamCategory1, Category2

После преобразования в JSON:

{
  "Department": [1], // 1 — идентификатор записи департамента с названием "Development Team"
  "Category": [1, 2] // 1,2 — идентификаторы записей категорий с заголовками "Category1" и "Category2"
}

Поля типа JSON

JSON1
{"key":"value"}

После преобразования в JSON:

{
  "JSON": { "key": "value" }
}

Поля геометрии на карте

PointLinePolygonCircle
1,2(1,2),(3,4)(1,2),(3,4),(1,2)1,2,3

После преобразования в JSON:

{
  "Point": [1, 2],
  "Line": [[1, 2], [3, 4]],
  "Polygon": [[1, 2], [3, 4], [1, 2]],
  "Circle": [1, 2, 3]
}

Пользовательский формат импорта

Зарегистрируйте пользовательский ValueParser через метод db.registerFieldValueParsers(), например:

import { BaseValueParser } from '@nocobase/database';

class PointValueParser extends BaseValueParser {
  async setValue(value) {
    if (Array.isArray(value)) {
      this.value = value;
    } else if (typeof value === 'string') {
      this.value = value.split(',');
    } else {
      this.errors.push('Value invalid');
    }
  }
}

const db = new Database();

// При импорте поля с типом=point данные будут разбираться с помощью PointValueParser
db.registerFieldValueParsers({
  point: PointValueParser,
});

Импорт-пример

Point
1,2

После преобразования в JSON:

{
  "Point": [1, 2]
}

Настройки действия

20251029170959

20251029171036