KR20210157610A - Document editing device that can automatically generate a table corresponding to a specified area in a spreadsheet based on data attribute and operating method thereof - Google Patents

Document editing device that can automatically generate a table corresponding to a specified area in a spreadsheet based on data attribute and operating method thereof Download PDF

Info

Publication number
KR20210157610A
KR20210157610A KR1020200075620A KR20200075620A KR20210157610A KR 20210157610 A KR20210157610 A KR 20210157610A KR 1020200075620 A KR1020200075620 A KR 1020200075620A KR 20200075620 A KR20200075620 A KR 20200075620A KR 20210157610 A KR20210157610 A KR 20210157610A
Authority
KR
South Korea
Prior art keywords
data
fields
constituting
area
field
Prior art date
Application number
KR1020200075620A
Other languages
Korean (ko)
Other versions
KR102466705B1 (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 주식회사 한글과컴퓨터
Priority to KR1020200075620A priority Critical patent/KR102466705B1/en
Publication of KR20210157610A publication Critical patent/KR20210157610A/en
Application granted granted Critical
Publication of KR102466705B1 publication Critical patent/KR102466705B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Document Processing Apparatus (AREA)

Abstract

Disclosed are a document editing device capable of automatically generating a table corresponding to a specified area in a spreadsheet based on a data attribute, and an operating method thereof. The document editing device and the operating method thereof according to the present invention, while a data area is designated in a spreadsheet by a user, when an automatic table generation command based on a data attribute for the data area is applied, after checking the data attribute of each of data inserted in the data area, a field corresponding to each of the checked data attribute is generated. By inserting the data inserted into each of a plurality of columns constituting the data area into one record based on the data attribute matched to each field, the table based on the data attribute is automatically generated, so that a user can efficiently promote data management.

Description

데이터 속성을 기초로 스프레드시트에서 지정된 영역에 대응되는 테이블을 자동으로 생성할 수 있는 문서 편집 장치 및 그 동작 방법{DOCUMENT EDITING DEVICE THAT CAN AUTOMATICALLY GENERATE A TABLE CORRESPONDING TO A SPECIFIED AREA IN A SPREADSHEET BASED ON DATA ATTRIBUTE AND OPERATING METHOD THEREOF}A document editing device capable of automatically generating a table corresponding to a specified area in a spreadsheet based on data attributes, and an operating method thereof AND OPERATING METHOD THEREOF}

본 발명은 데이터 속성을 기초로 스프레드시트에서 지정된 영역에 대응되는 테이블을 자동으로 생성할 수 있는 문서 편집 장치 및 그 동작 방법에 대한 것이다.The present invention relates to a document editing apparatus capable of automatically generating a table corresponding to a specified area in a spreadsheet based on data properties, and an operating method thereof.

최근, 컴퓨터나 스마트폰 또는 태블릿 PC 등이 널리 보급됨에 따라, 이러한 단말기기를 이용하여 전자 문서를 열람, 작성, 편집할 수 있도록 하는 다양한 종류의 전자 문서 관련 프로그램들이 출시되고 있다.Recently, as computers, smart phones, or tablet PCs are widely used, various types of electronic document-related programs have been released that allow users to read, write, and edit electronic documents using such terminal devices.

관련해서, 사용자는 이러한 전자 문서 관련 프로그램들 중 스프레드시트를 이용하여 가로 행과 세로 행이 만나는 셀이라는 공간에 데이터를 삽입할 수 있고, 삽입된 데이터들 간에 스프레드시트에서 제공하는 다양한 연산을 수행할 수 있으며, 이를 통해, 다수의 데이터들을 효율적으로 관리하고 비교, 분석할 수 있다.In relation to this, a user can insert data into a space called a cell where a horizontal row and a vertical row meet by using a spreadsheet among these electronic document-related programs, and perform various operations provided by the spreadsheet between the inserted data. Through this, it is possible to efficiently manage, compare, and analyze a large number of data.

다만, 스프레드시트 문서에 삽입된 데이터들 각각은 숫자, 날짜, 시간, 백분율, 텍스트 등으로 분류되는 서로 다른 데이터 속성을 가질 수 있는데, 연산 대상이 되는 데이터들 간의 데이터 속성이 서로 다르다면, 연산 결과 값의 산출이 불가능함에 따라 삽입된 데이터들에 대한 효율적인 비교, 분석이 불가능할 수 있다.However, each of the data inserted into the spreadsheet document may have different data properties classified into numbers, dates, times, percentages, and texts. Since it is impossible to calculate a value, it may be impossible to efficiently compare and analyze the inserted data.

만약, 사용자에 의해 스프레드시트를 구성하는 셀들에 다양한 데이터 속성을 갖는 데이터들이 무분별하게 삽입되는 경우, 삽입된 데이터들에 대해 같은 데이터 속성을 갖는 데이터끼리 분류되도록 구성된 테이블을 자동으로 생성하여 사용자에게 제공할 수 있다면, 사용자는 더욱 효율적으로 데이터들을 관리할 수 있을 것이다.If data having various data properties is indiscriminately inserted into cells composing the spreadsheet by the user, a table configured to classify data having the same data properties for the inserted data is automatically created and provided to the user If possible, the user will be able to manage data more efficiently.

따라서, 스프레드시트에서 지정된 영역에 대해, 데이터 속성 기반의 테이블을 자동 생성할 수 있는 문서 편집 기술에 대한 연구가 필요하다.Therefore, it is necessary to study a document editing technology that can automatically create a table based on data properties for a designated area in the spreadsheet.

본 발명에 따른 문서 편집 장치 및 그 동작 방법은 사용자에 의해 스프레드시트에서 데이터 영역이 지정되면서, 상기 데이터 영역에 대한 데이터 속성 기반의 자동 테이블 생성 명령이 인가되면, 상기 데이터 영역에 삽입되어 있는 데이터들 각각의 데이터 속성을 확인한 후 확인된 데이터 속성들 각각에 대응되는 필드를 생성하고, 각 필드에 매칭된 데이터 속성을 기초로 상기 데이터 영역을 구성하는 복수의 열들 각각에 삽입되어 있는 데이터들을 하나의 레코드로 삽입함으로써, 데이터 속성 기반의 테이블을 자동 생성하여 사용자의 효율적인 데이터 관리를 도모하고자 한다. In the document editing apparatus and operating method according to the present invention, when a data area is designated in a spreadsheet by a user and an automatic table creation command based on data properties for the data area is applied, data inserted into the data area is After checking each data property, a field corresponding to each of the checked data properties is generated, and data inserted into each of the plurality of columns constituting the data area based on the data property matched to each field is recorded as one record. By inserting into , it is intended to automatically create a table based on data attributes to promote efficient data management for users.

본 발명의 일실시예에 따른 데이터 속성을 기초로 스프레드시트에서 지정된 영역에 대응되는 테이블을 자동으로 생성할 수 있는 문서 편집 장치는 사용자에 의해 스프레드시트에서 n(n은 2이상의 자연수임)개의 열들로 구성된 데이터 영역 - 상기 데이터 영역을 구성하는 n개의 열들 각각에는 서로 다른 데이터 속성을 갖는 데이터들이 삽입되어 있음 - 이 지정되면서, 상기 데이터 영역에 대한 데이터 속성 기반의 자동 테이블 생성 명령이 인가되면, 상기 데이터 영역을 구성하는 n개의 열들 각각에 대해, 각 열에 삽입되어 있는 데이터들 각각의 데이터 속성을 확인하는 데이터 속성 확인부, 상기 데이터 영역을 구성하는 n개의 열들 각각에 삽입된 데이터들에 대한 데이터 속성을 확인한 결과, 상기 데이터 영역에 미리 정해진 서로 다른 t(t는 2이상의 자연수임)개의 데이터 속성들 중 k(k는 2이상의 자연수로 t이하의 크기를 가짐)개의 서로 다른 데이터 속성들이 존재하는 것으로 확인되면, k개의 열들과 n+1개의 행들로 구성된 제1 테이블을 생성하는 테이블 생성부, 상기 제1 테이블을 구성하는 k개의 열들 각각을 상기 k개의 데이터 속성들 각각에 대응되는 데이터의 삽입을 위한 필드로 하나씩 지정함으로써, k개의 필드들을 생성하고, 상기 제1 테이블을 구성하는 n+1개의 행들 중 첫 번째 행을 구성하는 k개의 셀들 각각에 대해 상기 데이터 영역에서 확인된 k개의 데이터 속성들을 필드명으로 하나씩 삽입한 후 상기 제1 테이블을 구성하는 n+1개의 행들 중 상기 첫 번째 행을 제외한 나머지 n개의 행들을 레코드가 삽입될 영역으로 지정하는 레코드 영역 지정부 및 상기 데이터 영역을 구성하는 n개의 열들 각각에 삽입되어 있는 데이터들을 데이터 속성에 따라 상기 k개의 필드들 중 대응되는 필드에 매칭시키고, 상기 데이터 영역을 구성하는 n개의 열들과 상기 제1 테이블을 구성하는 나머지 n개의 행들을 동일 순번끼리 매칭시킴으로써, 상기 데이터 영역을 구성하는 n개의 열들 각각에 삽입되어 있는 데이터들을 상기 제1 테이블을 구성하는 나머지 n개의 행들 중 대응되는 순번의 행에 레코드로 삽입하는 데이터 삽입부를 포함한다.A document editing apparatus capable of automatically generating a table corresponding to a specified area in a spreadsheet based on data properties according to an embodiment of the present invention includes n (n is a natural number greater than or equal to 2) columns in a spreadsheet by a user. When a data area consisting of - data having different data properties is inserted into each of the n columns constituting the data area - is specified and a data property-based automatic table creation command for the data area is applied, the For each of the n columns constituting the data area, a data property check unit for checking data properties of each data inserted in each column, data properties for data inserted into each of the n columns constituting the data area As a result of checking , it is determined that there are k (k is a natural number greater than or equal to 2, and having a size less than or equal to t) different data properties among t (t is a natural number greater than or equal to 2) predetermined different data properties in the data area. Upon confirmation, the table generator generating a first table composed of k columns and n+1 rows inserts data corresponding to each of the k data attributes into each of the k columns constituting the first table. By designating each field as a field for After inserting one by one as field names, a record area designation unit for designating the remaining n rows except for the first row among n+1 rows constituting the first table as an area into which records are to be inserted and configuring the data area Matches the data inserted in each of the n columns to a corresponding field among the k fields according to data properties, and sets the n columns constituting the data area and the remaining n rows constituting the first table the same By matching the sequence numbers, it is inserted into each of the n columns constituting the data area. and a data inserter for inserting the data into a row corresponding to the n rows of the remaining n rows constituting the first table as a record.

또한, 본 발명의 일실시예에 따른 데이터 속성을 기초로 스프레드시트에서 지정된 영역에 대응되는 테이블을 자동으로 생성할 수 있는 문서 편집 장치의 동작 방법은 사용자에 의해 스프레드시트에서 n개의 열들로 구성된 데이터 영역 - 상기 데이터 영역을 구성하는 n개의 열들 각각에는 서로 다른 데이터 속성을 갖는 데이터들이 삽입되어 있음 - 이 지정되면서, 상기 데이터 영역에 대한 데이터 속성 기반의 자동 테이블 생성 명령이 인가되면, 상기 데이터 영역을 구성하는 n개의 열들 각각에 대해, 각 열에 삽입되어 있는 데이터들 각각의 데이터 속성을 확인하는 단계, 상기 데이터 영역을 구성하는 n개의 열들 각각에 삽입된 데이터들에 대한 데이터 속성을 확인한 결과, 상기 데이터 영역에 미리 정해진 서로 다른 t개의 데이터 속성들 중 k개의 서로 다른 데이터 속성들이 존재하는 것으로 확인되면, k개의 열들과 n+1개의 행들로 구성된 제1 테이블을 생성하는 단계, 상기 제1 테이블을 구성하는 k개의 열들 각각을 상기 k개의 데이터 속성들 각각에 대응되는 데이터의 삽입을 위한 필드로 하나씩 지정함으로써, k개의 필드들을 생성하고, 상기 제1 테이블을 구성하는 n+1개의 행들 중 첫 번째 행을 구성하는 k개의 셀들 각각에 대해 상기 데이터 영역에서 확인된 k개의 데이터 속성들을 필드명으로 하나씩 삽입한 후 상기 제1 테이블을 구성하는 n+1개의 행들 중 상기 첫 번째 행을 제외한 나머지 n개의 행들을 레코드가 삽입될 영역으로 지정하는 단계 및 상기 데이터 영역을 구성하는 n개의 열들 각각에 삽입되어 있는 데이터들을 데이터 속성에 따라 상기 k개의 필드들 중 대응되는 필드에 매칭시키고, 상기 데이터 영역을 구성하는 n개의 열들과 상기 제1 테이블을 구성하는 나머지 n개의 행들을 동일 순번끼리 매칭시킴으로써, 상기 데이터 영역을 구성하는 n개의 열들 각각에 삽입되어 있는 데이터들을 상기 제1 테이블을 구성하는 나머지 n개의 행들 중 대응되는 순번의 행에 레코드로 삽입하는 단계를 포함한다.In addition, the operating method of the document editing apparatus capable of automatically generating a table corresponding to a specified area in a spreadsheet based on data properties according to an embodiment of the present invention is data composed of n columns in a spreadsheet by a user. When an area - data having different data properties is inserted into each of the n columns constituting the data area - is specified and a data property-based automatic table creation command for the data area is applied, the data area is created For each of the n columns constituting each of the columns, confirming the data properties of each data inserted in each column, as a result of checking the data properties of the data inserted into each of the n columns constituting the data area, the data If it is confirmed that k different data properties among the t different predefined data properties in the region exist, generating a first table comprising k columns and n+1 rows; constructing the first table By designating each of k columns as a field for inserting data corresponding to each of the k data attributes, k fields are generated, and a first row among n+1 rows constituting the first table After inserting the k data attributes identified in the data area as field names one by one for each of the k cells constituting designating the fields as an area into which a record is to be inserted, and matching data inserted in each of n columns constituting the data area to a corresponding field among the k fields according to data properties, and configuring the data area By matching the n columns with the remaining n rows constituting the first table with the same sequence numbers, data inserted into each of the n columns constituting the data area is selected from among the remaining n rows constituting the first table. and inserting it as a record in the row of the corresponding sequence number. .

