KR101797573B1 - 웹 기반의 스프레드시트 서비스 제공 장치 및 방법 - Google Patents

웹 기반의 스프레드시트 서비스 제공 장치 및 방법 Download PDF

Info

Publication number
KR101797573B1
KR101797573B1 KR1020167017256A KR20167017256A KR101797573B1 KR 101797573 B1 KR101797573 B1 KR 101797573B1 KR 1020167017256 A KR1020167017256 A KR 1020167017256A KR 20167017256 A KR20167017256 A KR 20167017256A KR 101797573 B1 KR101797573 B1 KR 101797573B1
Authority
KR
South Korea
Prior art keywords
cell
information
data
additional
client terminal
Prior art date
Application number
KR1020167017256A
Other languages
English (en)
Inventor
이연희
Original Assignee
주식회사 한글과컴퓨터
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 한글과컴퓨터 filed Critical 주식회사 한글과컴퓨터
Application granted granted Critical
Publication of KR101797573B1 publication Critical patent/KR101797573B1/ko

Links

Images

Classifications

    • G06F17/246
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

웹 기반의 스프레드시트 서비스 제공 장치 및 방법이 개시된다. 본 발명은 클라이언트 단말의 브라우저를 통해서 스프레드시트를 구성하는 복수의 셀들이 정확히 렌더링되어 화면 상에 표시될 수 있도록 지원하고, 상기 스프레드시트에 함수 연산이 포함되어 있더라도, 이러한 함수 연산을 지원할 수 있는 웹 기반의 스프레드시트 서비스 제공 장치 및 방법을 제공하고자 한다.

Description

