SpreadJS, Real-Time Collaboration

JavaScript Excel 동시 편집 기능

JavaScript 동시편집 프레임워크를 통해, 간단하게 실시간 Excel 협업 기능을 SpreadJS에 추가해보세요.

이제 Google Sheets, MS365 Excel처럼 웹 앱에서 여러 사용자가 실시간으로 협업하는 기능을 구현할 수 있습니다.

SpreadJS 동시 편집 프레임워크 핵심 기능

List of Services

    SpreadJS 실시간 협업 작업은 여러 사용자가 동시에 동일한 스프레드시트를 편집할 수 있도록 지원합니다.

    이제 여러분의 웹 앱에 Google Sheets와 Excel Online과 같은 실시간 다중 사용자 Excel 편집 기능을 구현해보세요.

    실시간 동기화

    실시간 동기화

    Operational Transformation 엔진이 여러 사용자의 동시 편집을 충돌 없이 지능적으로 지동 병합/편집합니다.

    실시간 협업자 트래킹

    실시간 협업자 트래킹

    각 사용자의 커서 위치, 선택 영역, 편집 상태를 실시간으로 표시합니다. 누가 어디서 작업하는 지 한눈에 파악하세요.

    권한 제어

    권한 제어

    사용자별, 셀 별 편집 권한을 세밀하게 제어합니 다. View/Edit 모드와 시트별 접근 제어를 지원 합니다.

    기업용 애플리케이션을 위한 강력한 협업 서버(Node.js)

    SpreadJS Collaboration Server Node.js 아키텍처를 기반으로 구축된 엔터프라이즈급 실시간 협업 기능을 제공합니다.

    다중 사용자 실시간 스프레드시트 및 문서 공동 작업

    JavaScript 기반 실시간 협업 스프레드시트로 여러 사용자가 동시에 편집·공유할 수 있으며, OT 기술을 통해 모든 변경 사항을 충돌 없이 동기화합니다.

    사용자 및 권한 관리

    JavaScript 기반 공동 작업 스프레드시트 서버로 사용자별 보기·편집 권한과 액세스 모드를 세밀하게 제어할 수 있습니다.

    지금 바로 시작하세요!

    14일 무료 체험으로 실시간 협업의 모든 것을 경험해보세요.

    SpreadJS 실시간 협업 기능 빠른 시작 가이드

    아래 가이드를 따라 10분 안에 실시간 협업 스프레드시트를 구축해 보세요!

    1

    NPM 및 라이브러리 설치를 통한 프로젝트 초기화

    Node.js 프로젝트를 생성하고 필요한 패키지를 설치합니다

    📦 설치
      # 프로젝트 폴더 생성 
    
    mkdir spread-collaboration
    cd spread-collaboration

    # Node.js 프로젝트 초기화
    npm init -y

    # 필수 패키지 설치
    npm install @mescius/spread-sheets \
      @mescius/spread-sheets-collaboration \
      @mescius/spread-sheets-collaboration-client \
      @mescius/js-collaboration \
      @mescius/js-collaboration-client \
      express
    2

    고성능 실시간 처리를 위한 Node.js 서버 설정

    실시간 협업을 위한 Node.js 서버를 구성합니다

    📄 server.js
      import 
    express from 
     'express' 
    ;
    import { Server } from '@mescius/js-collaboration' ;
    import * as OT from '@mescius/js-collaboration-ot' ;

    const app = express();
    const httpServer = http.createServer(app);
    const server = new Server({ httpServer });

    // OT 문서 서비스 초기화
    const documentServices = new OT.DocumentServices();
    server.useFeature(OT.documentFeature(documentServices));

    httpServer.listen( 8080 );
    Operational Transformation 지원
    🔄 자동 문서 동기화
    3

    JS Spreadsheet 클라이언트 구현

    SpreadJS와 협업 기능을 연결합니다

    📄 client.js
      import 
    * as 
    GC from 
     '@mescius/spread-sheets' 
    ;
    import { Client } from '@mescius/js-collaboration-client' ;
    import * as OT from '@mescius/js-collaboration-ot-client' ;
    import { bind } from '@mescius/spread-sheets-collaboration-client' ;

    // SpreadJS 워크북 생성
    const workbook = new GC.Spread.Sheets.Workbook( 'ss' );

    // 서버 연결 및 룸 참여
    const conn = new Client().connect( 'room1' );
    const doc = new OT.SharedDoc(conn);
    await doc.fetch();

    // 문서가 없으면 생성
    if (!doc.type) {
      await doc.create(workbook.collaboration.toSnapshot());
    }

    // 워크북과 문서 바인딩
    bind(workbook, doc);
    4

    실행 및 테스트

    서버를 실행하고 여러 브라우저에서 동시 편집을 확인하세요

    🚀 실행
      # 클라이언트 빌드 
    
    npm run build

    # 서버 시작
    npm run start

    # 브라우저에서 접속
    http://localhost:8080
    브라우저에서 http://localhost:8080 열기
    여러 탭/창을 열어서 동시에 편집
    실시간 동기화 확인

    강력한 SpreadJS 엔터프라이즈 협업 기능

    List of Services

      분할 동기화

      스냅 샷을 통합 문서의 워크시트별로 하나씩, 더 작고 독립적인 조각으로 분할하여 대용량 문서에 대한 서버 효율성을 향상시킵니다.

      데이터베이스(DB) 통합

      PostgresQL, SQLite 등 주요 데이터베이스 지원. 커스텀 어댑터로 선택 확장 가능합니다.

      자동 재연결

      네트워크 끊김 시 자동 재연결하여 데이터 손실 없이 세션 복구

      협업 실행 취소/재실행

      다중 사용자 환경에서도 각자의 작업을 독립적으로 실행 취소 가능합니다.

      미들웨어 & 훅

      요청/응답 파이프라인에 커스텀 로직 삽입. 감사, 검증, 변 환 등 자유롭게 확장

      커스텀 OT 타입

      기본 제공되는 OT 타입 외에도 비즈니스 로직에 맞는 사용자 커스텀 타입 정의가 가능합니다.

      더 많은 템플릿 & 샘플이 궁금하신가요?

      SpreadJS 온라인 튜토리얼 쇼케이스를 방문해 보세요!