본 발명에 따른 문서 편집 장치 및 그 동작 방법은 사용자에 의해 스프레드시트에서 데이터 영역이 지정되면서, 상기 데이터 영역에 대한 데이터 속성 기반의 자동 테이블 생성 명령이 인가되면, 상기 데이터 영역에 삽입되어 있는 데이터들 각각의 데이터 속성을 확인한 후 확인된 데이터 속성들 각각에 대응되는 필드를 생성하고, 각 필드에 매칭된 데이터 속성을 기초로 상기 데이터 영역을 구성하는 복수의 열들 각각에 삽입되어 있는 데이터들을 하나의 레코드로 삽입함으로써, 데이터 속성 기반의 테이블을 자동 생성하여 사용자의 효율적인 데이터 관리를 도모할 수 있다.In the document editing apparatus and operating method according to the present invention, when a data area is designated in a spreadsheet by a user and an automatic table creation command based on data properties for the data area is applied, data inserted into the data area is After checking each data property, a field corresponding to each of the checked data properties is generated, and data inserted into each of the plurality of columns constituting the data area based on the data property matched to each field is recorded as one record. By inserting into , it is possible to automatically create a table based on data attributes to promote efficient data management by users.

도 1은 본 발명의 일실시예에 따른 데이터 속성을 기초로 스프레드시트에서 지정된 영역에 대응되는 테이블을 자동으로 생성할 수 있는 문서 편집 장치의 구조를 도시한 도면이다.
도 2와 도 3은 본 발명의 일실시예에 따른 데이터 속성을 기초로 스프레드시트에서 지정된 영역에 대응되는 테이블을 자동으로 생성할 수 있는 문서 편집 장치를 설명하기 위한 도면이다.
도 4는 본 발명의 일실시예에 따른 데이터 속성을 기초로 스프레드시트에서 지정된 영역에 대응되는 테이블을 자동으로 생성할 수 있는 문서 편집 장치의 동작 방법을 도시한 순서도이다.
1 is a diagram illustrating a structure of a document editing apparatus capable of automatically generating a table corresponding to a specified area in a spreadsheet based on data attributes according to an embodiment of the present invention.
2 and 3 are diagrams for explaining a document editing apparatus capable of automatically generating a table corresponding to a specified area in a spreadsheet based on data properties according to an embodiment of the present invention.
4 is a flowchart illustrating an operating method of a document editing apparatus capable of automatically generating a table corresponding to a specified area in a spreadsheet based on data properties according to an embodiment of the present invention.

이하에서는 본 발명에 따른 실시예들을 첨부된 도면을 참조하여 상세하게 설명하기로 한다. 이러한 설명은 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였으며, 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 본 명세서 상에서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 사람에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings. These descriptions are not intended to limit the present invention to specific embodiments, and should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. While describing each drawing, like reference numerals are used for similar components, and unless otherwise defined, all terms used in this specification, including technical or scientific terms, refer to those of ordinary skill in the art to which the present invention belongs. It has the same meaning as is commonly understood by those who have it.

본 문서에서, 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있다는 것을 의미한다. 또한, 본 발명의 다양한 실시예들에 있어서, 각 구성요소들, 기능 블록들 또는 수단들은 하나 또는 그 이상의 하부 구성요소로 구성될 수 있고, 각 구성요소들이 수행하는 전기, 전자, 기계적 기능들은 전자회로, 집적회로, ASIC(Application Specific Integrated Circuit) 등 공지된 다양한 소자들 또는 기계적 요소들로 구현될 수 있으며, 각각 별개로 구현되거나 2 이상이 하나로 통합되어 구현될 수도 있다. In this document, when a part "includes" a certain component, it means that other components may be further included, rather than excluding other components, unless otherwise stated. In addition, in various embodiments of the present invention, each of the components, functional blocks or means may be composed of one or more sub-components, and the electrical, electronic, and mechanical functions performed by each component are electronic. A circuit, an integrated circuit, an ASIC (Application Specific Integrated Circuit), etc. may be implemented as various well-known devices or mechanical elements, and may be implemented separately or two or more may be integrated into one.

한편, 첨부된 블록도의 블록들이나 흐름도의 단계들은 범용 컴퓨터, 특수용 컴퓨터, 휴대용 노트북 컴퓨터, 네트워크 컴퓨터 등 데이터 프로세싱이 가능한 장비의 프로세서나 메모리에 탑재되어 지정된 기능들을 수행하는 컴퓨터 프로그램 명령들(instructions)을 의미하는 것으로 해석될 수 있다. 이들 컴퓨터 프로그램 명령들은 컴퓨터 장치에 구비된 메모리 또는 컴퓨터에서 판독 가능한 메모리에 저장될 수 있기 때문에, 블록도의 블록들 또는 흐름도의 단계들에서 설명된 기능들은 이를 수행하는 명령 수단을 내포하는 제조물로 생산될 수도 있다. 아울러, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 명령들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 가능한 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 정해진 순서와 달리 실행되는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 실질적으로 동시에 수행되거나, 역순으로 수행될 수 있으며, 경우에 따라 일부 블록들 또는 단계들이 생략된 채로 수행될 수도 있다.On the other hand, the blocks in the accompanying block diagram or steps in the flowchart are computer program instructions that are loaded in a processor or memory of equipment capable of data processing, such as a general-purpose computer, a special-purpose computer, a portable notebook computer, and a network computer, and perform specified functions. can be interpreted as meaning Since these computer program instructions may be stored in a memory provided in a computer device or in a computer-readable memory, the functions described in the blocks of the block diagram or the steps of the flowchart are produced as articles of manufacture containing instruction means for performing the same. it might be In addition, each block or each step may represent a module, segment, or portion of code comprising one or more executable instructions for executing the specified logical function(s). It should also be noted that, in some alternative embodiments, it is also possible for the functions recited in blocks or steps to be executed out of the prescribed order. For example, two blocks or steps shown one after another may be performed substantially simultaneously or in the reverse order, and in some cases, some blocks or steps may be omitted.

도 1은 본 발명의 일실시예에 따른 데이터 속성을 기초로 스프레드시트에서 지정된 영역에 대응되는 테이블을 자동으로 생성할 수 있는 문서 편집 장치의 구조를 도시한 도면이다. 1 is a diagram illustrating a structure of a document editing apparatus capable of automatically generating a table corresponding to a specified area in a spreadsheet based on data attributes according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일실시예에 따른 데이터 속성을 기초로 스프레드시트에서 지정된 영역에 대응되는 테이블을 자동으로 생성할 수 있는 문서 편집 장치(110)는 데이터 속성 확인부(111), 테이블 생성부(112), 레코드 영역 지정부(113) 및 데이터 삽입부(114)를 포함한다.Referring to FIG. 1 , a document editing apparatus 110 capable of automatically generating a table corresponding to a specified area in a spreadsheet based on data properties according to an embodiment of the present invention includes a data property check unit 111, It includes a table creation unit 112 , a record area designation unit 113 , and a data insertion unit 114 .

데이터 속성 확인부(111)는 사용자에 의해 스프레드시트에서 n(n은 2이상의 자연수임)개의 열들로 구성된 데이터 영역이 지정되면서, 상기 데이터 영역에 대한 데이터 속성 기반의 자동 테이블 생성 명령이 인가되면, 상기 데이터 영역을 구성하는 n개의 열들 각각에 대해, 각 열에 삽입되어 있는 데이터들 각각의 데이터 속성을 확인한다.In the data property check unit 111, when a data area composed of n (n is a natural number greater than or equal to 2) columns in the spreadsheet is designated by the user, and a data property-based automatic table creation command for the data area is applied, For each of the n columns constituting the data area, a data attribute of each data inserted in each column is checked.

여기서, 데이터 속성이란 '숫자', '텍스트', '날짜', '시간', '백분율' 및 '통화' 등으로 분류될 수 있는 데이터 각각의 성질을 의미하고, 본 발명에서는 상기 데이터 영역을 구성하는 n개의 열들 각각에 서로 다른 데이터 속성을 갖는 데이터들이 삽입되어 있다고 전제한다.Here, the data attribute means the properties of each data that can be classified into 'number', 'text', 'date', 'time', 'percentage' and 'currency', etc. In the present invention, the data area is configured It is assumed that data having different data properties is inserted into each of the n columns.

테이블 생성부(112)는 상기 데이터 영역을 구성하는 n개의 열들 각각에 삽입된 데이터들에 대한 데이터 속성을 확인한 결과, 상기 데이터 영역에 미리 정해진 서로 다른 t(t는 2이상의 자연수임)개의 데이터 속성들 중 k(k는 2이상의 자연수로 t이하의 크기를 가짐)개의 서로 다른 데이터 속성들이 존재하는 것으로 확인되면, k개의 열들과 n+1개의 행들로 구성된 제1 테이블을 생성한다.As a result of checking the data properties of the data inserted into each of the n columns constituting the data area, the table generating unit 112 determines t (t is a natural number greater than or equal to 2) different data properties in the data area. If it is confirmed that there are k (k is a natural number greater than or equal to 2, and has a size less than or equal to t) among them, a first table composed of k columns and n+1 rows is created.

레코드 영역 지정부(113)는 상기 제1 테이블을 구성하는 k개의 열들 각각을 상기 k개의 데이터 속성들 각각에 대응되는 데이터의 삽입을 위한 필드로 하나씩 지정함으로써, k개의 필드들을 생성하고, 상기 제1 테이블을 구성하는 n+1개의 행들 중 첫 번째 행을 구성하는 k개의 셀들 각각에 대해 상기 데이터 영역에서 확인된 k개의 데이터 속성들을 필드명으로 하나씩 삽입한 후 상기 제1 테이블을 구성하는 n+1개의 행들 중 상기 첫 번째 행을 제외한 나머지 n개의 행들을 레코드가 삽입될 영역으로 지정한다.The record area designation unit 113 generates k fields by designating each of k columns constituting the first table as a field for inserting data corresponding to each of the k data attributes, thereby generating k fields, and For each of k cells constituting the first row among n+1 rows constituting one table, k data attributes identified in the data area are inserted as field names one by one, and then n+ constituting the first table Among one row, n rows other than the first row are designated as regions into which records are to be inserted.

데이터 삽입부(114)는 상기 데이터 영역을 구성하는 n개의 열들 각각에 삽입되어 있는 데이터들을 데이터 속성에 따라 상기 k개의 필드들 중 대응되는 필드에 매칭시키고, 상기 데이터 영역을 구성하는 n개의 열들과 상기 제1 테이블을 구성하는 나머지 n개의 행들을 동일 순번끼리 매칭시킴으로써, 상기 데이터 영역을 구성하는 n개의 열들 각각에 삽입되어 있는 데이터들을 상기 제1 테이블을 구성하는 나머지 n개의 행들 중 대응되는 순번의 행에 레코드로 삽입한다.The data insertion unit 114 matches data inserted in each of the n columns constituting the data area to a corresponding field among the k fields according to data properties, and includes n columns constituting the data area and By matching the remaining n rows constituting the first table with the same order numbers, data inserted into each of the n columns constituting the data area is matched with a corresponding order among the remaining n rows constituting the first table. Insert into a row as a record.

이하에서는, 도 2를 참조하여 문서 편집 장치(110)의 동작을 예를 들어 상세히 설명하기로 한다.Hereinafter, an operation of the document editing apparatus 110 will be described in detail with reference to FIG. 2 .

관련해서, 도면부호 210과 같이 사용자에 의해 스프레드시트에서 '5'개의 열들로 구성된 데이터 영역(211)이 지정되면서, 데이터 영역(211)에 대한 데이터 속성 기반의 자동 테이블 생성 명령이 인가되었다고 가정하면, 데이터 속성 확인부(111)는 데이터 영역(211)을 구성하는 '5'개의 열들 각각에 대해, 각 열에 삽입되어 있는 데이터들 각각의 데이터 속성을 확인할 수 있다.In relation to this, it is assumed that the data area 211 composed of '5' columns is designated by the user in the spreadsheet as shown by reference numeral 210, and an automatic table creation command based on data properties for the data area 211 is applied. , the data property check unit 111 may check the data properties of each of the data inserted in each column for each of the '5' columns constituting the data area 211 .

구체적으로, 데이터 속성 확인부(111)는 데이터 영역(211)을 구성하는 '5'개의 열들 중 첫 번째 열에 삽입되어 있는 데이터인 '1'(212)의 데이터 속성을 '숫자'로 확인하고, '라마'(213)의 데이터 속성을 '텍스트'로 확인할 수 있다. Specifically, the data attribute check unit 111 confirms the data attribute of '1' (212), which is data inserted in the first column among '5' columns constituting the data area 211, as a 'number', The data attribute of 'Lama' 213 may be checked as 'Text'.