웹 기반의 스프레드시트 서비스 제공 장치 및 방법{WEB BASED SPREADSHEETS SERVICE PROVIDING APPARATUS AND METHOD}
본 발명은 웹을 기반으로 클라이언트 단말에 대해 스프레드시트의 열람, 작성, 편집 등을 수행할 수 있도록 지원하는 웹 기반의 스프레드시트 서비스 제공 장치 및 방법에 대한 것이다.
최근, 컴퓨터나 스마트폰 또는 태블릿 PC 등과 같은 전자 단말 장치가 널리 보급됨에 따라 이러한 전자 단말 장치를 이용하여 전자 문서를 열람, 작성, 편집할 수 있도록 하는 다양한 종류의 전자 문서 관련 프로그램들이 출시되고 있다.
이러한 전자 문서 관련 프로그램들로는 기본적인 문서의 작성, 편집 등을 지원하는 워드프로세서, 데이터의 입력, 산술연산, 데이터 관리를 보조하는 스프레드시트, 발표자의 발표를 보조하기 위한 프레젠테이션 프로그램들이 있다.
기존에는 사용자가 전자 단말 장치를 활용해서 전자 문서를 열람, 작성, 편집하기 위해서는 전자 단말 장치에 직접 앞서 언급한 전자 문서 관련 프로그램들을 설치한 후 전자 문서 관련 프로그램들을 구동시켜 전자 문서를 열람하거나 작성 및 편집해야 했었다.
하지만, 최근에는 초고속 인터넷 환경이 구축되고, 언제 어디에서든지 인터넷에 접속할 수 있도록 하는 무선 인터넷 환경이 구축됨에 따라, 원격지의 서버를 통해서, 클라이언트 단말인 전자 단말 장치에 전자 문서 관련 서비스를 제공함으로써, 사용자가 전자 단말 장치에 소정의 전자 문서 관련 프로그램을 설치하지 않더라도 언제 어디에서든지 전자 문서를 열람, 작성, 편집할 수 있도록 하는 웹 기반의 전자 문서 서비스가 등장하고 있다.
이러한 웹 기반의 전자 문서 서비스는 다양한 클라이언트 단말들이 전자 문서 서비스 제공 서버에 접속한 후 브라우저를 통해 마크업 언어(Markup Language) 기반의 전자 문서를 열람한 후 해당 전자 문서를 작성 및 편집할 수 있도록 지원하며, 다양한 클라이언트 단말들이 상기 전자 문서에 대해서 실시간으로 동시 협업을 수행할 수 있도록 지원한다는 점에서 기업이나 단체 등에서 주로 활용되고 있다.
그리고, 웹 기반의 전자 문서 서비스는 클라이언트 단말에 소정의 전자 문서 작성 프로그램을 설치할 필요 없이, 인터넷에 접속만 할 수 있으면, 클라이언트 단말에 탑재되어 있는 브라우저를 통해서 전자 문서를 열람하고, 작성 및 편집할 수 있도록 지원하기 때문에 사용자의 이동성을 보장할 수 있어, 개인 사용자들도 점차 증가하고 있는 추세이다.
이러한 웹 기반의 전자 문서 서비스 중에서는 웹 기반으로 사용자가 스프레드시트 관련 문서를 작성할 수 있도록 지원하는 스프레드시트 서비스도 존재한다.
하지만, 스프레드시트는 행과 열 주소를 갖는 복수의 셀들로 구성되어 있고, 함수 연산을 지원한다는 점에서 일반적인 전자 문서와 달리, 다소 복잡한 구조의 문서이기 때문에 이러한 스프레드시트와 관련된 전자 문서 작성 서비스를 웹 기반으로 클라이언트 단말의 사용자에게 제공할 수 있도록 지원하기 위한 기술적 방법이 논의될 필요가 있다.
본 발명은 클라이언트 단말의 브라우저를 통해서 스프레드시트를 구성하는 복수의 셀들이 정확히 렌더링되어 화면 상에 표시될 수 있도록 지원하고, 상기 스프레드시트에 함수 연산이 포함되어 있더라도, 이러한 함수 연산을 지원할 수 있는 웹 기반의 스프레드시트 서비스 제공 장치 및 방법을 제공하고자 한다.
본 발명의 일실시예에 따른 웹 기반의 스프레드시트 서비스 제공 장치는 스프레드시트를 구성하는 복수의 셀들 중 데이터가 삽입되어 있는 적어도 하나의 셀에 대한 정보 - 상기 적어도 하나의 셀에 대한 정보는 상기 적어도 하나의 셀에 삽입되어 있는 데이터와 상기 적어도 하나의 셀 각각에 할당되어 있는 열 주소를 포함함 - 를 상기 적어도 하나의 셀 각각에 할당되어 있는 행 주소를 기초로 동일한 행 단위로 그룹화하여 목록 - 상기 목록은 상기 적어도 하나의 셀에 대한 정보가 그룹화되어 있는 각 행 주소에 대한 정보를 포함함 - 으로 저장하고 있는 셀 데이터베이스 및 클라이언트 단말로부터 상기 스프레드시트에 대한 오픈 명령이 수신되면, 상기 셀 데이터베이스로부터 상기 목록에 대한 데이터를 추출하여 상기 클라이언트 단말에 대해 상기 목록에 대한 데이터를 전송하는 스프레드시트 데이터 전송부를 포함하고, 상기 클라이언트 단말은 상기 목록에 대한 데이터가 수신되면, 상기 클라이언트 단말의 브라우저를 통해 상기 목록 상에서 그룹화되어 있는 상기 적어도 하나의 셀에 대한 행 주소를 확인하고, 상기 목록 상에 포함되어 있는 상기 적어도 하나의 셀에 대한 정보로부터 상기 적어도 하나의 셀 각각에 할당되어 있는 열 주소와 상기 적어도 하나의 셀 각각에 삽입되어 있는 데이터를 추출하여 상기 확인된 행 주소와 상기 추출된 열 주소 및 상기 추출된 데이터를 기초로 상기 스프레드시트를 구성하는 복수의 셀들을 렌더링하여 화면 상에 표시한다.
또한, 본 발명의 일실시예에 따른 웹 기반의 스프레드시트 서비스 제공 방법은 스프레드시트를 구성하는 복수의 셀들 중 데이터가 삽입되어 있는 적어도 하나의 셀에 대한 정보 - 상기 적어도 하나의 셀에 대한 정보는 상기 적어도 하나의 셀에 삽입되어 있는 데이터와 상기 적어도 하나의 셀 각각에 할당되어 있는 열 주소를 포함함 - 를 상기 적어도 하나의 셀 각각에 할당되어 있는 행 주소를 기초로 동일한 행 단위로 그룹화하여 목록 - 상기 목록은 상기 적어도 하나의 셀에 대한 정보가 그룹화되어 있는 각 행 주소에 대한 정보를 포함함 - 으로 저장하고 있는 셀 데이터베이스를 유지하는 단계 및 클라이언트 단말로부터 상기 스프레드시트에 대한 오픈 명령이 수신되면, 상기 셀 데이터베이스로부터 상기 목록에 대한 데이터를 추출하여 상기 클라이언트 단말에 대해 상기 목록에 대한 데이터를 전송하는 단계를 포함하고, 상기 클라이언트 단말은 상기 목록에 대한 데이터가 수신되면, 상기 클라이언트 단말의 브라우저를 통해 상기 목록 상에서 그룹화되어 있는 상기 적어도 하나의 셀에 대한 행 주소를 확인하고, 상기 목록 상에 포함되어 있는 상기 적어도 하나의 셀에 대한 정보로부터 상기 적어도 하나의 셀 각각에 할당되어 있는 열 주소와 상기 적어도 하나의 셀 각각에 삽입되어 있는 데이터를 추출하여 상기 확인된 행 주소와 상기 추출된 열 주소 및 상기 추출된 데이터를 기초로 상기 스프레드시트를 구성하는 복수의 셀들을 렌더링하여 화면 상에 표시한다.
본 발명은 클라이언트 단말의 브라우저를 통해서 스프레드시트를 구성하는 복수의 셀들이 정확히 렌더링되어 화면 상에 표시될 수 있도록 지원하고, 상기 스프레드시트에 함수 연산이 포함되어 있더라도, 이러한 함수 연산을 지원할 수 있는 웹 기반의 스프레드시트 서비스 제공 장치 및 방법을 제공할 수 있다.
도 1은 본 발명의 일실시예에 따른 웹 기반의 스프레드시트 서비스 제공 장치의 구조를 도시한 도면이다.
도 2 내지 도 6은 본 발명의 일실시예에 따른 웹 기반의 스프레드시트 서비스 제공 장치의 동작을 설명하기 위한 도면이다.
도 7은 본 발명의 일실시예에 따른 웹 기반의 스프레드시트 서비스 제공 방법을 도시한 순서도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하에서, 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일실시예에 따른 웹 기반의 스프레드시트 서비스 제공 장치의 구조를 도시한 도면이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 웹 기반의 스프레드시트 서비스 제공 장치(110)는 셀 데이터베이스(111) 및 스프레드시트 데이터 전송부(112)를 포함한다.
셀 데이터베이스(111)는 스프레드시트를 구성하는 복수의 셀들 중 데이터가 삽입되어 있는 적어도 하나의 셀에 대한 정보를 상기 적어도 하나의 셀 각각에 할당되어 있는 행 주소를 기초로 동일한 행 단위로 그룹화하여 목록으로 저장하고 있다.
이때, 상기 적어도 하나의 셀에 대한 정보는 상기 적어도 하나의 셀에 삽입되어 있는 데이터와 상기 적어도 하나의 셀 각각에 할당되어 있는 열 주소를 포함하고, 상기 목록은 상기 적어도 하나의 셀에 대한 정보가 그룹화되어 있는 각 행 주소에 대한 정보를 포함한다.
관련해서, 셀 데이터베이스(111)는 도 2에 도시된 그림과 같은 목록을 저장하고 있을 수 있다.
예컨대, 상기 스프레드시트를 구성하는 복수의 셀들에 도 3에 도시되어 있는 그림과 같이 데이터가 삽입되어 있다고 가정하는 경우, 셀 데이터베이스(111)에는 도 2에 도시된 바와 같이, 데이터가 삽입되어 있는 셀들의 열 주소와 데이터를 정보로 포함하고 있는 셀에 대한 정보를 동일한 행 단위로 그룹화하고 있는 목록이 저장되어 있을 수 있다.
관련해서, 도 3에 도시된 바와 같이, 상기 스프레드시트를 구성하는 복수의 셀들 중 "1행, A열"에 데이터 "a"가 삽입되어 있고, "1행, B열"에 데이터 "1"이 삽입되어 있으며, "1행, C열"에 데이터 "2"가 삽입되어 있고, "1행, D열"에 데이터 "3"이 삽입되어 있는 경우, 셀 데이터베이스(111)에 저장되어 있는 상기 목록에는 도 2에 도시된 바와 같이, "row: 1"(210)이라고 하는 행 주소에 대해서 "data: a, column: A"(221)라고 하는 셀에 대한 정보, "data: 1, column: B"(222)라고 하는 셀에 대한 정보, "data: 2, column: C"(223)라고 하는 셀에 대한 정보 및 "data: 3, column: D"(224)라고 하는 셀에 대한 정보가 동일한 그룹으로 그룹화되어 있을 수 있다.
이때, 상기 목록은 도 2에 도시된 행 주소인 "row: 1", "row: 2", "row: 3", "row: 4"와 같은 각 그룹의 행 주소에 대한 정보를 포함하고 있을 수 있다.
스프레드시트 데이터 전송부(112)는 사용자가 클라이언트 단말(130)을 이용해서 인터넷을 통해 웹 기반의 스프레드시트 서비스 제공 장치(110)에 접속한 후 상기 스프레드시트에 대한 오픈 명령을 인가함에 따라, 클라이언트 단말(130)로부터 상기 스프레드시트에 대한 오픈 명령이 수신되면, 셀 데이터베이스(111)로부터 상기 목록에 대한 데이터를 추출하여 클라이언트 단말(130)에 대해 상기 목록에 대한 데이터를 전송한다.
이때, 클라이언트 단말(130)은 웹 기반의 스프레드시트 서비스 제공 장치(110)로부터 상기 목록에 대한 데이터가 수신되면, 클라이언트 단말(130)의 브라우저를 통해 상기 목록 상에서 그룹화되어 있는 상기 적어도 하나의 셀에 대한 행 주소를 확인하고, 상기 목록 상에 포함되어 있는 상기 적어도 하나의 셀에 대한 정보로부터 상기 적어도 하나의 셀 각각에 할당되어 있는 열 주소와 상기 적어도 하나의 셀 각각에 삽입되어 있는 데이터를 추출한 후 상기 확인된 행 주소와 상기 추출된 열 주소 및 상기 추출된 데이터를 기초로 상기 스프레드시트를 구성하는 복수의 셀들을 렌더링하여 화면 상에 표시할 수 있다.
관련해서, 클라이언트 단말(130)에는 웹 기반의 스프레드시트 서비스 제공 장치(110)로부터 도 2의 도시된 도면과 같은 상기 목록에 대한 데이터가 수신되었을 때, 브라우저를 통해서 도 3에 도시된 형태의 스프레드시트를 구성하는 복수의 셀들을 렌더링하여 화면 상에 표시하기 위해서, 브라우저 상에 스프레드시트를 렌더링하기 위한 스크립트(Script)가 설치되어 있을 수 있다. 예컨대, 클라이언트 단말(130)의 브라우저에는 상기 스프레드시트를 렌더링하기 위한 명령어들로 구성된 자바스크립트(JavaScript)가 설치되어 있을 수 있다.
이때, 클라이언트 단말(130)은 웹 기반의 스프레드시트 서비스 제공 장치(110)로부터 도 2의 도시된 도면과 같은 상기 목록에 대한 데이터가 수신되면, 브라우저를 통해 도 3에 도시된 형태의 스프레드시트를 구성하는 복수의 셀들을 렌더링해서 화면 상에 표시할 수 있는데, 보다 상세하게는 브라우저에 설치되어 있는 스크립트의 각 명령어를 실행해서, 상기 목록 상에서 그룹화되어 있는 상기 적어도 하나의 셀에 대한 행 주소를 확인하고, 상기 목록 상에 포함되어 있는 상기 적어도 하나의 셀에 대한 정보로부터 상기 적어도 하나의 셀 각각에 할당되어 있는 열 주소와 상기 적어도 하나의 셀 각각에 삽입되어 있는 데이터를 추출한 후 상기 확인된 행 주소와 상기 추출된 열 주소 및 상기 추출된 데이터를 기초로 도 3에 도시된 바와 같은 상기 스프레드시트를 구성하는 복수의 셀들을 렌더링하여 화면 상에 표시할 수 있다.
이때, 클라이언트 단말(130)은 상기 브라우저에 설치되어 있는 스크립트의 각 명령어를 실행하여 상기 스프레드시트를 구성하는 복수의 셀들을 HTML(Hypertext Markup Language)이나 XML(eXtensible Markup Language) 등과 같은 마크업 언어(Markup Language) 기반의 문서로 렌더링해서 화면 상에 표시할 수 있다.
즉, 본 발명은 웹 기반의 스프레드시트 서비스 제공 장치(110)가 셀 데이터베이스(111) 상에 도 2에 도시된 그림과 같이, 스프레드시트를 구성하는 복수의 셀들 중 데이터가 삽입되어 있는 적어도 하나의 셀에 대한 정보를 상기 적어도 하나의 셀 각각에 할당되어 있는 행 주소를 기초로 동일한 행 단위로 그룹화하여 목록으로 저장하고 있다가, 클라이언트 단말(130)로부터 상기 스프레드시트에 대한 오픈 명령이 수신되면, 셀 데이터베이스(111)로부터 상기 목록에 대한 데이터를 추출하여 클라이언트 단말(130)로 전송한 후 클라이언트 단말(130)이 상기 목록에 대한 데이터를 기초로 브라우저를 통해 상기 목록 상에 포함되어 있는 상기 적어도 하나의 셀에 대한 정보로부터 상기 적어도 하나의 셀 각각에 할당되어 있는 열 주소와 상기 적어도 하나의 셀 각각에 삽입되어 있는 데이터를 추출하도록 하고, 그 후 클라이언트 단말(130)이 상기 확인된 행 주소와 상기 추출된 열 주소 및 상기 추출된 데이터를 기초로 도 3에 도시된 그림과 같은 상기 스프레드시트를 구성하는 복수의 셀들을 렌더링하여 화면 상에 표시하도록 함으로써, 사용자가 웹 기반으로 클라이언트 단말(130)을 통해 스프레드시트를 열람할 수 있도록 지원할 수 있다.
본 발명의 일실시예에 따르면, 웹 기반의 스프레드시트 서비스 제공 장치(110)는 편집 정보 수신부(113) 및 업데이트부(114)를 더 포함할 수 있다.
편집 정보 수신부(113)는 사용자가 클라이언트 단말(130)에서 상기 브라우저를 통해 표시되고 있는 상기 스프레드시트를 구성하는 복수의 셀들 중 상기 적어도 하나의 셀에 삽입되어 있는 데이터에 대해 수정을 수행함으로써, 상기 적어도 하나의 셀에 삽입되어 있는 데이터에 대한 수정이 발생하면, 클라이언트 단말(130)로부터, 데이터 수정이 발생한 셀의 행 주소와 열 주소 및 데이터 수정이 발생한 셀에서의 변경된 데이터가 포함된 수정 편집 정보를 수신한다.
그리고, 업데이트부(114)는 상기 수신된 수정 편집 정보에 기초하여 셀 데이터베이스(111)에 저장되어 있는 상기 목록 상에 포함되어 있는 상기 적어도 하나의 셀에 대한 정보를 업데이트한다.
예컨대, 도 4의 도면부호 410에 도시된 바와 같이, 클라이언트 단말(130)에서 상기 브라우저를 통해 상기 스프레드시트를 구성하는 복수의 셀들이 표시되고 있는 상황에서 사용자가 클라이언트 단말(130)에 연결된 키보드 등의 입력 장치를 통해 "1행, C열"에 삽입되어 있는 데이터 "2"(411)를 도면부호 420에 도시된 바와 같이 "4"(421)로 수정한 경우, 클라이언트 단말(130)은 데이터 수정이 발생한 셀인 "1행, C열"의 행 주소인 "1행"과 열 주소인 "C열" 및 데이터 수정이 발생한 셀에서의 변경된 데이터인 "4"를 포함하는 수정 편집 정보를 생성하여 웹 기반의 스프레드시트 서비스 제공 장치(110)로 전송할 수 있다.
이때, 편집 정보 수신부(113)는 클라이언트 단말(130)로부터 상기 수정 편집 정보를 수신할 수 있고, 업데이트부(114)는 상기 수신된 수정 편집 정보에 기초하여 셀 데이터베이스(111)에 저장되어 있는 상기 목록 상에 포함되어 있는 상기 적어도 하나의 셀에 대한 정보를 업데이트할 수 있다.
즉, 업데이트부(114)는 도 2에 도시된 목록 상에서 1행에 그룹화되어 있는 "row: 1"(210)에서 C열에 해당하는 셀의 정보인 "data: 2, column: C"(223)를 "data: 4, column: C"로 변경함으로써, 상기 목록 상에 포함되어 있는 상기 적어도 하나의 셀에 대한 정보를 업데이트할 수 있다.
이때, 본 발명의 일실시예에 따르면, 웹 기반의 스프레드시트 서비스 제공 장치(110)는 함수 정보 데이터베이스(115)를 더 포함할 수 있다.
함수 정보 데이터베이스(115)에는 상기 적어도 하나의 셀 중 제1 셀에 함수가 삽입되어 있는 경우, 상기 함수에 대한 정보와 상기 함수에서 입력 값으로 참조되는 적어도 하나의 제1 입력 셀(여기서, 상기 적어도 하나의 제1 입력 셀은 상기 적어도 하나의 셀에 포함되는 셀임)의 행 주소 및 열 주소에 대한 정보가 서로 대응되어 저장되어 있다.
예컨대, 도 4의 도면부호 410에 도시된 그림과 같이, 상기 스프레드시트를 구성하는 복수의 셀들에 데이터가 입력되어 있으면서, "4행, C열"에 해당되는 셀에 삽입되어 있는 데이터가 단순 숫자 "14"(412)가 아니라, "SUM(C1, C2, C3)"와 같이, "1행, C열", "2행, C열", "3행, C열"에 삽입되어 있는 데이터들의 합계를 연산하도록 지정된 함수인 경우, 함수 정보 데이터베이스(115)에는 상기 제1 셀에 해당하는 "4행, C열"에 삽입되어 있는 함수인 "SUM(C1, C2, C3)"에 대한 정보와 상기 함수에서 입력 값으로 참조되는 적어도 하나의 제1 입력 셀인 "1행, C열", "2행, C열", "3행, C열"의 주소에 대한 정보가 서로 대응되어 저장되어 있을 수 있다.
이때, 도 4의 도면부호 410에서 "4행, C열"에 해당되는 셀에 삽입되는 데이터는 "1행, C열", "2행, C열", "3행, C열"에 삽입되어 있는 데이터들의 합계이기 때문에 결론적으로 "14"(412)가 된다.
이때, 업데이트부(114)는 편집 판단부(116), 함수 연산 수행부(117) 및 데이터 변경부(118)를 포함할 수 있다.
편집 판단부(116)는 클라이언트 단말(130)로부터 상기 수정 편집 정보가 수신되면, 함수 정보 데이터베이스(115)에 저장되어 있는 상기 적어도 하나의 제1 입력 셀의 행 주소 및 열 주소에 대한 정보를 참조하여 상기 수신된 수정 편집 정보에 따른 데이터의 수정이 상기 적어도 하나의 제1 입력 셀에서 발생하였는지 여부를 판단한다.
함수 연산 수행부(117)는 상기 수신된 수정 편집 정보에 따른 데이터의 수정이 상기 적어도 하나의 제1 입력 셀에서 발생한 것으로 판단되면, 함수 정보 데이터베이스(115)에 저장되어 있는 상기 함수에 대한 정보를 참조하여 상기 수신된 수정 편집 정보에 따른 상기 적어도 하나의 제1 입력 셀의 변경 데이터를 기초로 함수 연산을 수행함으로써, 제1 출력 값을 생성한다.
데이터 변경부(118)는 상기 제1 출력 값을 기초로 상기 목록 상에서 상기 제1 셀에 삽입되어 있는 데이터를 상기 제1 출력 값으로 변경한다.
예컨대, 도 4의 도면부호 410에 도시된 바와 같이, 클라이언트 단말(130)에서 상기 브라우저를 통해 상기 스프레드시트를 구성하는 복수의 셀들이 표시되고 있는 상황에서 사용자가 클라이언트 단말(130)에 연결된 키보드 등의 입력 장치를 통해 "1행, C열"에 삽입되어 있는 데이터 "2"(411)를 도면부호 420에 도시된 바와 같이 "4"(421)로 수정함에 따라 클라이언트 단말(130)로부터 "1행, C열"에 해당되는 셀의 데이터를 "2"(411)에서 "4"(421)로 변경하도록 하는 수정 편집 정보가 웹 기반의 스프레드시트 서비스 제공 장치(110)에 수신되면, 편집 판단부(116)는 함수 정보 데이터베이스(115)에 저장되어 있는 상기 적어도 하나의 제1 입력 셀의 주소인 "1행, C열", "2행, C열", "3행, C열"에 대한 정보를 참조하여 상기 수신된 수정 편집 정보에 따른 데이터의 수정이 상기 적어도 하나의 제1 입력 셀인 "1행, C열", "2행, C열", "3행, C열"에서 발생하였는지 여부를 판단할 수 있다.
그리고, 함수 연산 수행부(117)는 상기 수신된 수정 편집 정보에 따른 데이터의 수정이 상기 적어도 하나의 제1 입력 셀인 "1행, C열", "2행, C열", "3행, C열" 중에서 "1행, C열"에서 발생하였기 때문에 함수 정보 데이터베이스(115)에 저장되어 있는 함수인 "SUM(C1, C2, C3)"에 대한 정보를 참조하여 상기 수신된 수정 편집 정보에 따른 상기 적어도 하나의 제1 입력 셀의 변경 데이터를 기초로 함수 연산을 수행함으로써, 제1 출력 값인 "16"을 생성할 수 있다.
그러고 나서, 데이터 변경부(118)는 상기 제1 출력 값인 "16"을 기초로 도 2에 도시된 그림과 같은 상기 목록 상에서 상기 함수인 "SUM(C1, C2, C3)"이 삽입되어 있는 "4행, C열"에 해당되는 상기 제1 셀에 대한 정보인 "data: 14, column: C"(225)를 "data: 16, column: C"로 변경할 수 있다.
이때, 본 발명의 일실시예에 따르면, 스프레드시트 데이터 전송부(112)는 갱신 데이터 전송부(119)를 더 포함할 수 있다.
갱신 데이터 전송부(119)는 상기 제1 셀에 삽입되어 있는 데이터가 상기 제1 출력 값으로 변경된 경우, 상기 제1 셀의 행 주소 및 열 주소에 대한 정보와 상기 제1 출력 값을 클라이언트 단말(130)로 전송함과 동시에 상기 제1 셀에 대한 데이터 갱신 명령을 클라이언트 단말(130)로 전송한다.
이때, 클라이언트 단말(130)은 상기 제1 셀의 행 주소 및 열 주소에 대한 정보와 상기 제1 출력 값 및 상기 제1 셀에 대한 데이터 갱신 명령이 수신되면, 상기 제1 셀에 대한 데이터 갱신 명령에 따라, 상기 제1 셀의 행 주소 및 열 주소에 대한 정보를 참조하여 상기 브라우저를 통해 상기 화면 상에 표시되고 있는 상기 스프레드시트를 구성하는 복수의 셀들 중 상기 제1 셀에 삽입되어 있는 데이터를 상기 제1 출력 값으로 변경할 수 있다.
관련해서, 앞서 설명한 예를 이용하여 갱신 데이터 전송부(119)의 동작을 보다 상세하게 설명하면, 상기 제1 셀에 대한 정보인 "data: 14, column: C"(225)가 "data: 16, column: C"로 변경되면, 갱신 데이터 전송부(119)는 상기 제1 셀의 행 주소 및 열 주소에 대한 정보인 "4행, C열"과 상기 제1 출력 값인 "16"을 클라이언트 단말(130)로 전송함과 동시에 상기 제1 셀에 대한 데이터 갱신 명령을 클라이언트 단말(130)로 전송할 수 있다.
이때, 클라이언트 단말(130)은 상기 제1 셀의 행 주소 및 열 주소에 대한 정보와 상기 제1 출력 값 및 상기 제1 셀에 대한 데이터 갱신 명령이 수신되면, 상기 제1 셀에 대한 데이터 갱신 명령에 따라, 상기 제1 셀의 행 주소 및 열 주소에 대한 정보인 "4행, C열"을 참조하여 도 4의 도면부호 410의 그림 상에서 상기 브라우저를 통해 상기 화면 상에 표시되고 있는 상기 스프레드시트를 구성하는 복수의 셀들 중 상기 제1 셀에 삽입되어 있는 데이터인 "14"(412)를 도 4의 도면부호 420에 도시된 바와 같이 상기 제1 출력 값인 "16"(422)으로 변경할 수 있다.
결국, 본 발명에 따른 웹 기반의 스프레드시트 서비스 제공 장치(110)는 스프레드시트의 특정 셀에 삽입되어 있는 함수와 해당 함수가 입력 값으로 참조하는 셀의 주소에 대한 정보를 저장한 함수 정보 데이터베이스(115)를 유지함으로써, 클라이언트 단말(130)에서 소정의 셀의 데이터가 변경되는 수정 편집이 발생하는 경우, 해당 셀의 데이터 변경 사항을 셀 데이터베이스(111)에 저장되어 있는 목록에 반영함과 동시에, 상기 데이터가 변경된 셀이 함수 정보 데이터베이스(115)에 저장되어 있는 함수에서 입력 값으로 참조되는 셀인 경우, 상기 변경된 데이터를 기초로 함수 연산을 수행하여 상기 함수가 삽입되어 있는 셀의 출력 값을 생성한 후 상기 출력 값을 클라이언트 단말(130)에 전송할 수 있고, 이때, 클라이언트 단말(130)은 클라이언트 단말(130)의 브라우저를 통해 표시되고 있는 화면 상에서 상기 함수가 삽입되어 있는 셀의 데이터를 상기 출력 값으로 변경할 수 있다.
이를 통해, 본 발명은 웹 기반의 스프레드시트 서비스에서 클라이언트 단말(130) 자체의 브라우저에 설치되어 있는 스크립트를 통해 구현하기 어려웠던 복잡한 함수 연산 기능도 정상적으로 제공할 수 있다.
본 발명의 일실시예에 따르면, 편집 정보 수신부(113)는 클라이언트 단말(130)에서 상기 브라우저를 통해 표시되고 있는 상기 스프레드시트를 구성하는 복수의 셀들 중에서, 상기 적어도 하나의 셀을 제외한 나머지 셀들 중 적어도 하나의 추가 셀에 대해 데이터 삽입이 발생하면, 클라이언트 단말(130)로부터, 상기 적어도 하나의 추가 셀의 행 주소와 열 주소 및 상기 적어도 하나의 추가 셀에 삽입된 데이터가 포함된 추가 편집 정보를 수신할 수 있다.
이때, 업데이트부(114)는 상기 추가 편집 정보에 기초하여 상기 적어도 하나의 추가 셀에 대한 정보(여기서, 상기 적어도 하나의 추가 셀에 대한 정보는 상기 적어도 하나의 추가 셀에 삽입되어 있는 데이터와 상기 적어도 하나의 추가 셀 각각에 할당되어 있는 열 주소를 포함함)를 상기 적어도 하나의 추가 셀 각각에 할당되어 있는 행 주소를 기초로 동일한 행 단위로 그룹화하여 상기 목록 상에 추가할 수 있다.
예컨대, 도 3에 도시된 바와 같이, 클라이언트 단말(130)에서 상기 브라우저를 통해 상기 스프레드시트를 구성하는 복수의 셀들이 표시되고 있는 상황에서 사용자가 클라이언트 단말(130)에 연결된 키보드 등의 입력 장치를 통해 도 5의 도면부호 510에 도시된 것처럼, "2행, E열"에 해당되는 추가 셀을 생성하여 "b"(511)라고 하는 데이터를 입력한 경우, 클라이언트 단말(130)은 상기 추가 셀인 "2행, E열"의 행 주소인 "2행"과 열 주소인 "E열" 및 해당 셀에 추가된 데이터인 "b"를 포함하는 추가 편집 정보를 생성하여 웹 기반의 스프레드시트 서비스 제공 장치(110)로 전송할 수 있다.
이때, 편집 정보 수신부(113)는 클라이언트 단말(130)로부터 상기 추가 편집 정보를 수신할 수 있고, 업데이트부(114)는 상기 추가 편집 정보에 기초하여 도 6에 도시된 바와 같이, "data: b, column: E"(611)라고 하는 추가 셀에 대한 정보를 해당 추가 셀에 할당되어 있는 행 주소인 "2행"에 그룹화시켜 상기 목록 상에 추가할 수 있다.
즉, 업데이트부(114)는 도 6에 도시된 바와 같이 상기 목록 상에서 2행에 그룹화되어 있는 "row: 2"에 대해 E열에 해당하는 셀의 정보인 "data: b, column: E"(611)를 추가할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 추가 편집 정보에는 상기 적어도 하나의 추가 셀 중 제1 추가 셀에 대해 삽입된 데이터가 함수인 경우, 상기 제1 추가 셀에 삽입된 함수에 대한 정보와 상기 제1 추가 셀에 삽입된 함수에서 입력 값으로 참조되는 적어도 하나의 제2 입력 셀(여기서, 상기 적어도 하나의 제2 입력 셀은 상기 적어도 하나의 셀과 상기 적어도 하나의 추가 셀에 포함되는 셀임)의 행 주소 및 열 주소에 대한 정보가 포함되어 있을 수 있다.
이때, 업데이트부(114)는 상기 추가 편집 정보 상에 상기 제1 추가 셀에 삽입된 함수에 대한 정보와 상기 적어도 하나의 제2 입력 셀의 행 주소 및 열 주소에 대한 정보가 포함되어 있는 것으로 확인되면, 상기 추가 편집 정보를 참조하여 함수 정보 데이터베이스(115)에 상기 제1 추가 셀에 삽입된 함수에 대한 정보와 상기 적어도 하나의 제2 입력 셀의 행 주소 및 열 주소에 대한 정보를 서로 대응시켜 저장하는 함수 정보 업데이트부(120)를 더 포함할 수 있다.
그리고, 함수 연산 수행부(117)는 상기 제1 추가 셀에 삽입된 함수에 대한 정보와 상기 적어도 하나의 제2 입력 셀의 행 주소 및 열 주소에 대한 정보를 참조하여 상기 적어도 하나의 제2 입력 셀에 삽입되어 있는 데이터를 기초로 함수 연산을 수행함으로써, 제2 출력 값을 생성할 수 있고, 데이터 변경부(118)는 상기 제2 출력 값을 기초로 상기 목록 상에, 상기 제1 추가 셀에 삽입되어야 하는 데이터를 상기 제2 출력 값으로 포함시킬 수 있다.
이때, 본 발명의 일실시예에 따르면, 갱신 데이터 전송부(119)는 상기 제2 출력 값의 생성이 완료되면, 상기 제1 추가 셀의 행 주소 및 열 주소에 대한 정보와 상기 제2 출력 값을 클라이언트 단말(130)로 전송함과 동시에 상기 제1 추가 셀에 대한 데이터 갱신 명령을 클라이언트 단말(130)로 전송할 수 있다.
이때, 클라이언트 단말(130)은 상기 제1 추가 셀의 행 주소 및 열 주소에 대한 정보와 상기 제2 출력 값 및 상기 제1 추가 셀에 대한 데이터 갱신 명령이 수신되면, 상기 제1 추가 셀에 대한 데이터 갱신 명령에 따라, 상기 제1 추가 셀의 행 주소 및 열 주소에 대한 정보를 참조하여 상기 브라우저를 통해 상기 화면 상에 표시되고 있는 상기 스프레드시트를 구성하는 복수의 셀들 중 상기 제1 추가 셀에 상기 제2 출력 값을 삽입할 수 있다.
이하에서는 도 5를 참조하여, 업데이트부(114)와 갱신 데이터 전송부(119)에 대한 동작을 예를 들어 보다 상세히 설명하기로 한다.
도 3에 도시된 그림과 같이, 클라이언트 단말(130)에서 상기 브라우저를 통해 상기 스프레드시트를 구성하는 복수의 셀들이 표시되고 있는 상황에서 사용자가 클라이언트 단말(130)에 연결된 키보드 등의 입력 장치를 통해 도 5의 도면부호 510에 도시된 것처럼, "2행, E열"에 해당되는 "추가 셀 1"을 생성하여 "b"(511)라고 하는 데이터를 입력하였고, 이와 동시에 "1행, E열"에 해당되는 "추가 셀 2"에 "=SUM(B1, C1, D1)"(512)이라고 하는 "1행 B열", "1행, C열", "1행, D열"에 삽입되어 있는 데이터의 합계를 연산하도록 하는 함수를 입력한 경우, 클라이언트 단말(130)은 상기 "추가 셀 1"의 행 주소인 "2행", 열 주소인 "E열" 및 해당 셀에 추가된 데이터인 "b"와, 상기 "추가 셀 2"의 행 주소인 "1행", 열 주소인 "E열", 해당 셀에 삽입된 함수인 "=SUM(B1, C1, D1)"에 대한 정보 및 상기 함수인 "=SUM(B1, C1, D1)"가 입력 값으로 참조하는 입력 셀인 "1행 B열", "1행, C열", "1행, D열"의 행 주소와 열 주소를 포함하는 추가 편집 정보를 생성하여 웹 기반의 스프레드시트 서비스 제공 장치(110)로 전송할 수 있다.
이때, 편집 정보 수신부(113)는 클라이언트 단말(130)로부터 상기 추가 편집 정보를 수신할 수 있고, 업데이트부(114)는 상기 추가 편집 정보에 기초하여 도 6에 도시된 바와 같이, "data: b, column: E"(611)라고 하는 상기 "추가 셀 1"에 대한 정보를 상기 "추가 셀 1"에 할당되어 있는 행 주소인 "2행"에 그룹화시켜 상기 목록 상에 추가할 수 있고, "data 6, colunm: E"(612)라고 하는 상기 "추가 셀 2"에 대한 정보를 상기 "추가 셀 2"에 할당되어 있는 행 주소인 "1행"에 그룹화시켜 상기 목록 상에 추가할 수 있다. 이때, 상기 "추가 셀 2"에서 데이터 값은 "추가 셀 2"에 삽입되어 있는 함수에 기초하여 연산되어야 하기 때문에 상기 목록 상에 "추가 셀 2"에 대한 데이터인 "6"을 연산해서 포함시키기 위해, 업데이트부(114)는 데이터 "6"을 연산하기 위한 과정을 추가로 수행할 수 있다.
관련해서, 함수 정보 업데이트부(120)는 상기 추가 편집 정보 상에 상기 "추가 셀 2"에 삽입된 함수인 "=SUM(B1, C1, D1)"에 대한 정보 및 상기 함수인 "=SUM(B1, C1, D1)"가 입력 값으로 참조하는 입력 셀인 "1행 B열", "1행, C열", "1행, D열"의 행 주소와 열 주소에 대한 정보가 포함되어 있으므로, 상기 추가 편집 정보를 참조하여 함수 정보 데이터베이스(115)에 상기 "추가 셀 2"에 삽입된 함수에 대한 정보와 "1행 B열", "1행, C열", "1행, D열"에 해당하는 셀의 행 주소 및 열 주소에 대한 정보를 서로 대응시켜 저장할 수 있다.
그리고, 함수 연산 수행부(117)는 상기 "추가 셀 2"에 삽입된 함수에 대한 정보와 "1행 B열", "1행, C열", "1행, D열"에 해당하는 셀의 행 주소 및 열 주소에 대한 정보를 참조하여 "1행 B열", "1행, C열", "1행, D열"에 해당하는 셀에 삽입되어 있는 데이터를 기초로 함수 연산을 수행함으로써, "6"이라는 출력 값을 생성할 수 있다.
이때, 데이터 변경부(118)는 상기 "6"이라는 출력 값을 기초로 상기 목록 상에서 상기 "추가 셀 2"에 삽입되어야 하는 데이터를 "6"으로 포함시킴으로써, 도 6에 도시된 바와 같이 최종적으로 "data: 6, column: E"(612)이라는 "추가 셀 2"에 대한 정보를 상기 "추가 셀 2"에 할당되어 있는 행 주소인 "1행"에 그룹화시켜 상기 목록 상에 추가할 수 있다.
이때, 갱신 데이터 전송부(119)는 상기 "추가 셀 2"에 삽입되어야 하는 데이터 "6"의 연산이 완료되면, 상기 "추가 셀 2"의 행 주소 및 열 주소에 대한 정보와 "6"이라고 하는 출력 값을 클라이언트 단말(130)로 전송함과 동시에 상기 "추가 셀 2"에 대한 데이터 갱신 명령을 클라이언트 단말(130)로 전송할 수 있다.
이때, 클라이언트 단말(130)은 상기 "추가 셀 2"의 행 주소 및 열 주소에 대한 정보와 상기 출력 값 "6" 및 상기 "추가 셀 2"에 대한 데이터 갱신 명령이 수신되면, 상기 "추가 셀 2"에 대한 데이터 갱신 명령에 따라, 상기 "추가 셀 2"의 행 주소 및 열 주소에 대한 정보를 참조하여 도 5의 도면부호 520에 도시된 바와 같이 상기 브라우저를 통해 상기 화면 상에 표시되고 있는 상기 스프레드시트를 구성하는 복수의 셀들 중 "추가 셀 2"에 "6"(521)이라는 출력 값을 삽입할 수 있다.
결국, 본 발명에 따른 웹 기반의 스프레드시트 서비스 제공 장치(110)는 클라이언트 단말(130)의 사용자가 스프레드시트 상에 새로운 셀을 생성하여 데이터를 추가한 경우, 클라이언트 단말(130)로부터 데이터 추가와 연관된 추가 편집 정보를 수신하여 셀 데이터베이스(111)에 저장되어 있는 목록 상에 반영하고, 사용자가 추가한 데이터가 소정의 함수인 경우, 함수 연산을 수행하여 연산된 결과 값을 상기 목록 상에 반영함과 동시에 클라이언트 단말(130)에 대해 상기 결과 값을 전송함으로써, 클라이언트 단말(130)에서도 사용자가 추가한 함수에 대응하는 출력 값이 표시되도록 지원할 수 있다.
도 7은 본 발명의 일실시예에 따른 웹 기반의 스프레드시트 서비스 제공 방법을 도시한 순서도이다.
단계(S710)에서는 스프레드시트를 구성하는 복수의 셀들 중 데이터가 삽입되어 있는 적어도 하나의 셀에 대한 정보(여기서, 상기 적어도 하나의 셀에 대한 정보는 상기 적어도 하나의 셀에 삽입되어 있는 데이터와 상기 적어도 하나의 셀 각각에 할당되어 있는 열 주소를 포함함)를 상기 적어도 하나의 셀 각각에 할당되어 있는 행 주소를 기초로 동일한 행 단위로 그룹화하여 목록(여기서, 상기 목록은 상기 적어도 하나의 셀에 대한 정보가 그룹화되어 있는 각 행 주소에 대한 정보를 포함함)으로 저장하고 있는 셀 데이터베이스를 유지한다.
단계(S720)에서는 클라이언트 단말로부터 상기 스프레드시트에 대한 오픈 명령이 수신되면, 상기 셀 데이터베이스로부터 상기 목록에 대한 데이터를 추출하여 상기 클라이언트 단말에 대해 상기 목록에 대한 데이터를 전송한다.
이때, 상기 클라이언트 단말은 상기 목록에 대한 데이터가 수신되면, 상기 클라이언트 단말의 브라우저를 통해 상기 목록 상에서 그룹화되어 있는 상기 적어도 하나의 셀에 대한 행 주소를 확인하고, 상기 목록 상에 포함되어 있는 상기 적어도 하나의 셀에 대한 정보로부터 상기 적어도 하나의 셀 각각에 할당되어 있는 열 주소와 상기 적어도 하나의 셀 각각에 삽입되어 있는 데이터를 추출한 후 상기 확인된 행 주소와 상기 추출된 열 주소 및 상기 추출된 데이터를 기초로 상기 스프레드시트를 구성하는 복수의 셀들을 렌더링하여 화면 상에 표시한다.
이때, 본 발명의 일실시예에 따르면, 상기 웹 기반의 스프레드시트 서비스 제공 방법은 상기 클라이언트 단말에서 상기 브라우저를 통해 표시되고 있는 상기 스프레드시트를 구성하는 복수의 셀들 중 상기 적어도 하나의 셀에 삽입되어 있는 데이터에 대한 수정이 발생하면, 상기 클라이언트 단말로부터, 데이터 수정이 발생한 셀의 행 주소와 열 주소 및 데이터 수정이 발생한 셀에서의 변경된 데이터가 포함된 수정 편집 정보를 수신하는 단계 및 상기 수신된 수정 편집 정보에 기초하여 상기 셀 데이터베이스에 저장되어 있는 상기 목록 상에 포함되어 있는 상기 적어도 하나의 셀에 대한 정보를 업데이트하는 단계를 더 포함할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 웹 기반의 스프레드시트 서비스 제공 방법은 상기 적어도 하나의 셀 중 제1 셀에 함수가 삽입되어 있는 경우, 상기 함수에 대한 정보와 상기 함수에서 입력 값으로 참조되는 적어도 하나의 제1 입력 셀(여기서, 상기 적어도 하나의 제1 입력 셀은 상기 적어도 하나의 셀에 포함되는 셀임)의 행 주소 및 열 주소에 대한 정보가 서로 대응되어 저장되어 있는 함수 정보 데이터베이스를 유지하는 단계를 더 포함할 수 있다.
이때, 상기 업데이트하는 단계는 상기 클라이언트 단말로부터 상기 수정 편집 정보가 수신되면, 상기 함수 정보 데이터베이스에 저장되어 있는 상기 적어도 하나의 제1 입력 셀의 행 주소 및 열 주소에 대한 정보를 참조하여 상기 수신된 수정 편집 정보에 따른 데이터의 수정이 상기 적어도 하나의 제1 입력 셀에서 발생하였는지 여부를 판단하는 단계, 상기 수신된 수정 편집 정보에 따른 데이터의 수정이 상기 적어도 하나의 제1 입력 셀에서 발생한 것으로 판단되면, 상기 함수 정보 데이터베이스에 저장되어 있는 상기 함수에 대한 정보를 참조하여 상기 수신된 수정 편집 정보에 따른 상기 적어도 하나의 제1 입력 셀의 변경 데이터를 기초로 함수 연산을 수행함으로써, 제1 출력 값을 생성하는 단계 및 상기 제1 출력 값을 기초로 상기 목록 상에서 상기 제1 셀에 삽입되어 있는 데이터를 상기 제1 출력 값으로 변경하는 단계를 포함할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 웹 기반의 스프레드시트 서비스 제공 방법은 상기 제1 셀에 삽입되어 있는 데이터가 상기 제1 출력 값으로 변경된 경우, 상기 제1 셀의 행 주소 및 열 주소에 대한 정보와 상기 제1 출력 값을 상기 클라이언트 단말로 전송함과 동시에 상기 제1 셀에 대한 데이터 갱신 명령을 상기 클라이언트 단말로 전송하는 단계를 더 포함할 수 있다.
이때, 상기 클라이언트 단말은 상기 제1 셀의 행 주소 및 열 주소에 대한 정보와 상기 제1 출력 값 및 상기 제1 셀에 대한 데이터 갱신 명령이 수신되면, 상기 제1 셀에 대한 데이터 갱신 명령에 따라, 상기 제1 셀의 행 주소 및 열 주소에 대한 정보를 참조하여 상기 브라우저를 통해 상기 화면 상에 표시되고 있는 상기 스프레드시트를 구성하는 복수의 셀들 중 상기 제1 셀에 삽입되어 있는 데이터를 상기 제1 출력 값으로 변경할 수 있다.
또한, 본 발명의 일실시예에 따르면, 상기 웹 기반의 스프레드시트 서비스 제공 방법은 상기 클라이언트 단말에서 상기 브라우저를 통해 표시되고 있는 상기 스프레드시트를 구성하는 복수의 셀들 중에서, 상기 적어도 하나의 셀을 제외한 나머지 셀들 중 적어도 하나의 추가 셀에 대해 데이터 삽입이 발생하면, 상기 클라이언트 단말로부터, 상기 적어도 하나의 추가 셀의 행 주소와 열 주소 및 상기 적어도 하나의 추가 셀에 삽입된 데이터가 포함된 추가 편집 정보를 수신하는 단계 및 상기 추가 편집 정보에 기초하여 상기 적어도 하나의 추가 셀에 대한 정보(여기서, 상기 적어도 하나의 추가 셀에 대한 정보는 상기 적어도 하나의 추가 셀에 삽입되어 있는 데이터와 상기 적어도 하나의 추가 셀 각각에 할당되어 있는 열 주소를 포함함)를 상기 적어도 하나의 추가 셀 각각에 할당되어 있는 행 주소를 기초로 동일한 행 단위로 그룹화하여 상기 목록 상에 추가하는 단계를 더 포함할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 추가 편집 정보에는 상기 적어도 하나의 추가 셀 중 제1 추가 셀에 대해 삽입된 데이터가 함수인 경우, 상기 제1 추가 셀에 삽입된 함수에 대한 정보와 상기 제1 추가 셀에 삽입된 함수에서 입력 값으로 참조되는 적어도 하나의 제2 입력 셀(여기서, 상기 적어도 하나의 제2 입력 셀은 상기 적어도 하나의 셀과 상기 적어도 하나의 추가 셀에 포함되는 셀임)의 행 주소 및 열 주소에 대한 정보가 더 포함되어 있을 수 있다.
이때, 상기 목록 상에 추가하는 단계는 상기 추가 편집 정보 상에 상기 제1 추가 셀에 삽입된 함수에 대한 정보와 상기 적어도 하나의 제2 입력 셀의 행 주소 및 열 주소에 대한 정보가 포함되어 있는 것으로 확인되면, 상기 추가 편집 정보를 참조하여 상기 함수 정보 데이터베이스에 상기 제1 추가 셀에 삽입된 함수에 대한 정보와 상기 적어도 하나의 제2 입력 셀의 행 주소 및 열 주소에 대한 정보를 서로 대응시켜 저장하는 단계, 상기 제1 추가 셀에 삽입된 함수에 대한 정보와 상기 적어도 하나의 제2 입력 셀의 행 주소 및 열 주소에 대한 정보를 참조하여 상기 적어도 하나의 제2 입력 셀에 삽입되어 있는 데이터를 기초로 함수 연산을 수행함으로써, 제2 출력 값을 생성하는 단계 및 상기 제2 출력 값을 기초로 상기 목록 상에, 상기 제1 추가 셀에 삽입되어야 하는 데이터를 상기 제2 출력 값으로 포함시키는 단계를 포함할 수 있다.
이때, 본 발명의 일실시예에 따르면, 상기 웹 기반의 스프레드시트 서비스 제공 방법은 상기 제2 출력 값의 생성이 완료되면, 상기 제1 추가 셀의 행 주소 및 열 주소에 대한 정보와 상기 제2 출력 값을 상기 클라이언트 단말로 전송함과 동시에 상기 제1 추가 셀에 대한 데이터 갱신 명령을 상기 클라이언트 단말로 전송하는 단계를 더 포함할 수 있다.
이때, 상기 클라이언트 단말은 상기 제1 추가 셀의 행 주소 및 열 주소에 대한 정보와 상기 제2 출력 값 및 상기 제1 추가 셀에 대한 데이터 갱신 명령이 수신되면, 상기 제1 추가 셀에 대한 데이터 갱신 명령에 따라, 상기 제1 추가 셀의 행 주소 및 열 주소에 대한 정보를 참조하여 상기 브라우저를 통해 상기 화면 상에 표시되고 있는 상기 스프레드시트를 구성하는 복수의 셀들 중 상기 제1 추가 셀에 상기 제2 출력 값을 삽입할 수 있다.
이상, 도 7을 참조하여 본 발명의 일실시예에 따른 웹 기반의 스프레드시트 서비스 제공 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 웹 기반의 스프레드시트 서비스 제공 방법은 도 1 내지 도 6을 이용하여 설명한 웹 기반의 스프레드시트 서비스 제공 장치(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.
본 발명의 일실시예에 따른 웹 기반의 스프레드시트 서비스 제공 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.
또한, 본 발명의 일실시예에 따른 웹 기반의 스프레드시트 서비스 제공 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.

Claims (16)

  1. 스프레드시트를 구성하는 복수의 셀들 중 데이터가 삽입되어 있는 적어도 하나의 셀에 대한 정보 - 상기 적어도 하나의 셀에 대한 정보는 상기 적어도 하나의 셀에 삽입되어 있는 데이터와 상기 적어도 하나의 셀 각각에 할당되어 있는 열 주소를 포함함 - 를 상기 적어도 하나의 셀 각각에 할당되어 있는 행 주소를 기초로 동일한 행 단위로 그룹화하여 목록 - 상기 목록은 상기 적어도 하나의 셀에 대한 정보가 그룹화되어 있는 각 행 주소에 대한 정보를 포함함 - 으로 저장하고 있는 셀 데이터베이스; 및
    클라이언트 단말로부터 상기 스프레드시트에 대한 오픈 명령이 수신되면, 상기 셀 데이터베이스로부터 상기 목록에 대한 데이터를 추출하여 상기 클라이언트 단말에 대해 상기 목록에 대한 데이터를 전송하는 스프레드시트 데이터 전송부
    를 포함하고,
    상기 클라이언트 단말은
    상기 목록에 대한 데이터가 수신되면, 상기 클라이언트 단말의 브라우저를 통해 상기 목록 상에서 그룹화되어 있는 상기 적어도 하나의 셀에 대한 행 주소를 확인하고, 상기 목록 상에 포함되어 있는 상기 적어도 하나의 셀에 대한 정보로부터 상기 적어도 하나의 셀 각각에 할당되어 있는 열 주소와 상기 적어도 하나의 셀 각각에 삽입되어 있는 데이터를 추출한 후 상기 확인된 행 주소와 상기 추출된 열 주소 및 상기 추출된 데이터를 기초로 상기 스프레드시트를 구성하는 복수의 셀들을 렌더링하여 화면 상에 표시하는 웹 기반의 스프레드시트 서비스 제공 장치.
  2. 제1항에 있어서,
    상기 클라이언트 단말에서 상기 브라우저를 통해 표시되고 있는 상기 스프레드시트를 구성하는 복수의 셀들 중 상기 적어도 하나의 셀에 삽입되어 있는 데이터에 대한 수정이 발생하면, 상기 클라이언트 단말로부터, 데이터 수정이 발생한 셀의 행 주소와 열 주소 및 데이터 수정이 발생한 셀에서의 변경된 데이터가 포함된 수정 편집 정보를 수신하는 편집 정보 수신부; 및
    상기 수신된 수정 편집 정보에 기초하여 상기 셀 데이터베이스에 저장되어 있는 상기 목록 상에 포함되어 있는 상기 적어도 하나의 셀에 대한 정보를 업데이트하는 업데이트부
    를 더 포함하는 웹 기반의 스프레드시트 서비스 제공 장치.
  3. 제2항에 있어서,
    상기 적어도 하나의 셀 중 제1 셀에 함수가 삽입되어 있는 경우, 상기 함수에 대한 정보와 상기 함수에서 입력 값으로 참조되는 적어도 하나의 제1 입력 셀 - 상기 적어도 하나의 제1 입력 셀은 상기 적어도 하나의 셀에 포함되는 셀임 - 의 행 주소 및 열 주소에 대한 정보가 서로 대응되어 저장되어 있는 함수 정보 데이터베이스
    를 더 포함하고,
    상기 업데이트부는
    상기 클라이언트 단말로부터 상기 수정 편집 정보가 수신되면, 상기 함수 정보 데이터베이스에 저장되어 있는 상기 적어도 하나의 제1 입력 셀의 행 주소 및 열 주소에 대한 정보를 참조하여 상기 수신된 수정 편집 정보에 따른 데이터의 수정이 상기 적어도 하나의 제1 입력 셀에서 발생하였는지 여부를 판단하는 편집 판단부;
    상기 수신된 수정 편집 정보에 따른 데이터의 수정이 상기 적어도 하나의 제1 입력 셀에서 발생한 것으로 판단되면, 상기 함수 정보 데이터베이스에 저장되어 있는 상기 함수에 대한 정보를 참조하여 상기 수신된 수정 편집 정보에 따른 상기 적어도 하나의 제1 입력 셀의 변경 데이터를 기초로 함수 연산을 수행함으로써, 제1 출력 값을 생성하는 함수 연산 수행부; 및
    상기 제1 출력 값을 기초로 상기 목록 상에서 상기 제1 셀에 삽입되어 있는 데이터를 상기 제1 출력 값으로 변경하는 데이터 변경부
    를 포함하는 웹 기반의 스프레드시트 서비스 제공 장치.
  4. 제3항에 있어서,
    상기 스프레드시트 데이터 전송부는
    상기 제1 셀에 삽입되어 있는 데이터가 상기 제1 출력 값으로 변경된 경우, 상기 제1 셀의 행 주소 및 열 주소에 대한 정보와 상기 제1 출력 값을 상기 클라이언트 단말로 전송함과 동시에 상기 제1 셀에 대한 데이터 갱신 명령을 상기 클라이언트 단말로 전송하는 갱신 데이터 전송부
    를 포함하고,
    상기 클라이언트 단말은
    상기 제1 셀의 행 주소 및 열 주소에 대한 정보와 상기 제1 출력 값 및 상기 제1 셀에 대한 데이터 갱신 명령이 수신되면, 상기 제1 셀에 대한 데이터 갱신 명령에 따라, 상기 제1 셀의 행 주소 및 열 주소에 대한 정보를 참조하여 상기 브라우저를 통해 상기 화면 상에 표시되고 있는 상기 스프레드시트를 구성하는 복수의 셀들 중 상기 제1 셀에 삽입되어 있는 데이터를 상기 제1 출력 값으로 변경하는 웹 기반의 스프레드시트 서비스 제공 장치.
  5. 제4항에 있어서,
    상기 편집 정보 수신부는
    상기 클라이언트 단말에서 상기 브라우저를 통해 표시되고 있는 상기 스프레드시트를 구성하는 복수의 셀들 중에서, 상기 적어도 하나의 셀을 제외한 나머지 셀들 중 적어도 하나의 추가 셀에 대해 데이터 삽입이 발생하면, 상기 클라이언트 단말로부터, 상기 적어도 하나의 추가 셀의 행 주소와 열 주소 및 상기 적어도 하나의 추가 셀에 삽입된 데이터가 포함된 추가 편집 정보를 수신하고,
    상기 업데이트부는
    상기 추가 편집 정보에 기초하여 상기 적어도 하나의 추가 셀에 대한 정보 - 상기 적어도 하나의 추가 셀에 대한 정보는 상기 적어도 하나의 추가 셀에 삽입되어 있는 데이터와 상기 적어도 하나의 추가 셀 각각에 할당되어 있는 열 주소를 포함함 - 를 상기 적어도 하나의 추가 셀 각각에 할당되어 있는 행 주소를 기초로 동일한 행 단위로 그룹화하여 상기 목록 상에 추가하는 웹 기반의 스프레드시트 서비스 제공 장치.
  6. 제5항에 있어서,
    상기 추가 편집 정보에는
    상기 적어도 하나의 추가 셀 중 제1 추가 셀에 대해 삽입된 데이터가 함수인 경우, 상기 제1 추가 셀에 삽입된 함수에 대한 정보와 상기 제1 추가 셀에 삽입된 함수에서 입력 값으로 참조되는 적어도 하나의 제2 입력 셀 - 상기 적어도 하나의 제2 입력 셀은 상기 적어도 하나의 셀과 상기 적어도 하나의 추가 셀에 포함되는 셀임 - 의 행 주소 및 열 주소에 대한 정보가 더 포함되어 있고,
    상기 업데이트부는
    상기 추가 편집 정보 상에 상기 제1 추가 셀에 삽입된 함수에 대한 정보와 상기 적어도 하나의 제2 입력 셀의 행 주소 및 열 주소에 대한 정보가 포함되어 있는 것으로 확인되면, 상기 추가 편집 정보를 참조하여 상기 함수 정보 데이터베이스에 상기 제1 추가 셀에 삽입된 함수에 대한 정보와 상기 적어도 하나의 제2 입력 셀의 행 주소 및 열 주소에 대한 정보를 서로 대응시켜 저장하는 함수 정보 업데이트부
    를 더 포함하며,
    상기 함수 연산 수행부는
    상기 제1 추가 셀에 삽입된 함수에 대한 정보와 상기 적어도 하나의 제2 입력 셀의 행 주소 및 열 주소에 대한 정보를 참조하여 상기 적어도 하나의 제2 입력 셀에 삽입되어 있는 데이터를 기초로 함수 연산을 수행함으로써, 제2 출력 값을 생성하고,
    상기 데이터 변경부는
    상기 제2 출력 값을 기초로 상기 목록 상에, 상기 제1 추가 셀에 삽입되어야 하는 데이터를 상기 제2 출력 값으로 포함시키는 웹 기반의 스프레드시트 서비스 제공 장치.
  7. 제6항에 있어서,
    상기 갱신 데이터 전송부는
    상기 제2 출력 값의 생성이 완료되면, 상기 제1 추가 셀의 행 주소 및 열 주소에 대한 정보와 상기 제2 출력 값을 상기 클라이언트 단말로 전송함과 동시에 상기 제1 추가 셀에 대한 데이터 갱신 명령을 상기 클라이언트 단말로 전송하고,
    상기 클라이언트 단말은
    상기 제1 추가 셀의 행 주소 및 열 주소에 대한 정보와 상기 제2 출력 값 및 상기 제1 추가 셀에 대한 데이터 갱신 명령이 수신되면, 상기 제1 추가 셀에 대한 데이터 갱신 명령에 따라, 상기 제1 추가 셀의 행 주소 및 열 주소에 대한 정보를 참조하여 상기 브라우저를 통해 상기 화면 상에 표시되고 있는 상기 스프레드시트를 구성하는 복수의 셀들 중 상기 제1 추가 셀에 상기 제2 출력 값을 삽입하는 웹 기반의 스프레드시트 서비스 제공 장치.
  8. 스프레드시트를 구성하는 복수의 셀들 중 데이터가 삽입되어 있는 적어도 하나의 셀에 대한 정보 - 상기 적어도 하나의 셀에 대한 정보는 상기 적어도 하나의 셀에 삽입되어 있는 데이터와 상기 적어도 하나의 셀 각각에 할당되어 있는 열 주소를 포함함 - 를 상기 적어도 하나의 셀 각각에 할당되어 있는 행 주소를 기초로 동일한 행 단위로 그룹화하여 목록 - 상기 목록은 상기 적어도 하나의 셀에 대한 정보가 그룹화되어 있는 각 행 주소에 대한 정보를 포함함 - 으로 저장하고 있는 셀 데이터베이스를 유지하는 단계; 및
    클라이언트 단말로부터 상기 스프레드시트에 대한 오픈 명령이 수신되면, 상기 셀 데이터베이스로부터 상기 목록에 대한 데이터를 추출하여 상기 클라이언트 단말에 대해 상기 목록에 대한 데이터를 전송하는 단계
    를 포함하고,
    상기 클라이언트 단말은
    상기 목록에 대한 데이터가 수신되면, 상기 클라이언트 단말의 브라우저를 통해 상기 목록 상에서 그룹화되어 있는 상기 적어도 하나의 셀에 대한 행 주소를 확인하고, 상기 목록 상에 포함되어 있는 상기 적어도 하나의 셀에 대한 정보로부터 상기 적어도 하나의 셀 각각에 할당되어 있는 열 주소와 상기 적어도 하나의 셀 각각에 삽입되어 있는 데이터를 추출한 후 상기 확인된 행 주소와 상기 추출된 열 주소 및 상기 추출된 데이터를 기초로 상기 스프레드시트를 구성하는 복수의 셀들을 렌더링하여 화면 상에 표시하는 웹 기반의 스프레드시트 서비스 제공 방법.
  9. 제8항에 있어서,
    상기 클라이언트 단말에서 상기 브라우저를 통해 표시되고 있는 상기 스프레드시트를 구성하는 복수의 셀들 중 상기 적어도 하나의 셀에 삽입되어 있는 데이터에 대한 수정이 발생하면, 상기 클라이언트 단말로부터, 데이터 수정이 발생한 셀의 행 주소와 열 주소 및 데이터 수정이 발생한 셀에서의 변경된 데이터가 포함된 수정 편집 정보를 수신하는 단계; 및
    상기 수신된 수정 편집 정보에 기초하여 상기 셀 데이터베이스에 저장되어 있는 상기 목록 상에 포함되어 있는 상기 적어도 하나의 셀에 대한 정보를 업데이트하는 단계
    를 더 포함하는 웹 기반의 스프레드시트 서비스 제공 방법.
  10. 제9항에 있어서,
    상기 적어도 하나의 셀 중 제1 셀에 함수가 삽입되어 있는 경우, 상기 함수에 대한 정보와 상기 함수에서 입력 값으로 참조되는 적어도 하나의 제1 입력 셀 - 상기 적어도 하나의 제1 입력 셀은 상기 적어도 하나의 셀에 포함되는 셀임 - 의 행 주소 및 열 주소에 대한 정보가 서로 대응되어 저장되어 있는 함수 정보 데이터베이스를 유지하는 단계
    를 더 포함하고,
    상기 업데이트하는 단계는
    상기 클라이언트 단말로부터 상기 수정 편집 정보가 수신되면, 상기 함수 정보 데이터베이스에 저장되어 있는 상기 적어도 하나의 제1 입력 셀의 행 주소 및 열 주소에 대한 정보를 참조하여 상기 수신된 수정 편집 정보에 따른 데이터의 수정이 상기 적어도 하나의 제1 입력 셀에서 발생하였는지 여부를 판단하는 단계;
    상기 수신된 수정 편집 정보에 따른 데이터의 수정이 상기 적어도 하나의 제1 입력 셀에서 발생한 것으로 판단되면, 상기 함수 정보 데이터베이스에 저장되어 있는 상기 함수에 대한 정보를 참조하여 상기 수신된 수정 편집 정보에 따른 상기 적어도 하나의 제1 입력 셀의 변경 데이터를 기초로 함수 연산을 수행함으로써, 제1 출력 값을 생성하는 단계; 및
    상기 제1 출력 값을 기초로 상기 목록 상에서 상기 제1 셀에 삽입되어 있는 데이터를 상기 제1 출력 값으로 변경하는 단계
    를 포함하는 웹 기반의 스프레드시트 서비스 제공 방법.
  11. 제10항에 있어서,
    상기 제1 셀에 삽입되어 있는 데이터가 상기 제1 출력 값으로 변경된 경우, 상기 제1 셀의 행 주소 및 열 주소에 대한 정보와 상기 제1 출력 값을 상기 클라이언트 단말로 전송함과 동시에 상기 제1 셀에 대한 데이터 갱신 명령을 상기 클라이언트 단말로 전송하는 단계
    를 더 포함하고,
    상기 클라이언트 단말은
    상기 제1 셀의 행 주소 및 열 주소에 대한 정보와 상기 제1 출력 값 및 상기 제1 셀에 대한 데이터 갱신 명령이 수신되면, 상기 제1 셀에 대한 데이터 갱신 명령에 따라, 상기 제1 셀의 행 주소 및 열 주소에 대한 정보를 참조하여 상기 브라우저를 통해 상기 화면 상에 표시되고 있는 상기 스프레드시트를 구성하는 복수의 셀들 중 상기 제1 셀에 삽입되어 있는 데이터를 상기 제1 출력 값으로 변경하는 웹 기반의 스프레드시트 서비스 제공 방법.
  12. 제10항에 있어서,
    상기 클라이언트 단말에서 상기 브라우저를 통해 표시되고 있는 상기 스프레드시트를 구성하는 복수의 셀들 중에서, 상기 적어도 하나의 셀을 제외한 나머지 셀들 중 적어도 하나의 추가 셀에 대해 데이터 삽입이 발생하면, 상기 클라이언트 단말로부터, 상기 적어도 하나의 추가 셀의 행 주소와 열 주소 및 상기 적어도 하나의 추가 셀에 삽입된 데이터가 포함된 추가 편집 정보를 수신하는 단계; 및
    상기 추가 편집 정보에 기초하여 상기 적어도 하나의 추가 셀에 대한 정보 - 상기 적어도 하나의 추가 셀에 대한 정보는 상기 적어도 하나의 추가 셀에 삽입되어 있는 데이터와 상기 적어도 하나의 추가 셀 각각에 할당되어 있는 열 주소를 포함함 - 를 상기 적어도 하나의 추가 셀 각각에 할당되어 있는 행 주소를 기초로 동일한 행 단위로 그룹화하여 상기 목록 상에 추가하는 단계
    를 더 포함하는 웹 기반의 스프레드시트 서비스 제공 방법.
  13. 제12항에 있어서,
    상기 추가 편집 정보에는
    상기 적어도 하나의 추가 셀 중 제1 추가 셀에 대해 삽입된 데이터가 함수인 경우, 상기 제1 추가 셀에 삽입된 함수에 대한 정보와 상기 제1 추가 셀에 삽입된 함수에서 입력 값으로 참조되는 적어도 하나의 제2 입력 셀 - 상기 적어도 하나의 제2 입력 셀은 상기 적어도 하나의 셀과 상기 적어도 하나의 추가 셀에 포함되는 셀임 - 의 행 주소 및 열 주소에 대한 정보가 더 포함되어 있고,
    상기 목록 상에 추가하는 단계는
    상기 추가 편집 정보 상에 상기 제1 추가 셀에 삽입된 함수에 대한 정보와 상기 적어도 하나의 제2 입력 셀의 행 주소 및 열 주소에 대한 정보가 포함되어 있는 것으로 확인되면, 상기 추가 편집 정보를 참조하여 상기 함수 정보 데이터베이스에 상기 제1 추가 셀에 삽입된 함수에 대한 정보와 상기 적어도 하나의 제2 입력 셀의 행 주소 및 열 주소에 대한 정보를 서로 대응시켜 저장하는 단계;
    상기 제1 추가 셀에 삽입된 함수에 대한 정보와 상기 적어도 하나의 제2 입력 셀의 행 주소 및 열 주소에 대한 정보를 참조하여 상기 적어도 하나의 제2 입력 셀에 삽입되어 있는 데이터를 기초로 함수 연산을 수행함으로써, 제2 출력 값을 생성하는 단계; 및
    상기 제2 출력 값을 기초로 상기 목록 상에, 상기 제1 추가 셀에 삽입되어야 하는 데이터를 상기 제2 출력 값으로 포함시키는 단계
    를 포함하는 웹 기반의 스프레드시트 서비스 제공 방법.
  14. 제13항에 있어서,
    상기 제2 출력 값의 생성이 완료되면, 상기 제1 추가 셀의 행 주소 및 열 주소에 대한 정보와 상기 제2 출력 값을 상기 클라이언트 단말로 전송함과 동시에 상기 제1 추가 셀에 대한 데이터 갱신 명령을 상기 클라이언트 단말로 전송하는 단계
    를 더 포함하고,
    상기 클라이언트 단말은
    상기 제1 추가 셀의 행 주소 및 열 주소에 대한 정보와 상기 제2 출력 값 및 상기 제1 추가 셀에 대한 데이터 갱신 명령이 수신되면, 상기 제1 추가 셀에 대한 데이터 갱신 명령에 따라, 상기 제1 추가 셀의 행 주소 및 열 주소에 대한 정보를 참조하여 상기 브라우저를 통해 상기 화면 상에 표시되고 있는 상기 스프레드시트를 구성하는 복수의 셀들 중 상기 제1 추가 셀에 상기 제2 출력 값을 삽입하는 웹 기반의 스프레드시트 서비스 제공 방법.
  15. 제8항 내지 제14항 중 어느 한 항의 방법을 수행하는 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.
  16. 제8항 내지 제14항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.
KR1020167017256A 2016-05-23 2016-05-23 웹 기반의 스프레드시트 서비스 제공 장치 및 방법 KR101797573B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/KR2016/005419 WO2017204368A1 (ko) 2016-05-23 2016-05-23 웹 기반의 스프레드시트 서비스 제공 장치 및 방법

Publications (1)

Publication Number Publication Date
KR101797573B1 true KR101797573B1 (ko) 2017-11-14

Family

ID=60387644

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167017256A KR101797573B1 (ko) 2016-05-23 2016-05-23 웹 기반의 스프레드시트 서비스 제공 장치 및 방법

Country Status (2)

Country Link
KR (1) KR101797573B1 (ko)
WO (1) WO2017204368A1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190070658A (ko) * 2017-12-13 2019-06-21 주식회사 한글과컴퓨터 단위환산 방법 및 장치
KR20210050206A (ko) * 2019-10-28 2021-05-07 주식회사 한글과컴퓨터 스프레드시트 문서에 포함된 표를 이용한 지식 데이터베이스의 구축 및 상기 지식 데이터베이스에 대한 사용자 접근을 가능하게 하는 지식 데이터베이스 관리 장치 및 그 동작 방법
KR20210077251A (ko) * 2019-12-17 2021-06-25 주식회사 한글과컴퓨터 표가 삽입된 이미지로부터 지식 데이터베이스의 구축이 가능한 데이터베이스 구축 장치 및 그 동작 방법
KR102531310B1 (ko) 2022-12-22 2023-05-10 류장근 웹 기반 스프레드시트 객체 정보의 자동 관리 시스템 및 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080172597A1 (en) 2007-01-16 2008-07-17 Siemens Medical Solutions Usa, Inc. Data Field Referencing Text Processing System
KR101159317B1 (ko) 2004-06-01 2012-07-03 마이크로소프트 코포레이션 웹 브라우저 내로부터 스프레드시트를 보고 이와 상호작용하기 위한 방법 및 장치
US20130061123A1 (en) 2007-05-16 2013-03-07 Jonathan Rochelle Data From Web Documents In A Spreadsheet

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003050964A (ja) * 2000-11-30 2003-02-21 Kokusai Zunou Sangyo Kk 表計算ウェブサーバシステムおよび表計算ウェブシステム
KR20130021482A (ko) * 2011-08-23 2013-03-06 주식회사 인프라웨어 Html 테이블의 셀 단위 편집 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101159317B1 (ko) 2004-06-01 2012-07-03 마이크로소프트 코포레이션 웹 브라우저 내로부터 스프레드시트를 보고 이와 상호작용하기 위한 방법 및 장치
US20080172597A1 (en) 2007-01-16 2008-07-17 Siemens Medical Solutions Usa, Inc. Data Field Referencing Text Processing System
US20130061123A1 (en) 2007-05-16 2013-03-07 Jonathan Rochelle Data From Web Documents In A Spreadsheet

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190070658A (ko) * 2017-12-13 2019-06-21 주식회사 한글과컴퓨터 단위환산 방법 및 장치
KR102014215B1 (ko) 2017-12-13 2019-08-26 주식회사 한글과컴퓨터 단위환산 방법 및 장치
KR20210050206A (ko) * 2019-10-28 2021-05-07 주식회사 한글과컴퓨터 스프레드시트 문서에 포함된 표를 이용한 지식 데이터베이스의 구축 및 상기 지식 데이터베이스에 대한 사용자 접근을 가능하게 하는 지식 데이터베이스 관리 장치 및 그 동작 방법
KR102300467B1 (ko) * 2019-10-28 2021-09-09 주식회사 한글과컴퓨터 스프레드시트 문서에 포함된 표를 이용한 지식 데이터베이스의 구축 및 상기 지식 데이터베이스에 대한 사용자 접근을 가능하게 하는 지식 데이터베이스 관리 장치 및 그 동작 방법
KR20210077251A (ko) * 2019-12-17 2021-06-25 주식회사 한글과컴퓨터 표가 삽입된 이미지로부터 지식 데이터베이스의 구축이 가능한 데이터베이스 구축 장치 및 그 동작 방법
KR102328034B1 (ko) 2019-12-17 2021-11-17 주식회사 한글과컴퓨터 표가 삽입된 이미지로부터 지식 데이터베이스의 구축이 가능한 데이터베이스 구축 장치 및 그 동작 방법
KR102531310B1 (ko) 2022-12-22 2023-05-10 류장근 웹 기반 스프레드시트 객체 정보의 자동 관리 시스템 및 방법

Also Published As

Publication number Publication date
WO2017204368A1 (ko) 2017-11-30

Similar Documents

Publication Publication Date Title
RU2390834C2 (ru) Способ и устройство для просмотра и взаимодействия с электронной таблицей из веб-браузера
US10565296B2 (en) Designing interactive web templates
US8930824B2 (en) Facilitating propagation of user interface patterns or themes
US8843360B1 (en) Client-side localization of network pages
US20040215719A1 (en) Method and system for designing, editing and publishing web page content in a live internet session
US20080126396A1 (en) System and method for implementing dynamic forms
KR101746477B1 (ko) 개체에 대한 스타일 동시 편집을 지원하는 문서 협업 장치 및 그 동작 방법
KR101797573B1 (ko) 웹 기반의 스프레드시트 서비스 제공 장치 및 방법
US10599754B2 (en) Context editing without interfering with target page
US20190340230A1 (en) System and method for generating websites from predefined templates
CN103729285A (zh) 一种网页测试方法、设备及***
US10049095B2 (en) In-context editing of output presentations via automatic pattern detection
KR101774267B1 (ko) 전자 문서의 공동 편집을 위한 협업 지원 장치 및 그 동작 방법
US10614156B1 (en) System and method for using a dynamic webpage editor
US9749440B2 (en) Systems and methods for hosted application marketplaces
US20120072831A1 (en) Method for creating a multi-lingual web page
EP1830275A1 (en) Information distribution system
US10417317B2 (en) Web page profiler
CN103559184A (zh) 表单页面的显示方法和装置
KR101754258B1 (ko) 마크업 언어 기반 문서에 대한 동시 편집 정합성 검증 장치 및 방법
US10248392B2 (en) Replicating a web technology
WO2012128950A1 (en) System, method, and architecture for displaying a document for collaborative web -based editing
EP1768034A1 (en) Document processing device and document processing method
AU2016256364A1 (en) Rendering graphical assets natively on multiple screens of electronic devices
US10956658B2 (en) Digital content editing of a document object model (DOM) based on object model comparison

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
R401 Registration of restoration