文件向量 d Sheets
dsheets. new (英语) 您的端到端加密替代 Google 工作表 & Excel 。 用它来读取,操控,甚至写出财务数据,实时. 建在与 Ddocs 相同的中间软件上. 新的,应用程序是专注隐私的,主权的, 并给予你完全控制你的数据.
其特征包括:
- 端到端加密
- 本地端对端存储( P)
- 查询APIs甚至智能合同的活数据
- 启用暗模式和其他颜色主题
- 使用熟悉的电子表格接口和函数( VLOOKUP, INDEX, MATCH...)
- Granular 访问权限(例如,查看、评论、编辑、建议访问特定电子邮件地址)
安装
通过 npm 安装开始 :
npm install @fileverse-dev/dsheet
设置
1. 进口
添加下列进口
import DsheetEditor from '@fileverse-dev/dsheet';
import '@fileverse-dev/dsheet/styles';
2. 配置尾风
添加到您的 tailwind.config.js数字 :
module.exports = {
content: [
"./src/**/*.{js,jsx,ts,tsx}",
"./node_modules/@fileverse-dev/dsheet/dist/index.es.js"
]
}
3. 基本用途
function App() {
const [data, setData] = useState({});
return (
<DsheetEditor
isAuthorized={true}
dsheetId="my-sheet-id"
onChange={(updateData) => setData(updateData)}
/>
);
}
推荐参考
必需的道具
| Prop | 类型 | 说明 |
|---|---|---|
isAuthorized | boolean | 用户的授权状态 |
dsheetId | string | 协作室的独特标识符 |
可选道具
| Prop | 类型 | 默认 | 说明 |
|---|---|---|---|
onChange | (data: SheetUpdateData, encodedUpdate?: string) => void | - 说吧 | 当工作表数据改变时召回 |
onContentUpdate | () => void | - 说吧 | 不编码或重建工作表的廉价节奏回调 |
portalContent | string | - 说吧 | 编码初始工作表数据 |
isReadOnly | boolean | false | 启用只读模式 |
allowComments | boolean | false | 启用注释( 需要) isReadOnly=true(中文(简体) ) |
username | string | - 说吧 | 协作的用户名 |
isCollaborative | boolean | false | 启用协作功能 |
enableWebrtc | boolean | true | 为 P2P 协作启用 WebRTC |
enableIndexeddbSync | boolean | true | 启用本地索引 DB 持久性 |
isTemplateOpen | boolean | - 说吧 | 模板侧边栏状态 |
selectedTemplate | string | - 说吧 | 选中模板标识符 |
onboardingComplete | boolean | - 说吧 | 登入完成状态 |
sheetEditorRef | RefObject<WorkbookInstance> | - 说吧 | 外部对编辑器实例的对比 |
高级道具
| Prop | 类型 | 说明 |
|---|---|---|
renderNavbar | (editorValues?: EditorValues) => JSX.Element | 自定义导航条渲染器 |
onboardingHandler | OnboardingHandlerType | 自定义登入逻辑 |
dataBlockApiKeyHandler | DataBlockApiKeyHandlerType | 数据块的 API 密钥处理器 |
getCommentCellUI | (row: number, column: number, dragHandler: CommentUIDragFn) => void | 自定义注释 UI 处理器 |
commentData | Object | 单元格注释数据 |
toggleTemplateSidebar | () => void | 模板侧边栏切换处理器 |
storeApiKey | (apiKeyName: string) => void | API 密钥存储处理器 |
onDataBlockApiResponse | (dataBlockName: string) => void | 数据块 API 响应处理器 |
onDuneChartEmbed | () => void | 嵌入式处理器 |
onSheetCountChange | (sheetCount: number) => void | 工作表计数更改处理器 |
UI 国道
| Prop | 类型 | 说明 |
|---|---|---|
setShowFetchURLModal | Dispatch<SetStateAction<boolean>> | URL 获取模式状态设置器 |
setFetchingURLData | (fetching: boolean) => void | URL 正在获取状态设置 |
setInputFetchURLDataBlock | Dispatch<SetStateAction<string>> | URL 输入状态设置器 |
setForceSheetRender | Dispatch<SetStateAction<number>> | 强制重击触发器 |
实例
仅读查看器
<DsheetEditor
isAuthorized={true}
dsheetId="viewer-sheet"
isReadOnly={true}
allowComments={true}
portalContent={encodedData}
onChange={() => {}}
/>
协作编辑器
<DsheetEditor
isAuthorized={true}
dsheetId="collab-sheet"
username="john-doe"
isCollaborative={true}
enableWebrtc={true}
onChange={(data) => console.log('Sheet updated:', data)}
/>
自定义导航栏
<DsheetEditor
isAuthorized={true}
dsheetId="custom-sheet"
renderNavbar={(editorValues) => (
<div className="flex items-center gap-4">
<h1>My Custom Sheet</h1>
<button onClick={() => editorValues?.sheetEditorRef.current?.exportToExcel()}>
Export
</button>
</div>
)}
/>
带有模板
<DsheetEditor
isAuthorized={true}
dsheetId="template-sheet"
selectedTemplate="financial-budget"
isTemplateOpen={true}
toggleTemplateSidebar={() => setTemplateOpen(!templateOpen)}
/>
发展
运行演示
cd demo
npm install
npm run dev
构建软件包
npm run build
类型脚本
所有道具全部输入. 导入类型 :
import { DsheetProps, SheetUpdateData, EditorValues } from '@fileverse-dev/dsheet/types';
许可证
AGPL-3.0 导弹