같은 방식으로, 데이터 속성 확인부(111)는 데이터 영역(211)을 구성하는 '5'개의 열들 중 두 번째 열에 삽입되어 있는 데이터인 '가'(214)의 데이터 속성을 '텍스트'로 확인하고, '3'(215)의 데이터 속성을 '숫자'로 확인할 수 있으며, 세 번째 열에 삽입되어 있는 데이터인 '2019-01-02'(216)의 데이터 속성을 '날짜'로 확인하고, '4'(217)의 데이터 속성을 '숫자'로 확인할 수 있다. 또한, 데이터 속성 확인부(111)는 데이터 영역(211)을 구성하는 '5'개의 열들 중 네 번째 열에 삽입되어 있는 데이터인 '오후 1:30:55'(218)의 데이터 속성을 '시간'으로 확인하고, '2019-05-05'(219)의 데이터 속성을 '날짜'로 확인할 수 있으며, 다섯 번째 열에 삽입되어 있는 데이터인 '나다'(220)의 데이터 속성을 '텍스트'로 확인하고, '오전 9:45:25'(221)의 데이터 속성을 '시간'으로 확인할 수 있다. In the same way, the data attribute check unit 111 checks the data attribute of 'A' 214, which is data inserted in the second column among '5' columns constituting the data area 211, as 'text', and , you can check the data property of '3' (215) as 'Number', and check the data property of '2019-01-02' (216), which is the data inserted in the third column, as 'Date', The data attribute of '(217) can be confirmed as 'number'. In addition, the data attribute check unit 111 determines the data attribute of '1:30:55 PM' 218 , which is data inserted into the fourth column among the '5' columns constituting the data area 211, as 'time'. You can check the data attribute of '2019-05-05' (219) as 'date', and check the data attribute of 'I am' (220), which is the data inserted in the fifth column, as 'text'. , you can check the data attribute of '9:45:25 AM' (221) as 'time'.

이때, t가 '6'이고, 미리 정해진 서로 다른 '6'개의 데이터 속성들이 '숫자', '텍스트', '날짜', '시간', '백분율' 및 '통화'라고 가정하면, 데이터 속성 확인부(111)는 데이터 영역(211)을 구성하는 '5'개의 열들 각각에 삽입된 데이터들(212, 213, 214, 215, 216, 217, 218, 219, 220, 221)에 대해 상기 '6'개의 데이터 속성들 중 '4'개의 서로 다른 데이터 속성들인 '숫자', '텍스트', '날짜' 및 '시간'이 존재하는 것을 확인할 수 있다.At this time, assuming that t is '6' and the predetermined different '6' data properties are 'number', 'text', 'date', 'time', 'percentage' and 'currency', check data properties The unit 111 corresponds to the '6' for the data 212, 213, 214, 215, 216, 217, 218, 219, 220, 221 inserted into each of '5' columns constituting the data area 211 . It can be confirmed that '4' different data attributes of 'number', 'text', 'date', and 'time' exist among the ' data attributes.

이렇게, 데이터 영역(211)에 상기 '4'개의 서로 다른 데이터 속성들인 '숫자', '텍스트', '날짜' 및 '시간'이 존재하는 것으로 확인되면, 테이블 생성부(112)는 '4'개의 열들과 '6'개의 행들로 구성된 제1 테이블(230)을 생성할 수 있다.In this way, when it is confirmed that the '4' different data attributes 'number', 'text', 'date', and 'time' exist in the data area 211 , the table generating unit 112 generates '4' The first table 230 including '6' columns and '6' rows may be generated.

그러면, 레코드 영역 지정부(113)는 제1 테이블(230)을 구성하는 '4'개의 열들 각각을 상기 '4'개의 데이터 속성들인 '숫자', '텍스트', '날짜' 및 '시간' 각각에 대응되는 데이터의 삽입을 위한 필드로 하나씩 지정함으로써, '4'개의 필드들을 생성할 수 있고, 제1 테이블(230)을 구성하는 '6'개의 행들 중 첫 번째 행(231)을 구성하는 '4'개의 셀들 각각에 대해 데이터 영역(211)에서 확인된 상기 '4'개의 데이터 속성들인 '숫자', '텍스트', '날짜' 및 '시간'을 필드명으로 하나씩 삽입한 후 제1 테이블(230)을 구성하는 '6'개의 행들 중 첫 번째 행(231)을 제외한 나머지 '5'개의 행들(232)을 레코드가 삽입될 영역으로 지정할 수 있다.Then, the record area designation unit 113 assigns each of the '4' columns constituting the first table 230 to the '4' data attributes of 'number', 'text', 'date' and 'time', respectively. By designating one field for insertion of data corresponding to '4' fields, '4' fields can be created, and the '1st row 231 of the '6' rows constituting the first table 230 is ' In the first table ( Among the '6' rows constituting the 230 , the remaining '5' rows 232 excluding the first row 231 may be designated as regions into which records are to be inserted.

데이터 삽입부(114)는 데이터 영역(211)을 구성하는 '5'개의 열들 각각에 삽입되어 있는 데이터들을 데이터 속성에 따라 상기 '4'개의 필드들 중 대응되는 필드에 매칭시키고, 데이터 영역(211)을 구성하는 '5'개의 열들과 제1 테이블(230)을 구성하는 나머지 '5'개의 행들(232)을 동일 순번끼리 매칭시킴으로써, 데이터 영역(211)을 구성하는 '5'개의 열들 각각에 삽입되어 있는 데이터들을 제1 테이블(230)을 구성하는 나머지 '5'개의 행들(232) 중 대응되는 순번의 행에 레코드로 삽입할 수 있다.The data insertion unit 114 matches data inserted in each of the '5' columns constituting the data area 211 to a corresponding field among the '4' fields according to data properties, and the data area 211 ) by matching the '5' columns constituting the first table 230 with the remaining '5' rows 232 constituting the first table 230 with the same sequence numbers, respectively, in each of the '5' columns constituting the data area 211 . The inserted data may be inserted as a record into a row of a corresponding order among the remaining '5' rows 232 constituting the first table 230 .

구체적으로, 데이터 삽입부(114)는 데이터 영역(211)을 구성하는 '5'개의 열들 중 첫 번째 열에 삽입되어 있는 데이터인 '1'(212)을 '숫자'에 대응되는 첫 번째 필드에 매칭시키고, '라마'(213)를 '텍스트'에 대응되는 두 번째 필드에 매칭시키며, 데이터 영역(211)을 구성하는 '5'개의 열들 중 첫 번째 열과 제1 테이블(230)을 구성하는 나머지 '5'개의 행들(232) 중 첫 번째 행을 서로 매칭시킴으로써, 도면부호 230에 도시된 바와 같이 '1'(212)과 '라마'(213)를 제1 테이블(230)을 구성하는 나머지 '5'개의 행들(232) 중 첫 번째 행에 레코드로 삽입할 수 있다. Specifically, the data inserting unit 114 matches the data '1' 212, which is data inserted in the first column among the '5' columns constituting the data area 211, to the first field corresponding to the 'number'. and 'Lama' 213 is matched to the second field corresponding to 'Text', and the first column among '5' columns constituting the data area 211 and the rest of the first table 230 are ' By matching the first row of the 5' rows 232 with each other, as shown in reference numeral 230, '1' 212 and 'Lama' 213 are added to the remaining '5' constituting the first table 230. It can be inserted as a record in the first row among the ' rows 232 .

마찬가지로, 데이터 삽입부(114)는 데이터 영역(211)을 구성하는 '5'개의 열들 중 두 번째 열에 삽입되어 있는 데이터인 '가'(214)를 '텍스트'에 대응되는 두 번째 필드에 매칭시키고, '3'(215)을 '숫자'에 대응되는 첫 번째 필드에 매칭시키며, 데이터 영역(211)을 구성하는 '5'개의 열들 중 두 번째 열과 제1 테이블(230)을 구성하는 나머지 '5'개의 행들(232) 중 두 번째 행을 매칭시킴으로써, 도면부호 230에 도시된 바와 같이 '가'(214)와 '3'(215)을 제1 테이블(230)을 구성하는 나머지 '5'개의 행들(232) 중 두 번째 행에 레코드로 삽입할 수 있다. Similarly, the data insertion unit 114 matches the data 'a' 214, which is data inserted in the second column among the '5' columns constituting the data area 211, to the second field corresponding to 'text', , '3' (215) is matched to the first field corresponding to 'number', and the second column of '5' columns constituting the data area 211 and the remaining '5' constituting the first table 230 are matched. By matching the second row among the 'Rows 232 , 'A' 214 and '3' 215 are added to the remaining '5' constituting the first table 230 as shown in reference numeral 230 . The second row of rows 232 may be inserted as a record.

같은 방식으로, 데이터 삽입부(114)는 데이터 영역(211)을 구성하는 '5'개의 열들 중 나머지 열에 삽입되어 있는 데이터인 '2019-01-02'(216), '4'(217), '오후 1:30:55'(218), '2019-05-05'(219), '나다'(220) 및 '오전 9:45:25'(221)를 제1 테이블(230)을 구성하는 나머지 '5'개의 행들(232) 중 대응되는 순번의 행에 레코드로 삽입함으로써, 도면부호 230에 도시된 바와 같이, 데이터 영역(211)을 구성하는 '5'개의 열들 각각에 삽입되어 있는 데이터들(212, 213, 214, 215, 216, 217, 218, 219, 220, 221)의 삽입을 완료할 수 있다. In the same way, the data inserting unit 114 performs data inserted into the remaining columns among the '5' columns constituting the data area 211, '2019-01-02' 216, '4' 217, '1:30:55 PM' (218), '2019-05-05' (219), 'I am' (220), and '9:45:25 AM' (221) constitute the first table 230 Data inserted into each of the '5' columns constituting the data area 211 as shown in reference numeral 230 by inserting a record into a row of a corresponding sequence number among the remaining '5' rows 232 Insertion of s 212 , 213 , 214 , 215 , 216 , 217 , 218 , 219 , 220 , 221 may be completed.

이때, 본 발명의 일실시예에 따르면, 문서 편집 장치(110)는 카운트부(115) 및 필드 정렬부(116)를 더 포함할 수 있다.In this case, according to an embodiment of the present invention, the document editing apparatus 110 may further include a counting unit 115 and a field arranging unit 116 .

카운트부(115)는 상기 데이터 영역을 구성하는 n개의 열들 각각에 삽입되어 있는 데이터들이 상기 제1 테이블을 구성하는 나머지 n개의 행들 중 대응되는 순번의 행에 레코드로 삽입되면, 상기 제1 테이블을 구성하는 상기 k개의 필드들 각각에 대해, 상기 k개의 필드들 각각을 구성하는 n개의 셀들 중 데이터가 삽입되어 있지 않은 빈셀 수를 카운트한다.When data inserted into each of the n columns constituting the data area is inserted as a record into a row of a corresponding order among the remaining n rows constituting the first table, the counting unit 115 counts the first table. For each of the k fields constituting the k fields, the number of empty cells in which data is not inserted among the n cells constituting each of the k fields is counted.

필드 정렬부(116)는 상기 k개의 필드들 각각에 대한 빈셀 수가 카운트되면, 상기 제1 테이블에서 상기 k개의 필드들을 상기 k개의 필드들 각각에 대한 빈셀 수를 기초로 내림차순으로 정렬한다.When the number of empty cells for each of the k fields is counted, the field sorting unit 116 sorts the k fields in the first table in descending order based on the number of empty cells for each of the k fields.

관련해서, 전술한 바와 같이 데이터 영역(211)을 구성하는 '5'개의 열들 각각에 삽입되어 있는 데이터들(212, 213, 214, 215, 216, 217, 218, 219, 220, 221)이 도면부호 230과 같이 제1 테이블(230)을 구성하는 나머지 '5'개의 행들(232) 중 대응되는 순번의 행에 레코드로 삽입되었다고 가정하면, 카운트부(115)는 제1 테이블(230)을 구성하는 상기 '4'개의 필드들 각각에 대해, 상기 '4'개의 필드들 각각을 구성하는 '5'개의 셀들 중 데이터가 삽입되어 있지 않은 빈셀 수를 카운트할 수 있다.In relation to this, the data 212, 213, 214, 215, 216, 217, 218, 219, 220, 221 inserted into each of the '5' columns constituting the data area 211 as described above are shown in the figure. Assuming that a record is inserted into a row of a corresponding order among the remaining '5' rows 232 constituting the first table 230 as indicated by reference numeral 230 , the count unit 115 constitutes the first table 230 . For each of the '4' fields, the number of empty cells in which data is not inserted among the '5' cells constituting each of the '4' fields may be counted.

이때, 상기 '4'개의 필드들 중 '숫자'에 대응되는 필드에 대한 빈셀 수로 '2', '텍스트'에 대응되는 필드에 대한 빈셀 수로 '2', '날짜'에 대응되는 필드에 대한 빈셀 수로 '3', '시간'에 대응되는 필드에 대한 빈셀 수로 '3'이 카운트되면, 필드 정렬부(116)는 도면부호 240과 같이 제1 테이블(230)에서 상기 '4'개의 필드들을 상기 '4'개의 필드들 각각에 대한 빈셀 수를 기초로 내림차순으로 임의 정렬할 수 있다.At this time, among the '4' fields, '2' as the number of empty cells for a field corresponding to 'number', '2' as the number of empty cells for a field corresponding to 'text', and empty cells for a field corresponding to 'date' When '3' is counted as the number of empty cells for the field corresponding to '3' and 'time', the field sorting unit 116 aligns the '4' fields in the first table 230 as indicated by reference numeral 240 . Random sorting in descending order is possible based on the number of empty cells for each of the '4' fields.

이때, 본 발명의 일실시예에 따르면, 필드 정렬부(116)는 빈셀 수가 동일하게 카운트된 필드들 간의 우선순위를 결정하기 위한 구성으로 우선순위 저장부(117) 및 필드 정렬 처리부(118)를 포함할 수 있다.At this time, according to an embodiment of the present invention, the field sorting unit 116 configures the priority storage unit 117 and the field sorting unit 118 to determine a priority between fields in which the number of empty cells is equally counted. may include

우선순위 저장부(117)에는 상기 t개의 데이터 속성들 간의 미리 정해진 우선순위가 저장되어 있다.In the priority storage unit 117, predetermined priorities among the t data attributes are stored.

예컨대, 전술한 예에 따르면, 우선순위 저장부(117)에는 하기의 표 1과 같이 상기 '6'개의 데이터 속성들 간의 미리 정해진 우선순위가 저장되어 있을 수 있다.For example, according to the above-described example, predetermined priorities among the '6' data attributes may be stored in the priority storage unit 117 as shown in Table 1 below.

