@nocobase/plugin-action-import 1.9.14 → 1.9.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,50 +1,52 @@
1
1
  {
2
- "Only one file is allowed to be uploaded": "Er kan slechts één bestand worden geüpload",
3
- "File size cannot exceed 10M": "Bestandsgrootte mag niet groter zijn dan 10M",
4
- "Please upload the file of Excel": "Upload het Excel-bestand",
5
- "Import Data": "Importeer gegevens",
6
- "Start import": "Start importeren",
7
- "Import explain": "Uitleg",
8
- "Download template": "Download sjabloon",
9
- "Step 1: Download template": "Stap 1: Download sjabloon",
10
- "Step 2: Upload Excel": "Stap 2: Upload Excel",
11
- "Step 3: Import options": "Stap 3: Importeer opties",
12
- "Download tips": "- Download het sjabloon en vul de gegevens in volgens het formaat\r\n - Importeer alleen het eerste werkblad\r\n - Wijzig de sjabloontitel niet om importfouten te voorkomen",
13
- "Import warnings": "Maximaal {{limit}} rijen gegevens kunnen tegelijk worden geïmporteerd, eventuele overschrijdingen worden genegeerd.",
14
- "Upload placeholder": "Sleep het bestand hierheen of klik om te uploaden, bestandsgrootte niet groter dan 80M",
15
- "Excel data importing": "Gegevens importeren, sluit het venster niet",
16
- "{{successCount}} records have been successfully imported": "{{successCount}} records zijn succesvol geïmporteerd",
17
- "To download the failure data": "Download de gegevens die niet konden worden geïmporteerd",
18
- "Add importable field": "Voeg een importeerbaar veld toe",
19
- "Done": "Klaar",
20
- "Yes": "Ja",
21
- "No": "Nee",
22
- "Field {{fieldName}} does not exist": "Veld {{fieldName}} bestaat niet",
23
- "can not find value": "Kan de waarde niet vinden",
24
- "password is empty": "Wachtwoord is leeg",
25
- "Incorrect time format": "Onjuist tijdsformaat",
26
- "Incorrect date format": "Onjuist datumformaat",
27
- "Incorrect email format": "Onjuist e-mailformaat",
28
- "Illegal percentage format": "Ongeldig percentageformaat",
29
- "Imported template does not match, please download again.": "Het geïmporteerde sjabloon komt niet overeen, download het opnieuw.",
30
- "another import action is running, please try again later.": "Er is al een andere importactie bezig, probeer het later opnieuw.",
31
- "Please select": "Selecteer",
32
- "Custom column title": "Aangepaste kolomtitel",
33
- "Field description": "Veldbeschrijving",
34
- "Field description placeholder": "Voer de veldbeschrijving in",
35
- "Columns configuration is empty": "Kolomconfiguratie is leeg",
36
- "Field not found: {{field}}": "Veld niet gevonden: {{field}}",
37
- "Headers not found. Expected headers: {{headers}}": "Kopteksten niet gevonden. Verwachte kopteksten: {{headers}}",
38
- "Header mismatch at column {{column}}: expected \"{{expected}}\", but got \"{{actual}}\"": "Koptekst komt niet overeen in kolom {{column}}: verwachtte \"{{expected}}\", maar kreeg \"{{actual}}\"",
39
- "No data to import": "Geen gegevens om te importeren",
40
- "Failed to import row {{row}}, {{message}}, row data: {{data}}": "Fout bij importeren van rij {{row}}, {{message}}, rijgegevens: {{data}}",
41
- "import-error": "Fout bij importeren van rij {{rowIndex}}, rijgegevens: {{rowData}}, reden: {{causeMessage}}",
42
- "Import completed": "Importeren voltooid: {{success}} records zijn geïmporteerd, {{updated}} records zijn bijgewerkt, {{skipped}} records zijn overgeslagen, totaal {{total}} records",
43
- "Successfully imported": "Succesvol geïmporteerd",
44
- "Updated records": "Bijgewerkte records",
45
- "Skipped records": "Overgeslagen records",
46
- "Total records": "Totaal aantal records",
47
- "View result": "Bekijk resultaat",
48
- "ImportResult": "{{success}} records zijn geïmporteerd, {{updated}} records zijn bijgewerkt, {{skipped}} records zijn overgeslagen, totaal {{total}} records",
49
- "Task result": "Taakresultaat"
2
+ "Add importable field": "Voeg een importeerbaar veld toe",
3
+ "Columns configuration is empty": "Kolomconfiguratie is leeg",
4
+ "Custom column title": "Aangepaste kolomtitel",
5
+ "Done": "Klaar",
6
+ "Download template": "Download sjabloon",
7
+ "Download tips": "- Download het sjabloon en vul de gegevens in volgens het formaat\r\n - Importeer alleen het eerste werkblad\r\n - Wijzig de sjabloontitel niet om importfouten te voorkomen",
8
+ "Excel data importing": "Gegevens importeren, sluit het venster niet",
9
+ "Failed to import row {{row}}, {{message}}, row data: {{data}}": "Fout bij importeren van rij {{row}}, {{message}}, rijgegevens: {{data}}",
10
+ "Field description": "Veldbeschrijving",
11
+ "Field description placeholder": "Voer de veldbeschrijving in",
12
+ "Field not found: {{field}}": "Veld niet gevonden: {{field}}",
13
+ "Field {{fieldName}} does not exist": "Veld {{fieldName}} bestaat niet",
14
+ "File size cannot exceed 10M": "Bestandsgrootte mag niet groter zijn dan 10M",
15
+ "Header mismatch at column {{column}}: expected \"{{expected}}\", but got \"{{actual}}\"": "Koptekst komt niet overeen in kolom {{column}}: verwachtte \"{{expected}}\", maar kreeg \"{{actual}}\"",
16
+ "Headers not found. Expected headers: {{headers}}": "Kopteksten niet gevonden. Verwachte kopteksten: {{headers}}",
17
+ "Illegal percentage format": "Ongeldig percentageformaat",
18
+ "Import": "Import",
19
+ "Import Data": "Importeer gegevens",
20
+ "Import completed": "Importeren voltooid: {{success}} records zijn geïmporteerd, {{updated}} records zijn bijgewerkt, {{skipped}} records zijn overgeslagen, totaal {{total}} records",
21
+ "Import explain": "Uitleg",
22
+ "Import warnings": "Maximaal {{limit}} rijen gegevens kunnen tegelijk worden geïmporteerd, eventuele overschrijdingen worden genegeerd.",
23
+ "ImportResult": "{{success}} records zijn geïmporteerd, {{updated}} records zijn bijgewerkt, {{skipped}} records zijn overgeslagen, totaal {{total}} records",
24
+ "Imported template does not match, please download again.": "Het geïmporteerde sjabloon komt niet overeen, download het opnieuw.",
25
+ "Incorrect date format": "Onjuist datumformaat",
26
+ "Incorrect email format": "Onjuist e-mailformaat",
27
+ "Incorrect time format": "Onjuist tijdsformaat",
28
+ "No": "Nee",
29
+ "No data to import": "Geen gegevens om te importeren",
30
+ "Only one file is allowed to be uploaded": "Er kan slechts één bestand worden geüpload",
31
+ "Please select": "Selecteer",
32
+ "Please upload the file of Excel": "Upload het Excel-bestand",
33
+ "Skipped records": "Overgeslagen records",
34
+ "Start import": "Start importeren",
35
+ "Step 1: Download template": "Stap 1: Download sjabloon",
36
+ "Step 2: Upload Excel": "Stap 2: Upload Excel",
37
+ "Step 3: Import options": "Stap 3: Importeer opties",
38
+ "Successfully imported": "Succesvol geïmporteerd",
39
+ "Task result": "Taakresultaat",
40
+ "To download the failure data": "Download de gegevens die niet konden worden geïmporteerd",
41
+ "Total records": "Totaal aantal records",
42
+ "Unique constraint error, fields:": "Unique constraint error, fields:",
43
+ "Updated records": "Bijgewerkte records",
44
+ "Upload placeholder": "Sleep het bestand hierheen of klik om te uploaden, bestandsgrootte niet groter dan 80M",
45
+ "View result": "Bekijk resultaat",
46
+ "Yes": "Ja",
47
+ "another import action is running, please try again later.": "Er is al een andere importactie bezig, probeer het later opnieuw.",
48
+ "can not find value": "Kan de waarde niet vinden",
49
+ "import-error": "Fout bij importeren van rij {{rowIndex}}, rijgegevens: {{rowData}}, reden: {{causeMessage}}",
50
+ "password is empty": "Wachtwoord is leeg",
51
+ "{{successCount}} records have been successfully imported": "{{successCount}} records zijn succesvol geïmporteerd"
50
52
  }
