Serializing CSV

Copy paste from CSV to Slate.

Loading...
Files
components/demo.tsx
'use client';

import React from 'react';

import { Plate } from '@udecode/plate-common/react';

import { editorPlugins } from '@/components/editor/plugins/editor-plugins';
import { useCreateEditor } from '@/components/editor/use-create-editor';
import { Editor, EditorContainer } from '@/components/plate-ui/editor';

import { DEMO_VALUES } from './values/demo-values';

export default function Demo({ id }: { id: string }) {
  const editor = useCreateEditor({
    plugins: [...editorPlugins],
    value: DEMO_VALUES[id],
  });

  return (
    <Plate editor={editor}>
      <EditorContainer variant="demo">
        <Editor />
      </EditorContainer>
    </Plate>
  );
}

Features

  • 将 CSV 内容转换为 Slate 值。

安装

npm install @udecode/plate-csv

使用

CSV -> Slate

import { CsvPlugin } from '@udecode/plate-csv';
 
const plugins = [
  // ...otherPlugins,
  CsvPlugin,
];

插件

CsvPlugin

Options

Collapse all

    CSV 数据中错误的容忍度,以小数形式表示的百分比。该值是通过错误数与总行数的比率计算得出的。

    • 默认值: 0.25(表示最多可以容忍 25% 的行包含错误。)

    传递给 PapaParse 库用于解析 CSV 数据的选项。

    • 默认值: { header: true }(表示 CSV 数据的第一行应被视为表头。)

    更多关于这些选项的详细信息,请参考 PapaParse 文档

API

editor.api.csv.deserialize

接收 CSV(逗号分隔值)字符串并将其转换为 Slate 兼容格式。此函数使用 papaparse 库来解析 CSV 数据。

Parameters

Collapse all

    编辑器实例。

    要反序列化的 CSV 数据字符串。

    以小数形式表示的百分比,从 0 到一个很大的数字,0 表示不允许有错误。百分比基于错误数与行数的比较。

    • 默认值: 0.25

    传递给 PapaParse 库用于解析 CSV 数据的选项。

    • 默认值: { header: true }(表示 CSV 数据的第一行应被视为表头。)

    更多关于这些选项的详细信息,请参考 PapaParse 文档

Returns

Collapse all

    返回一个 TDescendant 对象数组,表示 CSV 数据在 Slate 兼容格式下的结构。 如果 CSV 数据解析失败或数据无效,此函数返回 undefined

此函数创建 CSV 数据的表格表示。如果 CSV 文件包含表头,它们会被添加为表格的第一行。后续每一行代表 CSV 文件中的值。如果 CSV 文件不包含表头,数据的每一行都会表示为表格中的一行。

请注意,该函数假定使用了对应于 ParagraphPlugin.keyTablePlugin.keyTableCellHeaderPlugin.keyTableRowPlugin.keyTableCellPlugin.key 的特定插件。