데이터 속성data attribute 텍스트text 숫자number 날짜date 시간hour 백분율percentage 통화call 우선순위Priority 1One 22 33 44 55 66

필드 정렬 처리부(118)는 상기 k개의 필드들 각각에 대한 빈셀 수가 카운트되면, 상기 제1 테이블에서 상기 k개의 필드들을 상기 k개의 필드들 각각에 대한 빈셀 수를 기초로 내림차순으로 정렬하되, 상기 k개의 필드들 중 빈셀 수가 서로 동일하게 카운트된 필드 간에는 우선순위 저장부(117)를 참조하여 각 필드에 매칭된 데이터 속성에 대응되는 우선순위에 따라 정렬한다.When the number of empty cells for each of the k fields is counted, the field sorting processing unit 118 sorts the k fields in the first table in descending order based on the number of empty cells for each of the k fields, wherein the k Among the fields, fields in which the number of empty cells are counted equally are sorted according to the priority corresponding to the data attribute matched to each field with reference to the priority storage unit 117 .

예컨대, 전술한 예와 같이 상기 '4'개의 필드들 중 '숫자'에 대응되는 필드에 대한 빈셀 수로 '2', '텍스트'에 대응되는 필드에 대한 빈셀 수로 '2', '날짜'에 대응되는 필드에 대한 빈셀 수로 '3', '시간'에 대응되는 필드에 대한 빈셀 수로 '3'이 카운트되면, 필드 정렬 처리부(118)는 제1 테이블(230)에서 상기 '4'개의 필드들을 도면부호 240과 같이 상기 '4'개의 필드들 각각에 대한 빈셀 수를 기초로 내림차순으로 정렬하되, 빈셀 수가 '3'으로 동일하게 카운트된 '날짜'에 대응되는 필드와 '시간'에 대응되는 필드 간에는 상기의 표 1과 같은 우선순위 저장부(117)를 참조하여 '날짜'에 대응되는 필드, '시간'에 대응되는 필드의 순서로 정렬하고, 빈셀 수가 '2'로 동일하게 카운트된 '숫자'에 대응되는 필드와 '텍스트'에 대응되는 필드 간에는 상기의 표 1과 같은 우선순위 저장부(117)를 참조하여 '텍스트'에 대응되는 필드, '숫자'에 대응되는 필드의 순서로 정렬함으로써, 최종적으로 도면부호 250과 같이 정렬할 수 있다.For example, as in the above example, '2' as the number of empty cells for a field corresponding to 'number' among the '4' fields, '2' as the number of empty cells for a field corresponding to 'text', and 'date' When '3' is counted as the number of empty cells for the field to be used and '3' is counted as the number of empty cells for the field corresponding to 'time', the field sorting processing unit 118 draws the '4' fields from the first table 230 . As shown in code 240, sorting in descending order based on the number of empty cells for each of the '4' fields, but between the field corresponding to the 'date' and the field corresponding to the 'time' Referring to the priority storage unit 117 as shown in Table 1 above, the fields corresponding to 'date' and fields corresponding to 'time' are arranged in the order, and the number of empty cells counted as '2' is the same as 'number'. Between the field corresponding to 'text' and the field corresponding to 'text', by referring to the priority storage unit 117 as shown in Table 1 above, by arranging in the order of the field corresponding to 'text' and the field corresponding to 'number', Finally, it can be aligned as shown in reference numeral 250 .

본 발명의 일실시예에 따르면, 문서 편집 장치(110)는 템플릿 저장부(119), 고유 번호 저장부(120), 기준 벡터 생성부(121), 특성 벡터 생성부(122), 유클리드 거리 연산부(123) 및 템플릿 적용부(124)를 더 포함할 수 있다.According to an embodiment of the present invention, the document editing apparatus 110 includes a template storage unit 119, a unique number storage unit 120, a reference vector generation unit 121, a characteristic vector generation unit 122, and a Euclidean distance calculation unit. 123 and a template application unit 124 may be further included.

템플릿 저장부(119)에는 테이블에 적용될 수 있는 것으로 미리 정해진 서로 다른 복수의 템플릿들과 상기 복수의 템플릿들 각각에 대응되는 미리 정해진 t차원의 기준 벡터가 저장되어 있다.The template storage unit 119 stores a plurality of different templates that can be applied to a table, and a predetermined t-dimensional reference vector corresponding to each of the plurality of templates.

예컨대, 전술한 예에 따라 t가 '6'이라고 가정하면, 템플릿 저장부(119)에는 하기의 표 2와 같이 정보가 저장되어 있을 수 있다.For example, assuming that t is '6' according to the above-described example, information may be stored in the template storage unit 119 as shown in Table 2 below.

복수의 템플릿들multiple templates '6'차원의 기준 벡터Reference vector in '6' dimension 템플릿 1Template 1 [0 1 2 3 4 5][0 1 2 3 4 5] 템플릿 2Template 2 [1 2 3 4 5 6][1 2 3 4 5 6] 템플릿 3Template 3 [2 3 4 5 6 7][2 3 4 5 6 7]

고유 번호 저장부(120)에는 상기 t개의 데이터 속성들과 상기 t개의 데이터 속성들 각각에 대응되는 미리 정해진 서로 다른 고유 번호가 저장되어 있다.The unique number storage unit 120 stores the t data attributes and different predetermined unique numbers corresponding to each of the t data attributes.

예컨대, 전술한 바와 같이 t가 '6'이라면, 고유 번호 저장부(120)에는 하기의 표 3과 같이 정보가 저장되어 있을 수 있다.For example, if t is '6' as described above, information may be stored in the unique number storage unit 120 as shown in Table 3 below.

'6'개의 데이터 속성들'6' data attributes 고유 번호unique number 숫자number 00 텍스트text 1One 날짜date 22 시간hour 33 백분율percentage 44 통화call 55

기준 벡터 생성부(121)는 상기 k개의 필드들에 대한 정렬이 완료되면, 템플릿 저장부(119)를 참조하여 상기 복수의 템플릿들 각각에 대응되는 t차원의 기준 벡터를 k차원의 기준 벡터로 변환함으로써, 상기 복수의 템플릿들 각각에 대응되는 k차원의 기준 벡터를 생성한다.When the alignment of the k fields is completed, the reference vector generator 121 converts the t-dimensional reference vector corresponding to each of the plurality of templates to the k-dimensional reference vector with reference to the template storage unit 119 . By transforming, a k-dimensional reference vector corresponding to each of the plurality of templates is generated.

여기서, 상기 k차원의 기준 벡터는 상기 t차원의 기준 벡터를 구성하는 t개의 성분들 중 첫 번째 성분을 기준으로 순차적으로 선택된 k개의 성분들 각각을 성분으로 갖는 벡터이다.Here, the k-dimensional reference vector is a vector having, as a component, each of the k components sequentially selected based on the first component among the t components constituting the t-dimensional reference vector.

특성 벡터 생성부(122)는 상기 k개의 필드들이 정렬되어 있는 순서를 기초로 고유 번호 저장부(120)를 참조하여 상기 k개의 필드들 각각에 대해 매칭된 데이터 속성에 대응되는 고유 번호를 성분으로 갖는 k차원의 특성 벡터를 생성한다.The feature vector generating unit 122 refers to the unique number storage unit 120 based on the order in which the k fields are arranged and uses a unique number corresponding to the matched data attribute for each of the k fields as a component. Create a k-dimensional feature vector with

유클리드 거리 연산부(123)는 상기 복수의 템플릿들 각각에 대응되는 k차원의 기준 벡터와 상기 k차원의 특성 벡터 간의 유클리드 거리(Euclidean Distance)를 연산한다.The Euclidean distance calculator 123 calculates a Euclidean distance between a k-dimensional reference vector corresponding to each of the plurality of templates and the k-dimensional feature vector.

여기서, 유클리드 거리란 두 벡터 간의 거리를 의미하는 것으로 하기의 수학식 1에 따라 연산될 수 있다.Here, the Euclidean distance refers to a distance between two vectors and may be calculated according to Equation 1 below.

Figure pat00001
Figure pat00001

상기 수학식 1에서 D는 유클리드 거리, pi와 qi는 두 벡터에 포함되어 있는 i번째 성분들을 의미한다. 두 벡터 간의 유클리드 거리가 작을수록 두 벡터는 유사한 벡터라고 볼 수 있고, 두 벡터 간의 유클리드 거리가 클수록 두 벡터는 비유사한 벡터라고 볼 수 있다.In Equation 1, D denotes a Euclidean distance, and p i and q i denote i-th components included in the two vectors. As the Euclidean distance between two vectors is small, the two vectors can be regarded as similar vectors, and as the Euclidean distance between two vectors increases, the two vectors can be considered dissimilar vectors.

템플릿 적용부(124)는 상기 복수의 템플릿들 중 상기 k차원의 특성 벡터와의 유클리드 거리가 최소로 연산된 k차원의 기준 벡터를 갖는 제1 템플릿을 추출한 후 상기 제1 템플릿을 상기 제1 테이블에 적용한다.The template application unit 124 extracts a first template having a k-dimensional reference vector in which the Euclidean distance to the k-dimensional characteristic vector is calculated as a minimum from among the plurality of templates, and then applies the first template to the first table. apply to

이하에서는, 전술한 예에 따라 문서 편집 장치(110)의 동작을 예를 들어 상세히 설명하기로 한다.Hereinafter, the operation of the document editing apparatus 110 according to the above-described example will be described in detail with an example.

기준 벡터 생성부(121)는 도면부호 250과 같이 상기 '4'개의 필드들에 대한 정렬이 완료되면, 상기의 표 2와 같은 템플릿 저장부(119)를 참조하여 상기 복수의 템플릿들 각각에 대응되는 '6'차원의 기준 벡터를 '4'차원의 기준 벡터로 변환함으로써, 상기 복수의 템플릿들 각각에 대응되는 '4'차원의 기준 벡터를 생성할 수 있다.When the alignment of the '4' fields is completed as indicated by reference numeral 250, the reference vector generator 121 corresponds to each of the plurality of templates with reference to the template storage unit 119 as shown in Table 2 above. By converting the '6'-dimensional reference vector to a '4'-dimensional reference vector, a '4'-dimensional reference vector corresponding to each of the plurality of templates may be generated.

즉, 기준 벡터 생성부(121)는 하기의 표 4와 같이 상기 복수의 템플릿들 각각에 대해, 상기 '6'차원의 기준 벡터를 구성하는 '6'개의 성분들 중 첫 번째 성분을 기준으로 '4'개의 성분들을 순차적으로 선택한 후, 상기 '4'개의 성분들 각각을 성분으로 갖는 '4'차원의 기준 벡터를 생성할 수 있다.That is, as shown in Table 4 below, for each of the plurality of templates, the reference vector generator 121 'based on the first component among the '6' components constituting the '6'-dimensional reference vector. After sequentially selecting the 4' components, a '4'-dimensional reference vector having each of the '4' components as a component may be generated.

복수의 템플릿들multiple templates '4'차원의 기준 벡터Reference vector in '4' dimension 템플릿 1Template 1 [0 1 2 3][0 1 2 3] 템플릿 2Template 2 [1 2 3 4][1 2 3 4] 템플릿 3Template 3 [2 3 4 5][2 3 4 5]

특성 벡터 생성부(122)는 상기 '4'개의 필드들이 정렬되어 있는 순서인 '날짜'에 매칭된 필드, '시간'에 매칭된 필드, '텍스트'에 매칭된 필드, '숫자'에 매칭된 필드의 순서대로 상기의 표 3과 같은 고유 번호 저장부(120)를 참조하여 상기 '4'개의 필드들 각각에 대해 매칭된 데이터 속성에 대응되는 고유 번호를 성분으로 갖는 '4'차원의 특성 벡터인 '[2 3 1 0]'을 생성할 수 있다.The feature vector generator 122 generates a field matched to 'date', a field matched to 'time', a field matched to 'text', and a field matched to 'number', which is the order in which the '4' fields are arranged. A '4'-dimensional characteristic vector having a unique number corresponding to a data attribute matched for each of the '4' fields as a component with reference to the unique number storage unit 120 as shown in Table 3 above in the order of the fields '[2 3 1 0]' can be created.

유클리드 거리 연산부(123)는 상기의 표 4를 참조하여 상기 복수의 템플릿들 각각에 대응되는 '4'차원의 기준 벡터와 상기 '4'차원의 특성 벡터인 '[2 3 1 0]' 간의 유클리드 거리를 하기의 표 5와 같이 연산할 수 있다.The Euclidean distance calculating unit 123 refers to Table 4 above, and the Euclidean between the '4'-dimensional reference vector corresponding to each of the plurality of templates and the '4'-dimensional characteristic vector '[2 3 1 0]' The distance can be calculated as shown in Table 5 below.

복수의 템플릿들multiple templates 유클리드 거리euclidean street 템플릿 1Template 1 4.244.24 템플릿 2Template 2 4.694.69 템플릿 3Template 3 5.835.83

이후, 템플릿 적용부(124)는 상기 복수의 템플릿들 중 상기 '4'차원의 특성 벡터인 '[2 3 1 0]'과의 유클리드 거리가 최소('4.24')로 연산된 '템플릿 1'을 추출한 후 '템플릿 1'을 제1 테이블(250)에 적용할 수 있다.Thereafter, the template application unit 124 calculates the 'template 1' in which the Euclidean distance from the '[2 3 1 0]', which is the '4'-dimensional feature vector, among the plurality of templates is calculated as the minimum ('4.24'). After extracting , 'template 1' may be applied to the first table 250 .

또한, 본 발명의 일실시예에 따르면, 문서 편집 장치(110)는 속성 확인부(125), 필드 확인부(126), 셀 확인부(127) 및 데이터 이동부(128)를 더 포함할 수 있다.In addition, according to an embodiment of the present invention, the document editing apparatus 110 may further include an attribute check unit 125 , a field check unit 126 , a cell check unit 127 , and a data transfer unit 128 . have.