@@ -1,27 +1,53 @@
1
1
  {
2
- "Only one file is allowed to be uploaded": "Somente um arquivo pode ser enviado de cada vez",
2
+ "Add importable field": "Adicionar campo importável",
3
+ "Columns configuration is empty": "Columns configuration is empty",
4
+ "Custom column title": "Custom column title",
5
+ "Done": "Concluído",
6
+ "Download template": "Baixar modelo",
7
+ "Download tips": "- Baixe o modelo e preencha os dados de acordo com o formato \r\n - Importe apenas a primeira planilha \r\n - Não altere o cabeçalho do modelo para evitar falhas de importação",
8
+ "Excel data importing": "Importando dados do Excel",
9
+ "Failed to import row {{row}}, {{message}}, row data: {{data}}": "Failed to import row {{row}}, {{message}}, row data: {{data}}",
10
+ "Field description": "Field description",
11
+ "Field description placeholder": "Enter field description",
12
+ "Field not found: {{field}}": "Field not found: {{field}}",
13
+ "Field {{fieldName}} does not exist": "O campo {{fieldName}} não existe",
3
14
  "File size cannot exceed 10M": "O tamanho do arquivo não pode exceder 10 MB",
4
- "Please upload the file of Excel": "Por favor, envie um arquivo do Excel",
15
+ "Header mismatch at column {{column}}: expected \"{{expected}}\", but got \"{{actual}}\"": "Header mismatch at column {{column}}: expected \"{{expected}}\", but got \"{{actual}}\"",
16
+ "Headers not found. Expected headers: {{headers}}": "Headers not found. Expected headers: {{headers}}",
17
+ "Illegal percentage format": "Formato de porcentagem ilegal",
18
+ "Import": "Import",
5
19
  "Import Data": "Importar dados",
6
- "Start import": "Iniciar importação",
20
+ "Import completed": "Import completed",
21
+ "Import done, total success have {{successCount}} , total failure have {{failureCount}}": "{{successCount}} dados foram importados com sucesso",
7
22
  "Import explain": "Guia",
8
- "Download template": "Baixar modelo",
23
+ "Import warnings": "You can import up to {{limit}} rows of data at a time, any excess will be ignored.",
24
+ "ImportResult": "ImportResult",
25
+ "Imported template does not match, please download again.": "Imported template does not match, please download again.",
26
+ "Incorrect date format": "Formato de data incorreto",
27
+ "Incorrect email format": "Formato de e-mail incorreto",
28
+ "Incorrect time format": "Formato de hora incorreto",
29
+ "No": "Não",
30
+ "No data to import": "No data to import",
31
+ "Only one file is allowed to be uploaded": "Somente um arquivo pode ser enviado de cada vez",
32
+ "Please select": "Please select",
33
+ "Please upload the file of Excel": "Por favor, envie um arquivo do Excel",
34
+ "Skipped records": "Skipped records",
35
+ "Start import": "Iniciar importação",
9
36
  "Step 1: Download template": "Passo 1: Baixar modelo",
10
37
  "Step 2: Upload Excel": "Passo 2: Enviar Excel",
11
- "Download tips": "- Baixe o modelo e preencha os dados de acordo com o formato \r\n - Importe apenas a primeira planilha \r\n - Não altere o cabeçalho do modelo para evitar falhas de importação",
12
- "Upload placeholder": "Arraste e solte o arquivo aqui ou clique para enviar.",
13
- "Excel data importing": "Importando dados do Excel",
14
- "Import done, total success have {{successCount}} , total failure have {{failureCount}}": "{{successCount}} dados foram importados com sucesso",
38
+ "Step 3: Import options": "Step 3: Import options",
39
+ "Successfully imported": "Successfully imported",
40
+ "Task result": "Task result",
15
41
  "To download the failure data": "Para baixar os dados que falharam",
16
- "Add importable field": "Adicionar campo importável",
17
- "Done": "Concluído",
42
+ "Total records": "Total records",
43
+ "Unique constraint error, fields:": "Unique constraint error, fields:",
44
+ "Updated records": "Updated records",
45
+ "Upload placeholder": "Arraste e solte o arquivo aqui ou clique para enviar, o tamanho do arquivo não deve exceder 80 MB",
46
+ "View result": "View result",
18
47
  "Yes": "Sim",
19
- "No": "Não",
20
- "Field {{fieldName}} does not exist": "O campo {{fieldName}} não existe",
48
+ "another import action is running, please try again later.": "another import action is running, please try again later.",
21
49
  "can not find value": "Não foi possível encontrar o valor",
50
+ "import-error": "Failed to import row {{rowIndex}}, row data: {{rowData}}, cause: {{causeMessage}}",
22
51
  "password is empty": "A senha está vazia",
23
- "Incorrect time format": "Formato de hora incorreto",
24
- "Incorrect date format": "Formato de data incorreto",
25
- "Incorrect email format": "Formato de e-mail incorreto",
26
- "Illegal percentage format": "Formato de porcentagem ilegal"
27
- }
52
+ "{{successCount}} records have been successfully imported": "{{successCount}} records have been successfully imported"
53
+ }
@@ -1,12 +1,10 @@
1
1
  {
2
2
  "Add importable field": "Добавить импортируемое поле",
3
- "another import action is running, please try again later.": "Действие импорта уже выполняется, попробуйте позже.",
4
- "can not find value": "Значение не найдено",
5
3
  "Columns configuration is empty": "Конфигурация столбцов пуста",
6
4
  "Custom column title": "Пользовательский заголовок столбца",
7
5
  "Done": "Готово",
8
6
  "Download template": "Скачать шаблон",
9
- "Download tips": "- Скачайте шаблон и заполните данные в соответствии с форматом \r\n - Импортируется только первый лист \r\n - Не изменяйте заголовки шаблона, чтобы избежать ошибок импорта",
7
+ "Download tips": "- Скачайте шаблон и заполните данные в соответствии с форматом \\r\\n - Импортируется только первый лист \\r\\n - Не изменяйте заголовки шаблона, чтобы избежать ошибок импорта",
10
8
  "Excel data importing": "Импорт данных Excel",
11
9
  "Failed to import row {{row}}, {{message}}, row data: {{data}}": "Не удалось импортировать строку {{row}}, {{message}}, данные строки: {{data}}",
12
10
  "Field description": "Описание поля",
@@ -24,14 +22,12 @@
24
22
  "Import warnings": "Вы можете импортировать до {{limit}} строк данных за раз, излишки будут проигнорированы.",
25
23
  "ImportResult": "Результат импорта",
26
24
  "Imported template does not match, please download again.": "Импортированный шаблон не соответствует, пожалуйста, скачайте снова.",
27
- "import-error": "Не удалось импортировать строку {{rowIndex}}, данные строки: {{rowData}}, причина: {{causeMessage}}",
28
25
  "Incorrect date format": "Неверный формат даты",
29
26
  "Incorrect email format": "Неверный формат email",
30
27
  "Incorrect time format": "Неверный формат времени",
31
28
  "No": "Нет",
32
29
  "No data to import": "Нет данных для импорта",
33
30
  "Only one file is allowed to be uploaded": "Разрешена загрузка только одного файла",
34
- "password is empty": "Пароль пуст",
35
31
  "Please select": "Пожалуйста, выберите",
36
32
  "Please upload the file of Excel": "Пожалуйста, загрузите файл Excel",
37
33
  "Skipped records": "Пропущенные записи",
@@ -43,9 +39,14 @@
43
39
  "Task result": "Результат задачи",
44
40
  "To download the failure data": "Скачать данные об ошибках",
45
41
  "Total records": "Всего записей",
42
+ "Unique constraint error, fields:": "Unique constraint error, fields:",
46
43
  "Updated records": "Обновленные записи",
47
44
  "Upload placeholder": "Перетащите файл сюда или нажмите для загрузки.",
48
45
  "View result": "Просмотреть результат",
49
46
  "Yes": "Да",
47
+ "another import action is running, please try again later.": "Действие импорта уже выполняется, попробуйте позже.",
48
+ "can not find value": "Значение не найдено",
49
+ "import-error": "Не удалось импортировать строку {{rowIndex}} данные строки: {{rowData}} причина: {{causeMessage}}",
50
+ "password is empty": "Пароль пуст",
50
51
  "{{successCount}} records have been successfully imported": "{{successCount}} записей успешно импортировано"
51
- }
52
+ }
@@ -0,0 +1,52 @@
1
+ {
2
+ "Add importable field": "Add importable field",
3
+ "Columns configuration is empty": "Columns configuration is empty",
4
+ "Custom column title": "Custom column title",
5
+ "Done": "Done",
6
+ "Download template": "Download template",
7
+ "Download tips": "- Download the template and fill in the data according to the format \r\n - Import only the first worksheet \r\n - Do not change the header of the template to prevent import failure",
8
+ "Excel data importing": "Excel data importing",
9
+ "Failed to import row {{row}}, {{message}}, row data: {{data}}": "Failed to import row {{row}}, {{message}}, row data: {{data}}",
10
+ "Field description": "Field description",
11
+ "Field description placeholder": "Enter field description",
12
+ "Field not found: {{field}}": "Field not found: {{field}}",
13
+ "Field {{fieldName}} does not exist": "Field {{fieldName}} does not exist",
14
+ "File size cannot exceed 10M": "File size cannot exceed 10M",
15
+ "Header mismatch at column {{column}}: expected \"{{expected}}\", but got \"{{actual}}\"": "Header mismatch at column {{column}}: expected \"{{expected}}\", but got \"{{actual}}\"",
16
+ "Headers not found. Expected headers: {{headers}}": "Headers not found. Expected headers: {{headers}}",
17
+ "Illegal percentage format": "Illegal percentage format",
18
+ "Import": "Import",
19
+ "Import Data": "Import Data",
20
+ "Import completed": "Import completed",
21
+ "Import explain": "Guide",
22
+ "Import warnings": "You can import up to {{limit}} rows of data at a time, any excess will be ignored.",
23
+ "ImportResult": "ImportResult",
24
+ "Imported template does not match, please download again.": "Imported template does not match, please download again.",
25
+ "Incorrect date format": "Incorrect date format",
26
+ "Incorrect email format": "Incorrect email format",
27
+ "Incorrect time format": "Incorrect time format",
28
+ "No": "No",
29
+ "No data to import": "No data to import",
30
+ "Only one file is allowed to be uploaded": "Only one file is allowed to be uploaded",
31
+ "Please select": "Please select",
32
+ "Please upload the file of Excel": "Please upload the file of Excel",
33
+ "Skipped records": "Skipped records",
34
+ "Start import": "Start import",
35
+ "Step 1: Download template": "Step 1: Download template",
36
+ "Step 2: Upload Excel": "Step 2: Upload Excel",
37
+ "Step 3: Import options": "Step 3: Import options",
38
+ "Successfully imported": "Successfully imported",
39
+ "Task result": "Task result",
40
+ "To download the failure data": "To download the failure data",
41
+ "Total records": "Total records",
42
+ "Unique constraint error, fields:": "Unique constraint error, fields:",
43
+ "Updated records": "Updated records",
44
+ "Upload placeholder": "Drag and drop the file here or click to upload, file size should not exceed 80M",
45
+ "View result": "View result",
46
+ "Yes": "Yes",
47
+ "another import action is running, please try again later.": "another import action is running, please try again later.",
48
+ "can not find value": "can not find value",
49
+ "import-error": "Failed to import row {{rowIndex}}, row data: {{rowData}}, cause: {{causeMessage}}",
50
+ "password is empty": "password is empty",
51
+ "{{successCount}} records have been successfully imported": "{{successCount}} records have been successfully imported"
52
+ }
@@ -0,0 +1,52 @@
1
+ {
2
+ "Add importable field": "Add importable field",
3
+ "Columns configuration is empty": "Columns configuration is empty",
4
+ "Custom column title": "Custom column title",
5
+ "Done": "Done",
6
+ "Download template": "Download template",
7
+ "Download tips": "- Download the template and fill in the data according to the format \r\n - Import only the first worksheet \r\n - Do not change the header of the template to prevent import failure",
8
+ "Excel data importing": "Excel data importing",
9
+ "Failed to import row {{row}}, {{message}}, row data: {{data}}": "Failed to import row {{row}}, {{message}}, row data: {{data}}",
10
+ "Field description": "Field description",
11
+ "Field description placeholder": "Enter field description",
12
+ "Field not found: {{field}}": "Field not found: {{field}}",
13
+ "Field {{fieldName}} does not exist": "Field {{fieldName}} does not exist",
14
+ "File size cannot exceed 10M": "File size cannot exceed 10M",
15
+ "Header mismatch at column {{column}}: expected \"{{expected}}\", but got \"{{actual}}\"": "Header mismatch at column {{column}}: expected \"{{expected}}\", but got \"{{actual}}\"",
16
+ "Headers not found. Expected headers: {{headers}}": "Headers not found. Expected headers: {{headers}}",
17
+ "Illegal percentage format": "Illegal percentage format",
18
+ "Import": "Import",
19
+ "Import Data": "Import Data",
20
+ "Import completed": "Import completed",
21
+ "Import explain": "Guide",
22
+ "Import warnings": "You can import up to {{limit}} rows of data at a time, any excess will be ignored.",
23
+ "ImportResult": "ImportResult",
24
+ "Imported template does not match, please download again.": "Imported template does not match, please download again.",
25
+ "Incorrect date format": "Incorrect date format",
26
+ "Incorrect email format": "Incorrect email format",
27
+ "Incorrect time format": "Incorrect time format",
28
+ "No": "No",
29
+ "No data to import": "No data to import",
30
+ "Only one file is allowed to be uploaded": "Only one file is allowed to be uploaded",
31
+ "Please select": "Please select",
32
+ "Please upload the file of Excel": "Please upload the file of Excel",
33
+ "Skipped records": "Skipped records",
34
+ "Start import": "Start import",
35
+ "Step 1: Download template": "Step 1: Download template",
36
+ "Step 2: Upload Excel": "Step 2: Upload Excel",
37
+ "Step 3: Import options": "Step 3: Import options",
38
+ "Successfully imported": "Successfully imported",
39
+ "Task result": "Task result",
40
+ "To download the failure data": "To download the failure data",
41
+ "Total records": "Total records",
42
+ "Unique constraint error, fields:": "Unique constraint error, fields:",
43
+ "Updated records": "Updated records",
44
+ "Upload placeholder": "Drag and drop the file here or click to upload, file size should not exceed 80M",
45
+ "View result": "View result",
46
+ "Yes": "Yes",
47
+ "another import action is running, please try again later.": "another import action is running, please try again later.",
48
+ "can not find value": "can not find value",
49
+ "import-error": "Failed to import row {{rowIndex}}, row data: {{rowData}}, cause: {{causeMessage}}",
50
+ "password is empty": "password is empty",
51
+ "{{successCount}} records have been successfully imported": "{{successCount}} records have been successfully imported"
52
+ }
@@ -1,52 +1,52 @@
1
1
  {
2
- "Only one file is allowed to be uploaded": "只允许上传一个文件",
3
- "File size cannot exceed 10M": "文件大小不能超过10M",
4
- "Please upload the file of Excel": "请上传Excel的文件",
5
- "Import Data": "导入数据",
6
- "Import": "导入",
7
- "Start import": "开始导入",
8
- "Import explain": "说明",
2
+ "Add importable field": "添加可导入字段",
3
+ "Columns configuration is empty": "列配置为空",
4
+ "Custom column title": "自定义列标题",
5
+ "Done": "完成",
9
6
  "Download template": "下载模板",
10
- "Step 1: Download template": "1.下载模板",
11
- "Step 2: Upload Excel": "2.上传完善后的表格",
12
- "Step 3: Import options": "3.导入选项",
13
7
  "Download tips": "- 下载模板后,按格式填写数据\r\n - 只导入第一张工作表\r\n - 请勿改模板表头,防止导入失败",
14
- "Import warnings": "每次最多导入 {{limit}} 行数据,超出的将被忽略。",
15
- "Upload placeholder": "将文件拖曳到此处或点击上传。",
16
8
  "Excel data importing": "数据导入中,请勿关闭窗口",
17
- "{{successCount}} records have been successfully imported": "已成功导入 {{successCount}} 条数据",
18
- "To download the failure data": "下载导入失败的数据",
19
- "Add importable field": "添加可导入字段",
20
- "Done": "完成",
21
- "Yes": "是",
22
- "No": "否",
23
- "Please select": "请选择",
24
- "Field {{fieldName}} does not exist": "字段 {{fieldName}} 不存在",
25
- "can not find value": "找不到对应值",
26
- "password is empty": "密码为空",
27
- "Incorrect time format": "时间格式不正确",
28
- "Incorrect date format": "日期格式不正确",
29
- "Incorrect email format": "邮箱格式不正确",
30
- "Illegal percentage format": "百分比格式有误",
31
- "Imported template does not match, please download again.": "导入模板不匹配,请检查导入文件标题行或重新下载导入模板",
32
- "another import action is running, please try again later.": "另一导入任务正在运行,请稍后重试。",
33
- "Custom column title": "自定义列标题",
9
+ "Failed to import row {{row}}, {{message}}, row data: {{data}}": "导入第 {{row}} 行失败,{{message}},行数据:{{data}}",
34
10
  "Field description": "字段说明",
35
11
  "Field description placeholder": "请输入字段说明",
36
- "Columns configuration is empty": "列配置为空",
37
12
  "Field not found: {{field}}": "字段未找到:{{field}}",
38
- "Headers not found. Expected headers: {{headers}}": "未找到表头。预期的表头:{{headers}}",
13
+ "Field {{fieldName}} does not exist": "字段 {{fieldName}} 不存在",
14
+ "File size cannot exceed 10M": "文件大小不能超过10M",
39
15
  "Header mismatch at column {{column}}: expected \"{{expected}}\", but got \"{{actual}}\"": "第 {{column}} 列的表头不匹配:预期 \"{{expected}}\",实际是 \"{{actual}}\"",
40
- "No data to import": "没有数据可导入",
41
- "Failed to import row {{row}}, {{message}}, row data: {{data}}": "导入第 {{row}} 行失败,{{message}},行数据:{{data}}",
42
- "import-error": "导入第 {{rowIndex}} 行失败,行数据:{{rowData}}, 原因:{{causeMessage}}",
43
- "Unique constraint error, fields:": "唯一性约束错误,字段:",
16
+ "Headers not found. Expected headers: {{headers}}": "未找到表头。预期的表头:{{headers}}",
17
+ "Illegal percentage format": "百分比格式有误",
18
+ "Import": "导入",
19
+ "Import Data": "导入数据",
44
20
  "Import completed": "导入完成:{{success}} 条记录已导入,{{updated}} 条记录已更新,{{skipped}} 条记录已跳过,共 {{total}} 条记录",
45
- "Successfully imported": "成功导入",
46
- "Updated records": "已更新记录",
21
+ "Import explain": "说明",
22
+ "Import warnings": "每次最多导入 {{limit}} 行数据,超出的将被忽略。",
23
+ "ImportResult": "已导入 {{success}} 条,更新 {{updated}} 条,跳过 {{skipped}} 条,共 {{total}} 条",
24
+ "Imported template does not match, please download again.": "导入模板不匹配,请检查导入文件标题行或重新下载导入模板",
25
+ "Incorrect date format": "日期格式不正确",
26
+ "Incorrect email format": "邮箱格式不正确",
27
+ "Incorrect time format": "时间格式不正确",
28
+ "No": "否",
29
+ "No data to import": "没有数据可导入",
30
+ "Only one file is allowed to be uploaded": "只允许上传一个文件",
31
+ "Please select": "请选择",
32
+ "Please upload the file of Excel": "请上传Excel的文件",
47
33
  "Skipped records": "已跳过记录",
34
+ "Start import": "开始导入",
35
+ "Step 1: Download template": "1.下载模板",
36
+ "Step 2: Upload Excel": "2.上传完善后的表格",
37
+ "Step 3: Import options": "3.导入选项",
38
+ "Successfully imported": "成功导入",
39
+ "Task result": "任务结果",
40
+ "To download the failure data": "下载导入失败的数据",
48
41
  "Total records": "总记录数",
42
+ "Unique constraint error, fields:": "唯一性约束错误,字段:",
43
+ "Updated records": "已更新记录",
44
+ "Upload placeholder": "将文件拖曳到此处或点击上传,文件大小不超过 80M",
49
45
  "View result": "查看结果",
50
- "ImportResult": "已导入 {{success}} 条,更新 {{updated}} 条,跳过 {{skipped}} 条,共 {{total}} 条",
51
- "Task result": "任务结果"
52
- }
46
+ "Yes": "",
47
+ "another import action is running, please try again later.": "另一导入任务正在运行,请稍后重试。",
48
+ "can not find value": "找不到对应值",
49
+ "import-error": "导入第 {{rowIndex}} 行失败,行数据:{{rowData}}, 原因:{{causeMessage}}",
50
+ "password is empty": "密码为空",
51
+ "{{successCount}} records have been successfully imported": "已成功导入 {{successCount}} 条数据"
52
+ }
@@ -0,0 +1,52 @@
1
+ {
2
+ "Add importable field": "Add importable field",
3
+ "Columns configuration is empty": "Columns configuration is empty",
4
+ "Custom column title": "Custom column title",
5
+ "Done": "Done",
6
+ "Download template": "Download template",
7
+ "Download tips": "- Download the template and fill in the data according to the format \r\n - Import only the first worksheet \r\n - Do not change the header of the template to prevent import failure",
8
+ "Excel data importing": "Excel data importing",
9
+ "Failed to import row {{row}}, {{message}}, row data: {{data}}": "Failed to import row {{row}}, {{message}}, row data: {{data}}",
10
+ "Field description": "Field description",
11
+ "Field description placeholder": "Enter field description",
12
+ "Field not found: {{field}}": "Field not found: {{field}}",
13
+ "Field {{fieldName}} does not exist": "Field {{fieldName}} does not exist",
14
+ "File size cannot exceed 10M": "File size cannot exceed 10M",
15
+ "Header mismatch at column {{column}}: expected \"{{expected}}\", but got \"{{actual}}\"": "Header mismatch at column {{column}}: expected \"{{expected}}\", but got \"{{actual}}\"",
16
+ "Headers not found. Expected headers: {{headers}}": "Headers not found. Expected headers: {{headers}}",
17
+ "Illegal percentage format": "Illegal percentage format",
18
+ "Import": "Import",
19
+ "Import Data": "Import Data",
20
+ "Import completed": "Import completed",
21
+ "Import explain": "Guide",
22
+ "Import warnings": "You can import up to {{limit}} rows of data at a time, any excess will be ignored.",
23
+ "ImportResult": "ImportResult",
24
+ "Imported template does not match, please download again.": "Imported template does not match, please download again.",
25
+ "Incorrect date format": "Incorrect date format",
26
+ "Incorrect email format": "Incorrect email format",
27
+ "Incorrect time format": "Incorrect time format",
28
+ "No": "No",
29
+ "No data to import": "No data to import",
30
+ "Only one file is allowed to be uploaded": "Only one file is allowed to be uploaded",
31
+ "Please select": "Please select",
32
+ "Please upload the file of Excel": "Please upload the file of Excel",
33
+ "Skipped records": "Skipped records",
34
+ "Start import": "Start import",
35
+ "Step 1: Download template": "Step 1: Download template",
36
+ "Step 2: Upload Excel": "Step 2: Upload Excel",
37
+ "Step 3: Import options": "Step 3: Import options",
38
+ "Successfully imported": "Successfully imported",
39
+ "Task result": "Task result",
40
+ "To download the failure data": "To download the failure data",
41
+ "Total records": "Total records",
42
+ "Unique constraint error, fields:": "Unique constraint error, fields:",
43
+ "Updated records": "Updated records",
44
+ "Upload placeholder": "Drag and drop the file here or click to upload, file size should not exceed 80M",
45
+ "View result": "View result",
46
+ "Yes": "Yes",
47
+ "another import action is running, please try again later.": "another import action is running, please try again later.",
48
+ "can not find value": "can not find value",
49
+ "import-error": "Failed to import row {{rowIndex}}, row data: {{rowData}}, cause: {{causeMessage}}",
50
+ "password is empty": "password is empty",
51
+ "{{successCount}} records have been successfully imported": "{{successCount}} records have been successfully imported"
52
+ }
@@ -1 +1 @@
1
- {"name":"exceljs","version":"4.4.0","description":"Excel Workbook Manager - Read and Write xlsx and csv Files.","private":false,"license":"MIT","author":{"name":"Guyon Roche","email":"guyon@live.com"},"repository":{"type":"git","url":"https://github.com/exceljs/exceljs.git"},"engines":{"node":">=8.3.0"},"main":"./excel.js","browser":"./dist/exceljs.min.js","types":"./index.d.ts","files":["dist","lib","excel.js","LICENSE","README.md","README_zh.md","index.ts","index.d.ts"],"scripts":{"test":"npm run test:full","test:es5":"export EXCEL_BUILD=es5 && npm run test:full","test:full":"npm run build && npm run test:unit && npm run test:integration && npm run test:end-to-end && npm run test:jasmine","test:version":"npm run build && npm run test:unit && npm run test:integration && npm run test:end-to-end && npm run test:browser && npm run test:dist","test:all":"npm run test:native && npm run test:es5","test:native":"npm run test:full","test:unit":"mocha --require spec/config/setup --require spec/config/setup-unit spec/unit --recursive","test:integration":"mocha --require spec/config/setup spec/integration --recursive","test:end-to-end":"mocha --require spec/config/setup spec/end-to-end --recursive","test:browser":"if [ ! -f .disable-test-browser ]; then npm run build && npm run test:jasmine; fi","test:jasmine":"grunt jasmine","test:unit:es5":"export EXCEL_BUILD=es5 && npm run test:unit","test:integration:es5":"export EXCEL_BUILD=es5 && npm run test:integration","test:end-to-end:es5":"export EXCEL_BUILD=es5 && npm run test:end-to-end","test:dist":"mocha --require spec/config/setup spec/dist --recursive","test:manual":"node spec/manual/app.js","test:typescript":"mocha -r ts-node/register spec/typescript/**/*.spec.ts","clean-build":"npm run clean && npm run build","lint":"eslint --format node_modules/eslint-friendly-formatter .","lint:fix":"prettier-eslint --write $(pwd)'/**/*.js'","lint:staged":"lint-staged","clean":"rm -rf build/ && rm -rf dist","benchmark":"node --expose-gc benchmark","benchmark:debug":"node --expose-gc --inspect-brk --trace-deopt benchmark","build":"grunt build","install-build":"npm install && grunt build","preversion":"npm run clean && npm run build && npm run test:version","postversion":"git push --no-verify && git push --tags --no-verify"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*.js":["prettier-eslint --write","eslint --format node_modules/eslint-friendly-formatter","git add"]},"keywords":["xlsx","json","csv","excel","font","border","fill","number","format","number format","alignment","office","spreadsheet","workbook","defined names","data validations","rich text","in-cell format","outlineLevel","views","frozen","split","pageSetup"],"dependencies":{"archiver":"^5.0.0","dayjs":"^1.8.34","fast-csv":"^4.3.1","jszip":"^3.10.1","readable-stream":"^3.6.0","saxes":"^5.0.1","tmp":"^0.2.0","unzipper":"^0.10.11","uuid":"^8.3.0"},"devDependencies":{"@babel/cli":"^7.10.5","@babel/core":"^7.11.4","@babel/preset-env":"^7.11.0","@types/chai":"^4.2.12","@types/mocha":"^8.0.3","@types/node":"^14.11.2","babelify":"^10.0.0","browserify":"^16.5.2","chai":"^4.2.0","chai-datetime":"^1.7.0","chai-xml":"^0.3.2","core-js":"^3.6.5","dirty-chai":"^2.0.1","eslint":"^6.5.1","eslint-config-airbnb-base":"^14.2.0","eslint-config-prettier":"^6.12.0","eslint-friendly-formatter":"^4.0.1","eslint-plugin-import":"^2.22.0","eslint-plugin-node":"^11.1.0","express":"^4.16.4","got":"^9.0.0","grunt":"^1.3.0","grunt-babel":"^8.0.0","grunt-browserify":"^5.3.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-jasmine":"^2.2.0","grunt-contrib-watch":"^1.1.0","grunt-exorcise":"^2.1.1","grunt-terser":"^1.0.0","husky":"^4.3.0","lint-staged":"^10.2.13","mocha":"^7.2.0","prettier-eslint":"^11.0.0","prettier-eslint-cli":"^5.0.0","regenerator-runtime":"^0.13.7","sax":"^1.2.4","ts-node":"^8.10.2","typescript":"^3.9.7"},"_lastModified":"2025-11-26T17:40:29.831Z"}
1
+ {"name":"exceljs","version":"4.4.0","description":"Excel Workbook Manager - Read and Write xlsx and csv Files.","private":false,"license":"MIT","author":{"name":"Guyon Roche","email":"guyon@live.com"},"repository":{"type":"git","url":"https://github.com/exceljs/exceljs.git"},"engines":{"node":">=8.3.0"},"main":"./excel.js","browser":"./dist/exceljs.min.js","types":"./index.d.ts","files":["dist","lib","excel.js","LICENSE","README.md","README_zh.md","index.ts","index.d.ts"],"scripts":{"test":"npm run test:full","test:es5":"export EXCEL_BUILD=es5 && npm run test:full","test:full":"npm run build && npm run test:unit && npm run test:integration && npm run test:end-to-end && npm run test:jasmine","test:version":"npm run build && npm run test:unit && npm run test:integration && npm run test:end-to-end && npm run test:browser && npm run test:dist","test:all":"npm run test:native && npm run test:es5","test:native":"npm run test:full","test:unit":"mocha --require spec/config/setup --require spec/config/setup-unit spec/unit --recursive","test:integration":"mocha --require spec/config/setup spec/integration --recursive","test:end-to-end":"mocha --require spec/config/setup spec/end-to-end --recursive","test:browser":"if [ ! -f .disable-test-browser ]; then npm run build && npm run test:jasmine; fi","test:jasmine":"grunt jasmine","test:unit:es5":"export EXCEL_BUILD=es5 && npm run test:unit","test:integration:es5":"export EXCEL_BUILD=es5 && npm run test:integration","test:end-to-end:es5":"export EXCEL_BUILD=es5 && npm run test:end-to-end","test:dist":"mocha --require spec/config/setup spec/dist --recursive","test:manual":"node spec/manual/app.js","test:typescript":"mocha -r ts-node/register spec/typescript/**/*.spec.ts","clean-build":"npm run clean && npm run build","lint":"eslint --format node_modules/eslint-friendly-formatter .","lint:fix":"prettier-eslint --write $(pwd)'/**/*.js'","lint:staged":"lint-staged","clean":"rm -rf build/ && rm -rf dist","benchmark":"node --expose-gc benchmark","benchmark:debug":"node --expose-gc --inspect-brk --trace-deopt benchmark","build":"grunt build","install-build":"npm install && grunt build","preversion":"npm run clean && npm run build && npm run test:version","postversion":"git push --no-verify && git push --tags --no-verify"},"husky":{"hooks":{"pre-commit":"lint-staged"}},"lint-staged":{"*.js":["prettier-eslint --write","eslint --format node_modules/eslint-friendly-formatter","git add"]},"keywords":["xlsx","json","csv","excel","font","border","fill","number","format","number format","alignment","office","spreadsheet","workbook","defined names","data validations","rich text","in-cell format","outlineLevel","views","frozen","split","pageSetup"],"dependencies":{"archiver":"^5.0.0","dayjs":"^1.8.34","fast-csv":"^4.3.1","jszip":"^3.10.1","readable-stream":"^3.6.0","saxes":"^5.0.1","tmp":"^0.2.0","unzipper":"^0.10.11","uuid":"^8.3.0"},"devDependencies":{"@babel/cli":"^7.10.5","@babel/core":"^7.11.4","@babel/preset-env":"^7.11.0","@types/chai":"^4.2.12","@types/mocha":"^8.0.3","@types/node":"^14.11.2","babelify":"^10.0.0","browserify":"^16.5.2","chai":"^4.2.0","chai-datetime":"^1.7.0","chai-xml":"^0.3.2","core-js":"^3.6.5","dirty-chai":"^2.0.1","eslint":"^6.5.1","eslint-config-airbnb-base":"^14.2.0","eslint-config-prettier":"^6.12.0","eslint-friendly-formatter":"^4.0.1","eslint-plugin-import":"^2.22.0","eslint-plugin-node":"^11.1.0","express":"^4.16.4","got":"^9.0.0","grunt":"^1.3.0","grunt-babel":"^8.0.0","grunt-browserify":"^5.3.0","grunt-contrib-copy":"^1.0.0","grunt-contrib-jasmine":"^2.2.0","grunt-contrib-watch":"^1.1.0","grunt-exorcise":"^2.1.1","grunt-terser":"^1.0.0","husky":"^4.3.0","lint-staged":"^10.2.13","mocha":"^7.2.0","prettier-eslint":"^11.0.0","prettier-eslint-cli":"^5.0.0","regenerator-runtime":"^0.13.7","sax":"^1.2.4","ts-node":"^8.10.2","typescript":"^3.9.7"},"_lastModified":"2025-12-01T17:42:27.600Z"}
@@ -1 +1 @@
1
- {"name":"xlsx","version":"0.20.2","author":"sheetjs","description":"SheetJS Spreadsheet data parser and writer","keywords":["excel","xls","xlsx","xlsb","xlsm","ods","csv","dbf","dif","sylk","office","spreadsheet"],"bin":{"xlsx":"./bin/xlsx.njs"},"main":"xlsx.js","module":"xlsx.mjs","unpkg":"dist/xlsx.full.min.js","jsdelivr":"dist/xlsx.full.min.js","types":"types/index.d.ts","exports":{".":{"import":"./xlsx.mjs","require":"./xlsx.js","types":"./types/index.d.ts"},"./xlsx.mjs":{"import":"./xlsx.mjs","types":"./types/index.d.ts"},"./xlsx.js":{"require":"./xlsx.js","types":"./types/index.d.ts"},"./dist/xlsx.core.min":{"import":"./dist/xlsx.core.min.js","require":"./dist/xlsx.core.min.js","types":"./types/index.d.ts"},"./dist/xlsx.core.min.js":{"import":"./dist/xlsx.core.min.js","require":"./dist/xlsx.core.min.js","types":"./types/index.d.ts"},"./dist/xlsx.full.min":{"import":"./dist/xlsx.full.min.js","require":"./dist/xlsx.full.min.js","types":"./types/index.d.ts"},"./dist/xlsx.full.min.js":{"import":"./dist/xlsx.full.min.js","require":"./dist/xlsx.full.min.js","types":"./types/index.d.ts"},"./dist/xlsx.mini.min":{"import":"./dist/xlsx.mini.min.js","require":"./dist/xlsx.mini.min.js","types":"./types/index.d.ts"},"./dist/xlsx.mini.min.js":{"import":"./dist/xlsx.mini.min.js","require":"./dist/xlsx.mini.min.js","types":"./types/index.d.ts"},"./dist/xlsx.zahl":{"import":"./dist/xlsx.zahl.mjs","require":"./dist/xlsx.zahl.js","types":"./dist/zahl.d.ts"},"./dist/xlsx.zahl.mjs":{"import":"./dist/xlsx.zahl.mjs","types":"./dist/zahl.d.ts"},"./dist/xlsx.zahl.js":{"require":"./dist/xlsx.zahl.js","types":"./dist/zahl.d.ts"},"./dist/cpexcel":{"import":"./dist/cpexcel.full.mjs","require":"./dist/cpexcel.js","types":"./dist/cpexcel.d.ts"},"./dist/cpexcel.js":{"require":"./dist/cpexcel.js","types":"./dist/cpexcel.d.ts"},"./dist/cpexcel.full":{"import":"./dist/cpexcel.full.mjs","require":"./dist/cpexcel.js","types":"./dist/cpexcel.d.ts"},"./dist/cpexcel.full.mjs":{"import":"./dist/cpexcel.full.mjs","types":"./dist/cpexcel.d.ts"}},"browser":{"buffer":false,"crypto":false,"stream":false,"process":false,"fs":false},"sideEffects":false,"dependencies":{},"devDependencies":{"@sheetjs/uglify-js":"~2.7.3","@types/node":"^8.5.9","acorn":"7.4.1","adler-32":"~1.3.1","alex":"8.1.1","blanket":"~1.2.3","cfb":"~1.2.2","codepage":"~1.15.0","commander":"~2.17.1","crc-32":"~1.2.2","dtslint":"^0.1.2","eslint":"7.23.0","eslint-plugin-html":"^6.1.2","eslint-plugin-json":"^2.1.2","exit-on-epipe":"~1.0.1","fflate":"^0.7.1","jsdom":"~11.1.0","markdown-spellcheck":"^1.3.1","mocha":"~2.5.3","sinon":"^1.17.7","ssf":"~0.11.2","typescript":"2.2.0","wmf":"~1.0.1","word":"~0.3.0"},"repository":{"type":"git","url":"https://git.sheetjs.com/SheetJS/sheetjs"},"scripts":{"pretest":"npm run lint","test":"npm run tests-only","pretest-only":"git submodule init && git submodule update","tests-only":"make travis","build":"make","lint":"make fullint","dtslint":"dtslint types"},"config":{"blanket":{"pattern":"xlsx.js"}},"alex":{"allow":["chinese","special","simple","just","crash","wtf","holes"]},"homepage":"https://sheetjs.com/","files":["CHANGELOG.md","LICENSE","README.md","bower.json","package.json","xlsx.js","xlsx.mjs","xlsxworker.js","bin/xlsx.njs","dist/LICENSE","dist/*.mjs","dist/*.js","dist/*.map","dist/*.d.ts","types/index.d.ts","types/tsconfig.json"],"bugs":{"url":"https://git.sheetjs.com/SheetJS/sheetjs/issues"},"license":"Apache-2.0","engines":{"node":">=0.8"},"_lastModified":"2025-11-26T17:40:32.596Z"}
1
+ {"name":"xlsx","version":"0.20.2","author":"sheetjs","description":"SheetJS Spreadsheet data parser and writer","keywords":["excel","xls","xlsx","xlsb","xlsm","ods","csv","dbf","dif","sylk","office","spreadsheet"],"bin":{"xlsx":"./bin/xlsx.njs"},"main":"xlsx.js","module":"xlsx.mjs","unpkg":"dist/xlsx.full.min.js","jsdelivr":"dist/xlsx.full.min.js","types":"types/index.d.ts","exports":{".":{"import":"./xlsx.mjs","require":"./xlsx.js","types":"./types/index.d.ts"},"./xlsx.mjs":{"import":"./xlsx.mjs","types":"./types/index.d.ts"},"./xlsx.js":{"require":"./xlsx.js","types":"./types/index.d.ts"},"./dist/xlsx.core.min":{"import":"./dist/xlsx.core.min.js","require":"./dist/xlsx.core.min.js","types":"./types/index.d.ts"},"./dist/xlsx.core.min.js":{"import":"./dist/xlsx.core.min.js","require":"./dist/xlsx.core.min.js","types":"./types/index.d.ts"},"./dist/xlsx.full.min":{"import":"./dist/xlsx.full.min.js","require":"./dist/xlsx.full.min.js","types":"./types/index.d.ts"},"./dist/xlsx.full.min.js":{"import":"./dist/xlsx.full.min.js","require":"./dist/xlsx.full.min.js","types":"./types/index.d.ts"},"./dist/xlsx.mini.min":{"import":"./dist/xlsx.mini.min.js","require":"./dist/xlsx.mini.min.js","types":"./types/index.d.ts"},"./dist/xlsx.mini.min.js":{"import":"./dist/xlsx.mini.min.js","require":"./dist/xlsx.mini.min.js","types":"./types/index.d.ts"},"./dist/xlsx.zahl":{"import":"./dist/xlsx.zahl.mjs","require":"./dist/xlsx.zahl.js","types":"./dist/zahl.d.ts"},"./dist/xlsx.zahl.mjs":{"import":"./dist/xlsx.zahl.mjs","types":"./dist/zahl.d.ts"},"./dist/xlsx.zahl.js":{"require":"./dist/xlsx.zahl.js","types":"./dist/zahl.d.ts"},"./dist/cpexcel":{"import":"./dist/cpexcel.full.mjs","require":"./dist/cpexcel.js","types":"./dist/cpexcel.d.ts"},"./dist/cpexcel.js":{"require":"./dist/cpexcel.js","types":"./dist/cpexcel.d.ts"},"./dist/cpexcel.full":{"import":"./dist/cpexcel.full.mjs","require":"./dist/cpexcel.js","types":"./dist/cpexcel.d.ts"},"./dist/cpexcel.full.mjs":{"import":"./dist/cpexcel.full.mjs","types":"./dist/cpexcel.d.ts"}},"browser":{"buffer":false,"crypto":false,"stream":false,"process":false,"fs":false},"sideEffects":false,"dependencies":{},"devDependencies":{"@sheetjs/uglify-js":"~2.7.3","@types/node":"^8.5.9","acorn":"7.4.1","adler-32":"~1.3.1","alex":"8.1.1","blanket":"~1.2.3","cfb":"~1.2.2","codepage":"~1.15.0","commander":"~2.17.1","crc-32":"~1.2.2","dtslint":"^0.1.2","eslint":"7.23.0","eslint-plugin-html":"^6.1.2","eslint-plugin-json":"^2.1.2","exit-on-epipe":"~1.0.1","fflate":"^0.7.1","jsdom":"~11.1.0","markdown-spellcheck":"^1.3.1","mocha":"~2.5.3","sinon":"^1.17.7","ssf":"~0.11.2","typescript":"2.2.0","wmf":"~1.0.1","word":"~0.3.0"},"repository":{"type":"git","url":"https://git.sheetjs.com/SheetJS/sheetjs"},"scripts":{"pretest":"npm run lint","test":"npm run tests-only","pretest-only":"git submodule init && git submodule update","tests-only":"make travis","build":"make","lint":"make fullint","dtslint":"dtslint types"},"config":{"blanket":{"pattern":"xlsx.js"}},"alex":{"allow":["chinese","special","simple","just","crash","wtf","holes"]},"homepage":"https://sheetjs.com/","files":["CHANGELOG.md","LICENSE","README.md","bower.json","package.json","xlsx.js","xlsx.mjs","xlsxworker.js","bin/xlsx.njs","dist/LICENSE","dist/*.mjs","dist/*.js","dist/*.map","dist/*.d.ts","types/index.d.ts","types/tsconfig.json"],"bugs":{"url":"https://git.sheetjs.com/SheetJS/sheetjs/issues"},"license":"Apache-2.0","engines":{"node":">=0.8"},"_lastModified":"2025-12-01T17:42:30.586Z"}
@@ -7,5 +7,6 @@
7
7
  "Incorrect date format": "日期格式不正确",
8
8
  "Incorrect email format": "邮箱格式不正确",
9
9
  "Illegal percentage format": "百分比格式有误",
10
- "Imported template does not match, please download again.": "导入模板不匹配,请检查导入文件标题行或重新下载导入模板"
11
- }
10
+ "Imported template does not match, please download again.": "导入模板不匹配,请检查导入文件标题行或重新下载导入模板",
11
+ "Failed to parse field {{field}} in row {{rowIndex}}": "第 {{rowIndex}} 行的字段 {{field}} 解析失败:{{message}}"
12
+ }
@@ -188,6 +188,7 @@ class XlsxImporter extends import_events.default {
188
188
  return this.repository instanceof import_database.RelationRepository ? this.repository.targetModel : this.repository.model;
189
189
  }
190
190
  async handleRowValuesWithColumns(row, rowValues, options) {
191
+ var _a;
191
192
  for (let index = 0; index < this.options.columns.length; index++) {
192
193
  const column = this.options.columns[index];
193
194
  const field = this.options.collection.getField(column.dataIndex[0]);
@@ -215,7 +216,15 @@ class XlsxImporter extends import_events.default {
215
216
  ctx.targetCollection = field.targetCollection();
216
217
  ctx.filterKey = column.dataIndex[1];
217
218
  }
218
- rowValues[dataKey] = await interfaceInstance.toValue(this.trimString(str), ctx);
219
+ try {
220
+ rowValues[dataKey] = str == null ? null : await interfaceInstance.toValue(this.trimString(str), ctx);
221
+ } catch (error) {
222
+ throw new import_errors.ImportValidationError("Failed to parse field {{field}} in row {{rowIndex}}: {{message}}", {
223
+ rowIndex: ((_a = options == null ? void 0 : options.context) == null ? void 0 : _a.handingRowIndex) || 1,
224
+ field: dataKey,
225
+ message: error.message
226
+ });
227
+ }
219
228
  }
220
229
  const model = this.getModel();
221
230
  const guard = import_database.UpdateGuard.fromOptions(model, {