속성 확인부(125)는 상기 데이터 영역을 구성하는 n개의 열들 각각에 삽입되어 있는 데이터들이 상기 제1 테이블을 구성하는 나머지 n개의 행들 중 대응되는 순번의 행에 레코드로 삽입된 이후, 상기 사용자에 의해 상기 k개의 필드들 중 제1 필드에 속하는 제1 빈셀에 제1 데이터가 삽입되는 경우, 상기 제1 데이터에 대한 데이터 속성을 확인한다.After the data inserted into each of the n columns constituting the data area is inserted as a record into the corresponding row among the remaining n rows constituting the first table, the attribute check unit 125 sends the user When the first data is inserted into the first empty cell belonging to the first field among the k fields, the data attribute of the first data is checked.

필드 확인부(126)는 상기 제1 데이터에 대한 데이터 속성이 상기 k개의 데이터 속성들 중 상기 제1 필드에 매칭되어 있는 데이터 속성과 일치하지 않는 것으로 확인되면, 상기 k개의 필드들 중 상기 제1 데이터에 대한 데이터 속성이 매칭되어 있는 제2 필드를 확인한다.If it is determined that the data attribute of the first data does not match the data attribute matching the first field among the k data attributes, the field check unit 126 determines whether the first data attribute of the k fields Check the second field to which the data attribute of the data is matched.

셀 확인부(127)는 상기 제2 필드에서 상기 제1 빈셀의 행과 동일한 행에 대응되는 제1 셀에 데이터가 삽입되어 있는지 확인한다.The cell check unit 127 checks whether data is inserted into a first cell corresponding to the same row as that of the first empty cell in the second field.

데이터 이동부(128)는 상기 제1 셀에 데이터가 삽입되어 있는 경우, 상기 제1 빈셀에 삽입되어 있는 상기 제1 데이터를 유지하고, 상기 제1 셀에 데이터가 삽입되어 있지 않은 경우, 상기 제1 데이터를 상기 제1 셀로 이동시킨다.When data is inserted into the first cell, the data moving unit 128 maintains the first data inserted into the first empty cell, and when data is not inserted into the first cell, the data moving unit 128 1 Move data to the first cell.

이하에서는, 전술한 예에 따라 도 3을 참조하여 문서 편집 장치(110)의 동작을 예를 들어 상세히 설명하기로 한다.Hereinafter, an operation of the document editing apparatus 110 will be described in detail with reference to FIG. 3 according to the above-described example.

관련해서, 전술한 바와 같이 데이터 영역(211)을 구성하는 '5'개의 열들 각각에 삽입되어 있는 데이터들(212, 213, 214, 215, 216, 217, 218, 219, 220, 221)이 도면부호 230과 같이 제1 테이블(230)을 구성하는 나머지 '5'개의 행들(232) 중 대응되는 순번의 행에 레코드로 삽입된 이후, 상기 사용자에 의해 상기 '4'개의 필드들 중 제1 필드(311)에 속하는 제1 빈셀(312)에 '7'이 삽입되었다고 가정하면, 속성 확인부(125)는 '7'에 대한 데이터 속성을 '숫자'로 확인할 수 있다.In relation to this, the data 212, 213, 214, 215, 216, 217, 218, 219, 220, 221 inserted into each of the '5' columns constituting the data area 211 as described above are shown in the figure. After being inserted as a record into a row of the corresponding sequence number among the remaining '5' rows 232 constituting the first table 230 as indicated by reference numeral 230, the first field of the '4' fields by the user Assuming that '7' is inserted into the first empty cell 312 belonging to 311 , the attribute check unit 125 may check the data attribute for '7' as a 'number'.

필드 확인부(126)는 도면부호 230과 같이 '7'에 대한 데이터 속성인 '숫자'가 상기 '4'개의 데이터 속성들 중 제1 필드(311)에 매칭되어 있는 데이터 속성인 '시간'과 일치하지 않는 것으로 확인되면, 상기 '4'개의 필드들 중 '7'에 대한 데이터 속성인 '숫자'가 매칭되어 있는 필드(313)를 확인할 수 있다.The field check unit 126, as shown in reference numeral 230, 'number', which is the data attribute for '7', matches the first field 311 among the '4' data attributes, 'time', and If it is confirmed that they do not match, the field 313 in which the 'number', which is the data attribute of '7', is matched among the '4' fields may be identified.

그리고, 셀 확인부(127)는 '숫자'가 매칭되어 있는 필드(313)에서 제1 빈셀(312)의 행과 동일한 행에 대응되는 셀(314)에 데이터가 삽입되어 있는지 확인할 수 있다.In addition, the cell check unit 127 may check whether data is inserted into the cell 314 corresponding to the same row as the row of the first empty cell 312 in the field 313 to which the 'number' is matched.

이때, 도면부호 230과 같이 '숫자'가 매칭되어 있는 필드(313)에서 제1 빈셀(312)의 행과 동일한 행에 대응되는 셀(314)에 '4'라는 데이터가 삽입되어 있다면, 데이터 이동부(128)는 제1 빈셀(312)에 삽입되어 있는 '7'을 그대로 유지할 수 있다.At this time, if data '4' is inserted into the cell 314 corresponding to the same row as the row of the first empty cell 312 in the field 313 to which the 'number' is matched as shown by reference numeral 230, data movement The unit 128 may maintain the '7' inserted into the first empty cell 312 as it is.

만약, 상기 사용자에 의해 상기 '4'개의 필드들 중 제1 필드(311)에 속하는 제1 빈셀(312)에 '바'가 삽입되었다고 가정하면, 속성 확인부(125)는 '바'에 대한 데이터 속성을 '텍스트'로 확인할 수 있고, 필드 확인부(126)는 도면부호 230과 같이 '바'에 대한 데이터 속성인 '텍스트'가 제1 필드(311)에 매칭되어 있는 데이터 속성인 '시간'과 일치하지 않는 것으로 확인되는 경우, 상기 '4'개의 필드들 중 '바'에 대한 데이터 속성인 '텍스트'가 매칭되어 있는 필드(315)를 확인할 수 있다.If it is assumed that a 'bar' is inserted into the first empty cell 312 belonging to the first field 311 among the '4' fields by the user, the attribute check unit 125 determines the value of the 'bar'. The data attribute can be checked as 'text', and the field check unit 126, as shown in reference numeral 230, is a data attribute 'time' in which 'text', which is the data attribute for 'bar', is matched to the first field 311 . ', the field 315 in which 'text', which is a data attribute of 'bar', is matched among the '4' fields may be identified.

그러면, 셀 확인부(127)는 '텍스트'가 매칭되어 있는 필드(315)에서 제1 빈셀(312)의 행과 동일한 행에 대응되는 셀(316)에 데이터가 삽입되어 있는지 확인할 수 있다.Then, the cell check unit 127 may check whether data is inserted in the cell 316 corresponding to the same row as the row of the first empty cell 312 in the field 315 to which 'text' is matched.

이때, 도면부호 230과 같이 '텍스트'가 매칭되어 있는 필드(315)에서 제1 빈셀(312)의 행과 동일한 행에 대응되는 셀(316)에 데이터가 삽입되어 있지 않다면, 데이터 이동부(128)는 제1 빈셀(312)에 삽입되어 있는 '바'를 셀(316)로 이동시킬 수 있다.At this time, if data is not inserted into the cell 316 corresponding to the same row as the row of the first empty cell 312 in the field 315 where 'text' is matched as shown by reference numeral 230, the data moving unit 128 ) may move the 'bar' inserted in the first empty cell 312 to the cell 316 .

즉, 문서 편집 장치(110)는 속성 확인부(125), 필드 확인부(126), 셀 확인부(127) 및 데이터 이동부(128)의 동작을 통해, 상기 제1 테이블에 새로운 데이터가 추가되는 경우에도 데이터 속성 기반의 분류 체계를 유지할 수 있도록 지원할 수 있다.That is, the document editing apparatus 110 adds new data to the first table through the operation of the attribute checker 125 , the field checker 126 , the cell checker 127 , and the data mover 128 . Even if it is, it can support to maintain the classification system based on data properties.

도 4는 본 발명의 일실시예에 따른 데이터 속성을 기초로 스프레드시트에서 지정된 영역에 대응되는 테이블을 자동으로 생성할 수 있는 문서 편집 장치의 동작 방법을 도시한 순서도이다.4 is a flowchart illustrating an operating method of a document editing apparatus capable of automatically generating a table corresponding to a specified area in a spreadsheet based on data properties according to an embodiment of the present invention.

단계(S410)에서는 사용자에 의해 스프레드시트에서 n개의 열들로 구성된 데이터 영역(상기 데이터 영역을 구성하는 n개의 열들 각각에는 서로 다른 데이터 속성을 갖는 데이터들이 삽입되어 있음)이 지정되면서, 상기 데이터 영역에 대한 데이터 속성 기반의 자동 테이블 생성 명령이 인가되면, 상기 데이터 영역을 구성하는 n개의 열들 각각에 대해, 각 열에 삽입되어 있는 데이터들 각각의 데이터 속성을 확인한다.In step S410, a data area composed of n columns (data having different data properties are inserted into each of the n columns constituting the data area) is designated in the spreadsheet by the user, and the data area is When an automatic table creation command based on data properties for a data property is applied, for each of the n columns constituting the data area, the data properties of each data inserted into each column are checked.

단계(S420)에서는 상기 데이터 영역을 구성하는 n개의 열들 각각에 삽입된 데이터들에 대한 데이터 속성을 확인한 결과, 상기 데이터 영역에 미리 정해진 서로 다른 t개의 데이터 속성들 중 k개의 서로 다른 데이터 속성들이 존재하는 것으로 확인되면, k개의 열들과 n+1개의 행들로 구성된 제1 테이블을 생성한다.In step S420, as a result of checking the data properties of the data inserted into each of the n columns constituting the data area, k different data properties among the t different predetermined data properties in the data area exist. If it is confirmed that this is, a first table composed of k columns and n+1 rows is created.

단계(S430)에서는 상기 제1 테이블을 구성하는 k개의 열들 각각을 상기 k개의 데이터 속성들 각각에 대응되는 데이터의 삽입을 위한 필드로 하나씩 지정함으로써, k개의 필드들을 생성하고, 상기 제1 테이블을 구성하는 n+1개의 행들 중 첫 번째 행을 구성하는 k개의 셀들 각각에 대해 상기 데이터 영역에서 확인된 k개의 데이터 속성들을 필드명으로 하나씩 삽입한 후 상기 제1 테이블을 구성하는 n+1개의 행들 중 상기 첫 번째 행을 제외한 나머지 n개의 행들을 레코드가 삽입될 영역으로 지정한다.In step S430, k fields are created by designating each of k columns constituting the first table as a field for data insertion corresponding to each of the k data attributes, and the first table is created n+1 rows constituting the first table after inserting k data attributes identified in the data area as field names for each of k cells constituting the first row among n+1 rows constituting the first table Among them, the remaining n rows except for the first row are designated as regions into which records are to be inserted.

단계(S440)에서는 상기 데이터 영역을 구성하는 n개의 열들 각각에 삽입되어 있는 데이터들을 데이터 속성에 따라 상기 k개의 필드들 중 대응되는 필드에 매칭시키고, 상기 데이터 영역을 구성하는 n개의 열들과 상기 제1 테이블을 구성하는 나머지 n개의 행들을 동일 순번끼리 매칭시킴으로써, 상기 데이터 영역을 구성하는 n개의 열들 각각에 삽입되어 있는 데이터들을 상기 제1 테이블을 구성하는 나머지 n개의 행들 중 대응되는 순번의 행에 레코드로 삽입한다.In step S440, data inserted into each of the n columns constituting the data area is matched with a corresponding field among the k fields according to data properties, and the n columns constituting the data area and the By matching the remaining n rows constituting one table with the same order number, data inserted into each of the n columns constituting the data area is assigned to a row of the corresponding order among the remaining n rows constituting the first table. insert into record

이때, 본 발명의 일실시예에 따르면, 상기 문서 편집 장치의 동작 방법은 상기 데이터 영역을 구성하는 n개의 열들 각각에 삽입되어 있는 데이터들이 상기 제1 테이블을 구성하는 나머지 n개의 행들 중 대응되는 순번의 행에 레코드로 삽입되는 경우, 상기 제1 테이블을 구성하는 상기 k개의 필드들 각각에 대해, 상기 k개의 필드들 각각을 구성하는 n개의 셀들 중 데이터가 삽입되어 있지 않은 빈셀 수를 카운트하는 단계 및 상기 k개의 필드들 각각에 대한 빈셀 수가 카운트되면, 상기 제1 테이블에서 상기 k개의 필드들을 상기 k개의 필드들 각각에 대한 빈셀 수를 기초로 내림차순으로 정렬하는 단계를 더 포함할 수 있다.In this case, according to an embodiment of the present invention, in the method of operating the document editing apparatus, data inserted into each of the n columns constituting the data area corresponds to a corresponding sequence number among the remaining n rows constituting the first table. counting, for each of the k fields constituting the first table, the number of empty cells in which data is not inserted among n cells constituting each of the k fields when inserted as a record in a row of and when the number of empty cells for each of the k fields is counted, arranging the k fields in the first table in descending order based on the number of empty cells for each of the k fields.

이때, 본 발명의 일실시예에 따르면, 상기 k개의 필드들 각각에 대한 빈셀 수를 기초로 내림차순으로 정렬하는 단계는 상기 t개의 데이터 속성들 간의 미리 정해진 우선순위가 저장되어 있는 우선순위 저장부를 유지하는 단계 및 상기 k개의 필드들 각각에 대한 빈셀 수가 카운트되면, 상기 제1 테이블에서 상기 k개의 필드들을 상기 k개의 필드들 각각에 대한 빈셀 수를 기초로 내림차순으로 정렬하되, 상기 k개의 필드들 중 빈셀 수가 서로 동일하게 카운트된 필드 간에는 상기 우선순위 저장부를 참조하여 각 필드에 매칭된 데이터 속성에 대응되는 우선순위에 따라 정렬하는 단계를 포함할 수 있다.In this case, according to an embodiment of the present invention, the step of sorting in descending order based on the number of empty cells for each of the k fields maintains a priority storage unit in which a predetermined priority among the t data attributes is stored. and when the number of empty cells for each of the k fields is counted, sorting the k fields in the first table in descending order based on the number of empty cells for each of the k fields, The method may include arranging fields in which the number of empty cells are counted equally according to a priority corresponding to a data attribute matched to each field by referring to the priority storage unit.

본 발명의 일실시예에 따르면, 상기 문서 편집 장치의 동작 방법은 테이블에 적용될 수 있는 것으로 미리 정해진 서로 다른 복수의 템플릿들과 상기 복수의 템플릿들 각각에 대응되는 미리 정해진 t차원의 기준 벡터가 저장되어 있는 템플릿 저장부를 유지하는 단계, 상기 t개의 데이터 속성들과 상기 t개의 데이터 속성들 각각에 대응되는 미리 정해진 서로 다른 고유 번호가 저장되어 있는 고유 번호 저장부를 유지하는 단계, 상기 k개의 필드들에 대한 정렬이 완료되는 경우, 상기 템플릿 저장부를 참조하여 상기 복수의 템플릿들 각각에 대응되는 t차원의 기준 벡터를 k차원의 기준 벡터(상기 k차원의 기준 벡터는 상기 t차원의 기준 벡터를 구성하는 t개의 성분들 중 첫 번째 성분을 기준으로 순차적으로 선택된 k개의 성분들 각각을 성분으로 갖는 벡터임)로 변환함으로써, 상기 복수의 템플릿들 각각에 대응되는 k차원의 기준 벡터를 생성하는 단계, 상기 k개의 필드들이 정렬되어 있는 순서를 기초로 상기 고유 번호 저장부를 참조하여 상기 k개의 필드들 각각에 대해 매칭된 데이터 속성에 대응되는 고유 번호를 성분으로 갖는 k차원의 특성 벡터를 생성하는 단계, 상기 복수의 템플릿들 각각에 대응되는 k차원의 기준 벡터와 상기 k차원의 특성 벡터 간의 유클리드 거리를 연산하는 단계 및 상기 복수의 템플릿들 중 상기 k차원의 특성 벡터와의 유클리드 거리가 최소로 연산된 k차원의 기준 벡터를 갖는 제1 템플릿을 추출한 후 상기 제1 템플릿을 상기 제1 테이블에 적용하는 단계를 더 포함할 수 있다.According to an embodiment of the present invention, in the method of operating the document editing apparatus, a plurality of different templates that are predetermined to be applicable to a table and a predetermined t-dimensional reference vector corresponding to each of the plurality of templates are stored. Maintaining a template storage unit in which the t data attributes and a unique number storage unit in which predetermined different unique numbers corresponding to each of the t data attributes are stored, in the k fields When the alignment is completed, referring to the template storage unit, a t-dimensional reference vector corresponding to each of the plurality of templates is set as a k-dimensional reference vector (the k-dimensional reference vector constitutes the t-dimensional reference vector) generating a k-dimensional reference vector corresponding to each of the plurality of templates by converting a vector having each of the k components sequentially selected based on the first component among the t components as a component); generating a k-dimensional feature vector having a unique number corresponding to a data attribute matched for each of the k fields as a component with reference to the unique number storage unit based on the order in which the k fields are sorted; calculating a Euclidean distance between a k-dimensional reference vector corresponding to each of a plurality of templates and the k-dimensional feature vector, and k at which the Euclidean distance from the k-dimensional feature vector among the plurality of templates is calculated as a minimum The method may further include extracting a first template having a dimensional reference vector and then applying the first template to the first table.

또한, 본 발명의 일실시예에 따르면, 상기 문서 편집 장치의 동작 방법은 상기 데이터 영역을 구성하는 n개의 열들 각각에 삽입되어 있는 데이터들이 상기 제1 테이블을 구성하는 나머지 n개의 행들 중 대응되는 순번의 행에 레코드로 삽입된 이후, 상기 사용자에 의해 상기 k개의 필드들 중 제1 필드에 속하는 제1 빈셀에 제1 데이터가 삽입되는 경우, 상기 제1 데이터에 대한 데이터 속성을 확인하는 단계, 상기 제1 데이터에 대한 데이터 속성이 상기 k개의 데이터 속성들 중 상기 제1 필드에 매칭되어 있는 데이터 속성과 일치하지 않는 것으로 확인되면, 상기 k개의 필드들 중 상기 제1 데이터에 대한 데이터 속성이 매칭되어 있는 제2 필드를 확인하는 단계, 상기 제2 필드에서 상기 제1 빈셀의 행과 동일한 행에 대응되는 제1 셀에 데이터가 삽입되어 있는지 확인하는 단계 및 상기 제1 셀에 데이터가 삽입되어 있는 경우, 상기 제1 빈셀에 삽입되어 있는 상기 제1 데이터를 유지하고, 상기 제1 셀에 데이터가 삽입되어 있지 않은 경우, 상기 제1 데이터를 상기 제1 셀로 이동시키는 단계를 더 포함할 수 있다.In addition, according to an embodiment of the present invention, in the method of operating the document editing apparatus, data inserted into each of the n columns constituting the data area corresponds to a corresponding sequence number among the remaining n rows constituting the first table. checking a data attribute of the first data when first data is inserted into a first empty cell belonging to a first field among the k fields by the user after being inserted as a record in a row of If it is confirmed that the data attribute for the first data does not match the data attribute matched to the first field among the k data attributes, the data attribute for the first data among the k fields is matched confirming that there is a second field, checking whether data is inserted into a first cell corresponding to the same row as the row of the first empty cell in the second field, and when data is inserted into the first cell , maintaining the first data inserted in the first empty cell, and moving the first data to the first cell when no data is inserted in the first cell.

이상, 도 4를 참조하여 본 발명의 일실시예에 따른 데이터 속성을 기초로 스프레드시트에서 지정된 영역에 대응되는 테이블을 자동으로 생성할 수 있는 문서 편집 장치의 동작 방법에 대해 설명하였다. 여기서, 본 발명의 일실시예에 따른 데이터 속성을 기초로 스프레드시트에서 지정된 영역에 대응되는 테이블을 자동으로 생성할 수 있는 문서 편집 장치의 동작 방법은 도 1 내지 도 3을 이용하여 설명한 데이터 속성을 기초로 스프레드시트에서 지정된 영역에 대응되는 테이블을 자동으로 생성할 수 있는 문서 편집 장치(110)의 동작에 대한 구성과 대응될 수 있으므로, 이에 대한 보다 상세한 설명은 생략하기로 한다.The operation method of the document editing apparatus capable of automatically generating a table corresponding to a specified area in a spreadsheet based on data properties according to an embodiment of the present invention has been described with reference to FIG. 4 . Here, the operating method of the document editing apparatus capable of automatically generating a table corresponding to a specified area in a spreadsheet based on data properties according to an embodiment of the present invention is the data property described with reference to FIGS. 1 to 3 . Since it may correspond to the configuration of the operation of the document editing apparatus 110 capable of automatically generating a table corresponding to a designated area in the spreadsheet based on the configuration, a more detailed description thereof will be omitted.

본 발명의 일실시예에 따른 데이터 속성을 기초로 스프레드시트에서 지정된 영역에 대응되는 테이블을 자동으로 생성할 수 있는 문서 편집 장치의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다.A method of operating a document editing apparatus capable of automatically generating a table corresponding to a specified area in a spreadsheet based on data properties according to an embodiment of the present invention is a computer stored in a storage medium for execution through combination with a computer. It can be implemented as a program.

또한, 본 발명의 일실시예에 따른 데이터 속성을 기초로 스프레드시트에서 지정된 영역에 대응되는 테이블을 자동으로 생성할 수 있는 문서 편집 장치의 동작 방법은 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. In addition, the operating method of the document editing apparatus capable of automatically generating a table corresponding to a specified area in a spreadsheet based on data properties according to an embodiment of the present invention is a computer program command for executing through combination with a computer. It may be implemented in a form and recorded on a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc. alone or in combination. The program instructions recorded on the medium may be specially designed and configured for the present invention, or may be known and available to those skilled in the art of computer software. Examples of the computer-readable recording medium include magnetic media such as hard disks, floppy disks and magnetic tapes, optical media such as CD-ROMs and DVDs, and magnetic media such as floppy disks. - includes magneto-optical media, and hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine language codes such as those generated by a compiler, but also high-level language codes that can be executed by a computer using an interpreter or the like.

이상과 같이 본 발명에서는 구체적인 구성 요소 등과 같은 특정 사항들과 한정된 실시예 및 도면에 의해 설명되었으나 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상적인 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. As described above, in the present invention, specific matters such as specific components, etc., and limited embodiments and drawings have been described, but these are only provided to help a more general understanding of the present invention, and the present invention is not limited to the above embodiments. , various modifications and variations are possible from these descriptions by those of ordinary skill in the art to which the present invention pertains.

따라서, 본 발명의 사상은 설명된 실시예에 국한되어 정해져서는 아니되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등하거나 등가적 변형이 있는 모든 것들은 본 발명 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be limited to the described embodiments, and not only the claims described below, but also all of the claims and all equivalents or equivalent modifications to the claims will be said to belong to the scope of the spirit of the present invention. .

110: 데이터 속성을 기초로 스프레드시트에서 지정된 영역에 대응되는 테이블을 자동으로 생성할 수 있는 문서 편집 장치
111: 데이터 속성 확인부 112: 테이블 생성부
113: 레코드 영역 지정부 114: 데이터 삽입부
115: 카운트부 116: 필드 정렬부
117: 우선순위 저장부 118: 필드 정렬 처리부
119: 템플릿 저장부 120: 고유 번호 저장부
121: 기준 벡터 생성부 122: 특성 벡터 생성부
123: 유클리드 거리 연산부 124: 템플릿 적용부
125: 속성 확인부 126: 필드 확인부
127: 셀 확인부 128: 데이터 이동부
110: A document editing device capable of automatically generating a table corresponding to a specified area in a spreadsheet based on data properties
111: data attribute check unit 112: table creation unit
113: record area designation unit 114: data insertion unit
115: count unit 116: field alignment unit
117: priority storage unit 118: field sort processing unit
119: template storage 120: unique number storage
121: reference vector generator 122: feature vector generator
123: Euclidean distance calculation unit 124: template application unit
125: attribute verification unit 126: field verification unit
127: cell check unit 128: data transfer unit

Claims (12)

사용자에 의해 스프레드시트에서 n(n은 2이상의 자연수임)개의 열들로 구성된 데이터 영역 - 상기 데이터 영역을 구성하는 n개의 열들 각각에는 서로 다른 데이터 속성을 갖는 데이터들이 삽입되어 있음 - 이 지정되면서, 상기 데이터 영역에 대한 데이터 속성 기반의 자동 테이블 생성 명령이 인가되면, 상기 데이터 영역을 구성하는 n개의 열들 각각에 대해, 각 열에 삽입되어 있는 데이터들 각각의 데이터 속성을 확인하는 데이터 속성 확인부;
상기 데이터 영역을 구성하는 n개의 열들 각각에 삽입된 데이터들에 대한 데이터 속성을 확인한 결과, 상기 데이터 영역에 미리 정해진 서로 다른 t(t는 2이상의 자연수임)개의 데이터 속성들 중 k(k는 2이상의 자연수로 t이하의 크기를 가짐)개의 서로 다른 데이터 속성들이 존재하는 것으로 확인되면, k개의 열들과 n+1개의 행들로 구성된 제1 테이블을 생성하는 테이블 생성부;
상기 제1 테이블을 구성하는 k개의 열들 각각을 상기 k개의 데이터 속성들 각각에 대응되는 데이터의 삽입을 위한 필드로 하나씩 지정함으로써, k개의 필드들을 생성하고, 상기 제1 테이블을 구성하는 n+1개의 행들 중 첫 번째 행을 구성하는 k개의 셀들 각각에 대해 상기 데이터 영역에서 확인된 k개의 데이터 속성들을 필드명으로 하나씩 삽입한 후 상기 제1 테이블을 구성하는 n+1개의 행들 중 상기 첫 번째 행을 제외한 나머지 n개의 행들을 레코드가 삽입될 영역으로 지정하는 레코드 영역 지정부; 및
상기 데이터 영역을 구성하는 n개의 열들 각각에 삽입되어 있는 데이터들을 데이터 속성에 따라 상기 k개의 필드들 중 대응되는 필드에 매칭시키고, 상기 데이터 영역을 구성하는 n개의 열들과 상기 제1 테이블을 구성하는 나머지 n개의 행들을 동일 순번끼리 매칭시킴으로써, 상기 데이터 영역을 구성하는 n개의 열들 각각에 삽입되어 있는 데이터들을 상기 제1 테이블을 구성하는 나머지 n개의 행들 중 대응되는 순번의 행에 레코드로 삽입하는 데이터 삽입부
를 포함하는 데이터 속성을 기초로 스프레드시트에서 지정된 영역에 대응되는 테이블을 자동으로 생성할 수 있는 문서 편집 장치.
A data area composed of n (n is a natural number greater than or equal to 2) columns in the spreadsheet is designated by a user, in which data having different data properties is inserted into each of the n columns constituting the data area. a data property checking unit that, for each of the n columns constituting the data area, checks the data properties of each data inserted into each column when a data property-based automatic table creation command for the data area is applied;
As a result of checking the data properties of the data inserted into each of the n columns constituting the data area, k (k is 2) among different t (t is a natural number equal to or greater than 2) predetermined data properties in the data area a table generating unit that generates a first table composed of k columns and n+1 rows when it is confirmed that there are different data attributes (having a size less than or equal to t as a natural number greater than or equal to t);
By designating each of k columns constituting the first table as a field for data insertion corresponding to each of the k data attributes, k fields are generated and n+1 constituting the first table After inserting the k data attributes identified in the data area as field names for each of the k cells constituting the first row among the number of rows, the first row among the n+1 rows constituting the first table a record area designation unit for designating the remaining n rows except for n as areas into which records are to be inserted; and
Matching data inserted into each of the n columns constituting the data area to a corresponding field among the k fields according to data properties, composing the n columns constituting the data area and the first table By matching the remaining n rows with the same sequence number, data inserted into each of the n columns constituting the data area is inserted as a record into a row of the corresponding sequence number among the remaining n rows constituting the first table. insert
A document editing device capable of automatically generating a table corresponding to a specified area in a spreadsheet based on data properties containing
제1항에 있어서,
상기 데이터 영역을 구성하는 n개의 열들 각각에 삽입되어 있는 데이터들이 상기 제1 테이블을 구성하는 나머지 n개의 행들 중 대응되는 순번의 행에 레코드로 삽입되면, 상기 제1 테이블을 구성하는 상기 k개의 필드들 각각에 대해, 상기 k개의 필드들 각각을 구성하는 n개의 셀들 중 데이터가 삽입되어 있지 않은 빈셀 수를 카운트하는 카운트부; 및
상기 k개의 필드들 각각에 대한 빈셀 수가 카운트되면, 상기 제1 테이블에서 상기 k개의 필드들을 상기 k개의 필드들 각각에 대한 빈셀 수를 기초로 내림차순으로 정렬하는 필드 정렬부
를 더 포함하는 데이터 속성을 기초로 스프레드시트에서 지정된 영역에 대응되는 테이블을 자동으로 생성할 수 있는 문서 편집 장치.
According to claim 1,
When data inserted into each of the n columns constituting the data area is inserted as a record into a corresponding row among the remaining n rows constituting the first table, the k fields constituting the first table a count unit for counting the number of empty cells into which data is not inserted among n cells constituting each of the k fields; and
When the number of empty cells for each of the k fields is counted, the field sorter arranges the k fields in the first table in descending order based on the number of empty cells for each of the k fields.
A document editing device capable of automatically generating a table corresponding to a specified area in a spreadsheet based on data properties further comprising a.
제2항에 있어서,
상기 필드 정렬부는
상기 t개의 데이터 속성들 간의 미리 정해진 우선순위가 저장되어 있는 우선순위 저장부; 및
상기 k개의 필드들 각각에 대한 빈셀 수가 카운트되면, 상기 제1 테이블에서 상기 k개의 필드들을 상기 k개의 필드들 각각에 대한 빈셀 수를 기초로 내림차순으로 정렬하되, 상기 k개의 필드들 중 빈셀 수가 서로 동일하게 카운트된 필드 간에는 상기 우선순위 저장부를 참조하여 각 필드에 매칭된 데이터 속성에 대응되는 우선순위에 따라 정렬하는 필드 정렬 처리부
를 포함하는 데이터 속성을 기초로 스프레드시트에서 지정된 영역에 대응되는 테이블을 자동으로 생성할 수 있는 문서 편집 장치.
3. The method of claim 2,
The field alignment unit
a priority storage unit storing predetermined priorities among the t data attributes; and
When the number of empty cells for each of the k fields is counted, the k fields are arranged in descending order based on the number of empty cells for each of the k fields in the first table, and the number of empty cells among the k fields is mutually exclusive. A field sorting processing unit that sorts according to the priority corresponding to the data attribute matched to each field with reference to the priority storage unit among the fields counted equally
A document editing device capable of automatically generating a table corresponding to a specified area in a spreadsheet based on data properties containing
제3항에 있어서,
테이블에 적용될 수 있는 것으로 미리 정해진 서로 다른 복수의 템플릿들과 상기 복수의 템플릿들 각각에 대응되는 미리 정해진 t차원의 기준 벡터가 저장되어 있는 템플릿 저장부;
상기 t개의 데이터 속성들과 상기 t개의 데이터 속성들 각각에 대응되는 미리 정해진 서로 다른 고유 번호가 저장되어 있는 고유 번호 저장부;
상기 k개의 필드들에 대한 정렬이 완료되면, 상기 템플릿 저장부를 참조하여 상기 복수의 템플릿들 각각에 대응되는 t차원의 기준 벡터를 k차원의 기준 벡터 - 상기 k차원의 기준 벡터는 상기 t차원의 기준 벡터를 구성하는 t개의 성분들 중 첫 번째 성분을 기준으로 순차적으로 선택된 k개의 성분들 각각을 성분으로 갖는 벡터임 - 로 변환함으로써, 상기 복수의 템플릿들 각각에 대응되는 k차원의 기준 벡터를 생성하는 기준 벡터 생성부;
상기 k개의 필드들이 정렬되어 있는 순서를 기초로 상기 고유 번호 저장부를 참조하여 상기 k개의 필드들 각각에 대해 매칭된 데이터 속성에 대응되는 고유 번호를 성분으로 갖는 k차원의 특성 벡터를 생성하는 특성 벡터 생성부;
상기 복수의 템플릿들 각각에 대응되는 k차원의 기준 벡터와 상기 k차원의 특성 벡터 간의 유클리드 거리(Euclidean Distance)를 연산하는 유클리드 거리 연산부; 및
상기 복수의 템플릿들 중 상기 k차원의 특성 벡터와의 유클리드 거리가 최소로 연산된 k차원의 기준 벡터를 갖는 제1 템플릿을 추출한 후 상기 제1 템플릿을 상기 제1 테이블에 적용하는 템플릿 적용부
를 더 포함하는 데이터 속성을 기초로 스프레드시트에서 지정된 영역에 대응되는 테이블을 자동으로 생성할 수 있는 문서 편집 장치.
4. The method of claim 3,
a template storage unit storing a plurality of different templates that can be applied to a table and a predetermined t-dimensional reference vector corresponding to each of the plurality of templates;
a unique number storage unit storing the t data attributes and different predetermined unique numbers corresponding to each of the t data attributes;
When the alignment of the k fields is completed, a t-dimensional reference vector corresponding to each of the plurality of templates is set as a k-dimensional reference vector - the k-dimensional reference vector is the t-dimensional reference vector with reference to the template storage unit. A k-dimensional reference vector corresponding to each of the plurality of templates is obtained by transforming into a vector having, as a component, each of k components sequentially selected based on the first component among the t components constituting the reference vector. a reference vector generator to generate;
A feature vector for generating a k-dimensional feature vector having a unique number corresponding to a data attribute matched for each of the k fields as a component with reference to the unique number storage unit based on the order in which the k fields are sorted generator;
a Euclidean distance calculator for calculating a Euclidean distance between a k-dimensional reference vector corresponding to each of the plurality of templates and the k-dimensional feature vector; and
A template application unit that extracts a first template having a k-dimensional reference vector in which the Euclidean distance to the k-dimensional characteristic vector is calculated as a minimum from among the plurality of templates and applies the first template to the first table
A document editing device capable of automatically generating a table corresponding to a specified area in a spreadsheet based on data properties further comprising a.
제1항에 있어서,
상기 데이터 영역을 구성하는 n개의 열들 각각에 삽입되어 있는 데이터들이 상기 제1 테이블을 구성하는 나머지 n개의 행들 중 대응되는 순번의 행에 레코드로 삽입된 이후, 상기 사용자에 의해 상기 k개의 필드들 중 제1 필드에 속하는 제1 빈셀에 제1 데이터가 삽입되는 경우, 상기 제1 데이터에 대한 데이터 속성을 확인하는 속성 확인부;
상기 제1 데이터에 대한 데이터 속성이 상기 k개의 데이터 속성들 중 상기 제1 필드에 매칭되어 있는 데이터 속성과 일치하지 않는 것으로 확인되면, 상기 k개의 필드들 중 상기 제1 데이터에 대한 데이터 속성이 매칭되어 있는 제2 필드를 확인하는 필드 확인부;
상기 제2 필드에서 상기 제1 빈셀의 행과 동일한 행에 대응되는 제1 셀에 데이터가 삽입되어 있는지 확인하는 셀 확인부; 및
상기 제1 셀에 데이터가 삽입되어 있는 경우, 상기 제1 빈셀에 삽입되어 있는 상기 제1 데이터를 유지하고, 상기 제1 셀에 데이터가 삽입되어 있지 않은 경우, 상기 제1 데이터를 상기 제1 셀로 이동시키는 데이터 이동부
를 더 포함하는 데이터 속성을 기초로 스프레드시트에서 지정된 영역에 대응되는 테이블을 자동으로 생성할 수 있는 문서 편집 장치.
According to claim 1,
After data inserted into each of the n columns constituting the data area is inserted as a record into a corresponding row of the remaining n rows constituting the first table, the user selects one of the k fields a property checking unit configured to check a data property of the first data when first data is inserted into a first empty cell belonging to a first field;
If it is determined that the data attribute of the first data does not match the data attribute matched to the first field among the k data attributes, the data attribute of the first data among the k fields is matched a field check unit for checking the second field;
a cell check unit for checking whether data is inserted into a first cell corresponding to the same row as that of the first empty cell in the second field; and
When data is inserted into the first cell, the first data inserted into the first empty cell is maintained, and when data is not inserted into the first cell, the first data is transferred to the first cell data moving unit
A document editing device capable of automatically generating a table corresponding to a specified area in a spreadsheet based on data properties further comprising a.
사용자에 의해 스프레드시트에서 n(n은 2이상의 자연수임)개의 열들로 구성된 데이터 영역 - 상기 데이터 영역을 구성하는 n개의 열들 각각에는 서로 다른 데이터 속성을 갖는 데이터들이 삽입되어 있음 - 이 지정되면서, 상기 데이터 영역에 대한 데이터 속성 기반의 자동 테이블 생성 명령이 인가되면, 상기 데이터 영역을 구성하는 n개의 열들 각각에 대해, 각 열에 삽입되어 있는 데이터들 각각의 데이터 속성을 확인하는 단계;
상기 데이터 영역을 구성하는 n개의 열들 각각에 삽입된 데이터들에 대한 데이터 속성을 확인한 결과, 상기 데이터 영역에 미리 정해진 서로 다른 t(t는 2이상의 자연수임)개의 데이터 속성들 중 k(k는 2이상의 자연수로 t이하의 크기를 가짐)개의 서로 다른 데이터 속성들이 존재하는 것으로 확인되면, k개의 열들과 n+1개의 행들로 구성된 제1 테이블을 생성하는 단계;
상기 제1 테이블을 구성하는 k개의 열들 각각을 상기 k개의 데이터 속성들 각각에 대응되는 데이터의 삽입을 위한 필드로 하나씩 지정함으로써, k개의 필드들을 생성하고, 상기 제1 테이블을 구성하는 n+1개의 행들 중 첫 번째 행을 구성하는 k개의 셀들 각각에 대해 상기 데이터 영역에서 확인된 k개의 데이터 속성들을 필드명으로 하나씩 삽입한 후 상기 제1 테이블을 구성하는 n+1개의 행들 중 상기 첫 번째 행을 제외한 나머지 n개의 행들을 레코드가 삽입될 영역으로 지정하는 단계; 및
상기 데이터 영역을 구성하는 n개의 열들 각각에 삽입되어 있는 데이터들을 데이터 속성에 따라 상기 k개의 필드들 중 대응되는 필드에 매칭시키고, 상기 데이터 영역을 구성하는 n개의 열들과 상기 제1 테이블을 구성하는 나머지 n개의 행들을 동일 순번끼리 매칭시킴으로써, 상기 데이터 영역을 구성하는 n개의 열들 각각에 삽입되어 있는 데이터들을 상기 제1 테이블을 구성하는 나머지 n개의 행들 중 대응되는 순번의 행에 레코드로 삽입하는 단계
를 포함하는 데이터 속성을 기초로 스프레드시트에서 지정된 영역에 대응되는 테이블을 자동으로 생성할 수 있는 문서 편집 장치의 동작 방법.
A data area composed of n (n is a natural number greater than or equal to 2) columns in the spreadsheet is designated by a user, in which data having different data properties is inserted into each of the n columns constituting the data area. when a data attribute-based automatic table creation command for the data region is applied, for each of the n columns constituting the data region, checking the data attribute of each data inserted into each column;
As a result of checking the data properties of the data inserted into each of the n columns constituting the data area, k (k is 2) among different t (t is a natural number equal to or greater than 2) predetermined data properties in the data area generating a first table composed of k columns and n+1 rows when it is confirmed that there are different data attributes (having a size less than or equal to t);
By designating each of k columns constituting the first table as a field for data insertion corresponding to each of the k data attributes, k fields are generated and n+1 constituting the first table After inserting the k data attributes identified in the data area as field names for each of the k cells constituting the first row among the number of rows, the first row among the n+1 rows constituting the first table designating the remaining n rows except for n as regions into which records are to be inserted; and
Matching data inserted into each of the n columns constituting the data area to a corresponding field among the k fields according to data properties, composing the n columns constituting the data area and the first table inserting the data inserted into each of the n columns constituting the data area as records into the row of the corresponding order among the remaining n rows constituting the first table by matching the remaining n rows with the same order number;
A method of operation of a document editing device capable of automatically generating a table corresponding to a specified area in a spreadsheet based on data properties including
제6항에 있어서,
상기 데이터 영역을 구성하는 n개의 열들 각각에 삽입되어 있는 데이터들이 상기 제1 테이블을 구성하는 나머지 n개의 행들 중 대응되는 순번의 행에 레코드로 삽입되면, 상기 제1 테이블을 구성하는 상기 k개의 필드들 각각에 대해, 상기 k개의 필드들 각각을 구성하는 n개의 셀들 중 데이터가 삽입되어 있지 않은 빈셀 수를 카운트하는 단계; 및
상기 k개의 필드들 각각에 대한 빈셀 수가 카운트되면, 상기 제1 테이블에서 상기 k개의 필드들을 상기 k개의 필드들 각각에 대한 빈셀 수를 기초로 내림차순으로 정렬하는 단계
를 더 포함하는 데이터 속성을 기초로 스프레드시트에서 지정된 영역에 대응되는 테이블을 자동으로 생성할 수 있는 문서 편집 장치의 동작 방법.
7. The method of claim 6,
When data inserted into each of the n columns constituting the data area is inserted as a record into a corresponding row among the remaining n rows constituting the first table, the k fields constituting the first table counting the number of empty cells into which data is not inserted among n cells constituting each of the k fields for each of the fields; and
When the number of empty cells for each of the k fields is counted, sorting the k fields in the first table in descending order based on the number of empty cells for each of the k fields;
An operating method of a document editing device capable of automatically generating a table corresponding to a specified area in a spreadsheet based on data properties further comprising a.
제7항에 있어서,
상기 k개의 필드들 각각에 대한 빈셀 수를 기초로 내림차순으로 정렬하는 단계는
상기 t개의 데이터 속성들 간의 미리 정해진 우선순위가 저장되어 있는 우선순위 저장부를 유지하는 단계; 및
상기 k개의 필드들 각각에 대한 빈셀 수가 카운트되면, 상기 제1 테이블에서 상기 k개의 필드들을 상기 k개의 필드들 각각에 대한 빈셀 수를 기초로 내림차순으로 정렬하되, 상기 k개의 필드들 중 빈셀 수가 서로 동일하게 카운트된 필드 간에는 상기 우선순위 저장부를 참조하여 각 필드에 매칭된 데이터 속성에 대응되는 우선순위에 따라 정렬하는 단계
를 포함하는 데이터 속성을 기초로 스프레드시트에서 지정된 영역에 대응되는 테이블을 자동으로 생성할 수 있는 문서 편집 장치의 동작 방법.
8. The method of claim 7,
Sorting in descending order based on the number of empty cells for each of the k fields is
maintaining a priority storage unit in which predetermined priorities among the t data attributes are stored; and
When the number of empty cells for each of the k fields is counted, the k fields are arranged in descending order based on the number of empty cells for each of the k fields in the first table, and the number of empty cells among the k fields is mutually exclusive. sorting according to the priority corresponding to the data attribute matched to each field with reference to the priority storage unit among the equally counted fields
A method of operation of a document editing device capable of automatically generating a table corresponding to a specified area in a spreadsheet based on data properties including
제8항에 있어서,
테이블에 적용될 수 있는 것으로 미리 정해진 서로 다른 복수의 템플릿들과 상기 복수의 템플릿들 각각에 대응되는 미리 정해진 t차원의 기준 벡터가 저장되어 있는 템플릿 저장부를 유지하는 단계;
상기 t개의 데이터 속성들과 상기 t개의 데이터 속성들 각각에 대응되는 미리 정해진 서로 다른 고유 번호가 저장되어 있는 고유 번호 저장부를 유지하는 단계;
상기 k개의 필드들에 대한 정렬이 완료되면, 상기 템플릿 저장부를 참조하여 상기 복수의 템플릿들 각각에 대응되는 t차원의 기준 벡터를 k차원의 기준 벡터 - 상기 k차원의 기준 벡터는 상기 t차원의 기준 벡터를 구성하는 t개의 성분들 중 첫 번째 성분을 기준으로 순차적으로 선택된 k개의 성분들 각각을 성분으로 갖는 벡터임 - 로 변환함으로써, 상기 복수의 템플릿들 각각에 대응되는 k차원의 기준 벡터를 생성하는 단계;
상기 k개의 필드들이 정렬되어 있는 순서를 기초로 상기 고유 번호 저장부를 참조하여 상기 k개의 필드들 각각에 대해 매칭된 데이터 속성에 대응되는 고유 번호를 성분으로 갖는 k차원의 특성 벡터를 생성하는 단계;
상기 복수의 템플릿들 각각에 대응되는 k차원의 기준 벡터와 상기 k차원의 특성 벡터 간의 유클리드 거리(Euclidean Distance)를 연산하는 단계; 및
상기 복수의 템플릿들 중 상기 k차원의 특성 벡터와의 유클리드 거리가 최소로 연산된 k차원의 기준 벡터를 갖는 제1 템플릿을 추출한 후 상기 제1 템플릿을 상기 제1 테이블에 적용하는 단계
를 더 포함하는 데이터 속성을 기초로 스프레드시트에서 지정된 영역에 대응되는 테이블을 자동으로 생성할 수 있는 문서 편집 장치의 동작 방법.
9. The method of claim 8,
maintaining a template storage unit in which a plurality of different templates that can be applied to a table and a predetermined t-dimensional reference vector corresponding to each of the plurality of templates are stored;
maintaining a unique number storage unit in which predetermined different unique numbers corresponding to the t data attributes and each of the t data attributes are stored;
When the alignment of the k fields is completed, a t-dimensional reference vector corresponding to each of the plurality of templates is set as a k-dimensional reference vector - the k-dimensional reference vector is the t-dimensional reference vector with reference to the template storage unit. A k-dimensional reference vector corresponding to each of the plurality of templates is obtained by transforming into a vector having, as a component, each of k components sequentially selected based on the first component among the t components constituting the reference vector. generating;
generating a k-dimensional characteristic vector having, as a component, a unique number corresponding to a data attribute matched for each of the k fields by referring to the unique number storage unit based on the order in which the k fields are arranged;
calculating a Euclidean distance between a k-dimensional reference vector corresponding to each of the plurality of templates and the k-dimensional feature vector; and
applying the first template to the first table after extracting a first template having a k-dimensional reference vector in which the Euclidean distance to the k-dimensional feature vector is calculated as a minimum among the plurality of templates
An operating method of a document editing device capable of automatically generating a table corresponding to a specified area in a spreadsheet based on data properties further comprising a.
제6항에 있어서,
상기 데이터 영역을 구성하는 n개의 열들 각각에 삽입되어 있는 데이터들이 상기 제1 테이블을 구성하는 나머지 n개의 행들 중 대응되는 순번의 행에 레코드로 삽입된 이후, 상기 사용자에 의해 상기 k개의 필드들 중 제1 필드에 속하는 제1 빈셀에 제1 데이터가 삽입되는 경우, 상기 제1 데이터에 대한 데이터 속성을 확인하는 단계;
상기 제1 데이터에 대한 데이터 속성이 상기 k개의 데이터 속성들 중 상기 제1 필드에 매칭되어 있는 데이터 속성과 일치하지 않는 것으로 확인되면, 상기 k개의 필드들 중 상기 제1 데이터에 대한 데이터 속성이 매칭되어 있는 제2 필드를 확인하는 단계;
상기 제2 필드에서 상기 제1 빈셀의 행과 동일한 행에 대응되는 제1 셀에 데이터가 삽입되어 있는지 확인하는 단계; 및
상기 제1 셀에 데이터가 삽입되어 있는 경우, 상기 제1 빈셀에 삽입되어 있는 상기 제1 데이터를 유지하고, 상기 제1 셀에 데이터가 삽입되어 있지 않은 경우, 상기 제1 데이터를 상기 제1 셀로 이동시키는 단계
를 더 포함하는 데이터 속성을 기초로 스프레드시트에서 지정된 영역에 대응되는 테이블을 자동으로 생성할 수 있는 문서 편집 장치의 동작 방법.
7. The method of claim 6,
After data inserted into each of the n columns constituting the data area is inserted as a record into a corresponding row of the remaining n rows constituting the first table, the user selects one of the k fields when first data is inserted into a first empty cell belonging to a first field, checking a data attribute of the first data;
If it is determined that the data attribute of the first data does not match the data attribute matched to the first field among the k data attributes, the data attribute of the first data among the k fields is matched checking a second field that has been set;
checking whether data is inserted into a first cell corresponding to the same row as that of the first empty cell in the second field; and
When data is inserted into the first cell, the first data inserted into the first empty cell is maintained, and when data is not inserted into the first cell, the first data is transferred to the first cell step to move
An operating method of a document editing device capable of automatically generating a table corresponding to a specified area in a spreadsheet based on data properties further comprising a.
제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능 기록 매체.A computer-readable recording medium recording a computer program for executing the method of any one of claims 6 to 10 through combination with a computer. 제6항 내지 제10항 중 어느 한 항의 방법을 컴퓨터와의 결합을 통해 실행시키기 위한 저장매체에 저장된 컴퓨터 프로그램.A computer program stored in a storage medium for executing the method of any one of claims 6 to 10 through combination with a computer.
KR1020200075620A 2020-06-22 2020-06-22 Document editing device that can automatically generate a table corresponding to a specified area in a spreadsheet based on data attribute and operating method thereof KR102466705B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200075620A KR102466705B1 (en) 2020-06-22 2020-06-22 Document editing device that can automatically generate a table corresponding to a specified area in a spreadsheet based on data attribute and operating method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200075620A KR102466705B1 (en) 2020-06-22 2020-06-22 Document editing device that can automatically generate a table corresponding to a specified area in a spreadsheet based on data attribute and operating method thereof

Publications (2)

Publication Number Publication Date
KR20210157610A true KR20210157610A (en) 2021-12-29
KR102466705B1 KR102466705B1 (en) 2022-11-15

Family

ID=79176636

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200075620A KR102466705B1 (en) 2020-06-22 2020-06-22 Document editing device that can automatically generate a table corresponding to a specified area in a spreadsheet based on data attribute and operating method thereof

Country Status (1)

Country Link
KR (1) KR102466705B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11763075B1 (en) 2022-05-27 2023-09-19 Microsoft Technology Licensing, Llc Method and system of discovering templates for documents
CN117973334A (en) * 2024-04-02 2024-05-03 南京安夏电子科技有限公司 Automatic identification importing method based on file form

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180004632A (en) * 2016-07-04 2018-01-12 한다시스템 주식회사 Method and computer program for integrating spread sheet with database
KR20180080423A (en) * 2017-01-03 2018-07-12 (주)비아이매트릭스 A database update system based on spreadsheet interface by finding out updated records automatically
KR20180096854A (en) * 2017-02-20 2018-08-30 (주)비아이매트릭스 A database update method based on spreadsheet interface by making queries optimized for updated records

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180004632A (en) * 2016-07-04 2018-01-12 한다시스템 주식회사 Method and computer program for integrating spread sheet with database
KR20180080423A (en) * 2017-01-03 2018-07-12 (주)비아이매트릭스 A database update system based on spreadsheet interface by finding out updated records automatically
KR20180096854A (en) * 2017-02-20 2018-08-30 (주)비아이매트릭스 A database update method based on spreadsheet interface by making queries optimized for updated records

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
digital nomads, "Useful Excel Function #3: Categorize Data by Batch Moving Data with Formulas." [Online], [URL: https://coalab.tistory.com/3]* *
JB FACTORY 3, "Excel|Sorting data in ascending or descending order." [Online], [URL: https://jb-skin-149.tistory.com/36]* *
Minami Blog, "[Excel] Finding the number of empty cells in Excel, the number of empty cells in Excel (COUNTA, COUNTBLANK)." [Online], [URL: https://minaminaworld.tistory.com/17]* *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11763075B1 (en) 2022-05-27 2023-09-19 Microsoft Technology Licensing, Llc Method and system of discovering templates for documents
WO2023229737A1 (en) * 2022-05-27 2023-11-30 Microsoft Technology Licensing, Llc Method and system of discovering templates for documents
CN117973334A (en) * 2024-04-02 2024-05-03 南京安夏电子科技有限公司 Automatic identification importing method based on file form

Also Published As

Publication number Publication date
KR102466705B1 (en) 2022-11-15

Similar Documents

Publication Publication Date Title
CN108763171B (en) Automatic document generation method based on format template
KR102466705B1 (en) Document editing device that can automatically generate a table corresponding to a specified area in a spreadsheet based on data attribute and operating method thereof
CN110619115B (en) Template creating method and device, electronic equipment and storage medium
CN104361018A (en) Method and device for reorganizing electronic file information
CN115238153B (en) Document management method and system based on virtual simulation
US20080250068A1 (en) System for preparing reports
JPH11184894A (en) Method for extracting logical element and record medium
KR102144351B1 (en) Electronic terminal device supporting easy undo processing of electronic document and operating method thereof
US20230267271A1 (en) Auto conversion system and method of manuscript format
CN110659393A (en) Method and system for generating xml code
KR102328051B1 (en) Document editing device that enables display of a document to which a font in unsupported data format is applied and operating method thereof
KR102442503B1 (en) Electronic device that provides an automatic cell merging function for a table existing in spreadsheets and operating method thereof
CN105224515A (en) The tool and method of XBRL instance document is edited based on Flex
KR102417824B1 (en) Document management server that interlocks with a plurality of document repositories to load a document file similar to a scanned image of a paper document received from a client terminal and operating method thereof
KR102375507B1 (en) Electronic device that supports retrieval of objects from document by matching objects and keywords inserted into document and operating method thereof
KR102466710B1 (en) Electronic device that provides auto-complete for unfinished table in spreadsheets and operating method thereof
Montoya Obeso et al. Organizing cultural heritage with deep features
KR102545260B1 (en) Electronic terminal apparatus that supports application of natural substitute fonts when loading electronic documents with unsupported fonts applied and operating method thereof
KR102300439B1 (en) Font verification server to verify whether the font applied to a document is authorized and operating method thereof
KR102545262B1 (en) Electronic terminal apparatus for providing information of the associated documents which are associated with the particular document based on simultaneous usage criteria and operating method thereof
KR102507482B1 (en) Electronic apparatus which is able to convert the format of annotations inserted into a pdf document fast to the format editable by the application editing tools and then load the annotations, and the operating method thereof
KR102466714B1 (en) Electronic device that provides improved object insertion into electronic document through object box and operating method thereof
KR102442510B1 (en) Document editing apparatus that automatically specifies the storage file format for documents and the operating method thereof
CN104899213A (en) Method and device for resolving organization names
KR102395674B1 (en) Electronic device supporting detailed search for electronic documents through search keyword analysis and operating method thereof

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant