KR102490941B1 - An online report creation system using Excel tool - Google Patents

An online report creation system using Excel tool Download PDF

Info

Publication number
KR102490941B1
KR102490941B1 KR1020200173168A KR20200173168A KR102490941B1 KR 102490941 B1 KR102490941 B1 KR 102490941B1 KR 1020200173168 A KR1020200173168 A KR 1020200173168A KR 20200173168 A KR20200173168 A KR 20200173168A KR 102490941 B1 KR102490941 B1 KR 102490941B1
Authority
KR
South Korea
Prior art keywords
grid
excel
unit
cell
tool
Prior art date
Application number
KR1020200173168A
Other languages
Korean (ko)
Other versions
KR20220083185A (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 KR1020200173168A priority Critical patent/KR102490941B1/en
Priority to JP2021197088A priority patent/JP7339628B2/en
Publication of KR20220083185A publication Critical patent/KR20220083185A/en
Application granted granted Critical
Publication of KR102490941B1 publication Critical patent/KR102490941B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • 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
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Data Mining & Analysis (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

데이터베이스의 가공된 데이터셋을 표시하는 적어도 하나의 그리드로, 웹 상의 보고서를 구성하도록 지원하되, 각 그리드의 작성을 엑셀 도구에서 작성하도록 지원하는, 엑셀 도구를 이용한 온라인 보고서 작성 시스템에 관한 것으로서, 웹 상에서 보고서 화면에서 그리드를 편집하되, 하나의 그리드 객체에 대한 정보를 하나의 엑셀 문서에 저장하여 관리하고, 확장된 엑셀 도구에 의한 엑셀 문서의 편집을 통해 그리드 객체를 편집하도록 지원하는 그리드 편집부; 컨트롤 객체를 생성하고 편집하는 컨트롤 편집부; 그리드 객체의 편집을 위해 상기 엑셀 도구가 호출되면, 상기 그리드 객체에 매핑된 엑셀 문서가 존재하면 해당 엑셀 문서를 열고, 존재하지 않으면 새로운 엑셀 문서를 생성하고 초기화 하는, 워크시트 초기화부; 상기 엑셀 문서의 워크시트 상에서 기초 데이터셋을 로드하는 데이터셋 로드부; 상기 엑셀 도구가 종료되면, 상기 엑셀 문서, 및, 상기 엑셀 문서 상에서 편집된 결과를 저장하는 편집결과 저장부; 상기 엑셀 문서의 내용에 따라 그리드 객체의 내용을 표시하는 그리드 표시부; 및, 그리드 및 컨트롤 객체로 구성된 보고서를 웹 상에서 표시하되, 상기 그리드 표시부를 통해 그리드 객체를 표시하는, 보고서 뷰어부를 포함하는 구성을 마련한다.
상기와 같은 시스템에 의하면, 웹 상의 보고서 내에 포함된 그리드를 엑셀 도구에서 작성하도록 지원함으로써, 사용자는 자신에게 친숙한 인터페이스를 통해 데이터셋의 가공 작업을 수행하여 작업의 효율성을 높일 수 있다.
An online report creation system using an Excel tool that supports configuring a report on the web with at least one grid displaying a processed data set of a database, and supports creation of each grid in an Excel tool, A grid editing unit that edits the grid on the report screen on the top, stores and manages information about one grid object in one Excel document, and supports editing of the grid object through editing of the Excel document by the extended Excel tool; a control editing unit that creates and edits control objects; a worksheet initialization unit that, when the Excel tool is called to edit a grid object, opens an Excel document mapped to the grid object if it exists, and creates and initializes a new Excel document if it does not exist; a data set loading unit for loading a basic data set on the worksheet of the Excel document; an editing result storage unit for storing the Excel document and the edited result on the Excel document when the Excel tool is terminated; a grid display unit displaying the contents of a grid object according to the contents of the Excel document; and a report viewer unit displaying a report composed of grid and control objects on the web and displaying the grid object through the grid display unit.
According to the system as described above, by supporting the creation of a grid included in a report on the web in an Excel tool, a user can perform processing of a dataset through an interface familiar to the user, thereby increasing work efficiency.

Description

엑셀 도구를 이용한 온라인 보고서 작성 시스템 { An online report creation system using Excel tool }Online report creation system using Excel tool { An online report creation system using Excel tool }

본 발명은 데이터베이스에 저장된 기초 데이터셋을 가공하여 표시하도록, 웹 상의 보고서 작성을 지원하되, 웹 상의 보고서는 가공된 데이터셋을 표시하는 그리드와, 데이터셋의 가공 변수를 처리하는 컨트롤 객체로 구성되도록 지원하는, 엑셀 도구를 이용한 온라인 보고서 작성 시스템에 관한 것이다.The present invention supports the creation of a report on the web to process and display a basic data set stored in a database, but the report on the web is composed of a grid that displays the processed data set and a control object that processes the processed variables of the data set. It is about an online report writing system using the Excel tool.

또한, 본 발명은 보고서 내에 각 그리드를 작성할 때, 엑셀 도구에서 작성하도록 지원하고, 엑셀 도구에서 작성된 보고서 내용을 가져와서 웹 상의 그리드로 변환하는, 엑셀 도구를 이용한 온라인 보고서 작성 시스템에 관한 것이다.In addition, the present invention relates to an online report writing system using an Excel tool, which supports creation of each grid in a report in an Excel tool, imports report contents prepared in the Excel tool, and converts it into a grid on the web.

일반적으로, 직장인들의 업무시간 중 문서작성에 소요되는 시간이 전체 업무에서 차지하는 비중이 높다. 이러한 문서작성에 소요되는 시간 및 인력에 따른 비용의 절감은 기업의 생산성 측면에서는 필수적으로 요구되는 부분이다. 이를 위해, 업무를 통합적으로 관리하고 자동화 하는 시스템이 도입되고 있다.In general, among office workers' working hours, the time required for document preparation occupies a high proportion of the total work. Reduction of costs due to the time and manpower required to prepare these documents is an essential part in terms of corporate productivity. To this end, a system that manages and automates tasks in an integrated manner is being introduced.

일례로서, 웹 환경에서 데이터베이스를 조회하여 분석하는 레포팅 기술이 제시되고 있다[특허문헌 1]. 상기 선행기술에 의하면, 개발자가 데이터베이스 서버의 데이터를 이용하여 위지윅(WYSIWYG) 방식 및 드래그 앤 드롭(Drag & Drop) 방식으로 보고서를 설계하고, 웹서버는 설계된 보고서를 등록받고, 보고서의 설정내용에 따라 데이터베이스 서버에서 필요한 데이터를 가져와서 보고서를 생성하고, 사용자는 웹브라우저 상에서 보고서를 요청하여 본다.As an example, a reporting technology for querying and analyzing a database in a web environment has been proposed [Patent Document 1]. According to the prior art, a developer designs a report using a WYSIWYG method and a drag & drop method using data of a database server, the web server registers the designed report, and the report settings Accordingly, necessary data is imported from the database server and a report is created, and the user requests and views the report on a web browser.

또한, 웹 서비스를 이용하여, 여러 곳에 분산된 데이터를 접근하고 통합하여 보고서를 실시간으로 출력하는 기술도 제시되고 있다[특허문헌 2]. 또한, 관리자가 데이터베이스에서 수신한 테이블 정보를 웹 상에서 선택하여 맵핑 테이블을 생성하고, 이를 이용하여 다양한 양식의 레포트를 생성하고, 이를 웹 상에서 선택하여 확인하는 기술도 제시되고 있다[특허문헌 3].In addition, a technique for outputting a report in real time by accessing and integrating data distributed in several places using a web service has also been proposed [Patent Document 2]. In addition, a technique in which an administrator selects table information received from a database on the web to create a mapping table, uses it to generate reports in various formats, and selects and confirms the table information on the web has also been proposed [Patent Document 3].

또한, 웹 상에서 엑셀 형태로 레포트를 작성하는 기술도 제시되고 있다[특허문헌 4]. 상기 선행기술은 엑셀 형태의 그리드를 웹 상에서 직접 작성해야 하며, 웹 상에서의 그리드 작업의 인터페이스를 엑셀의 인터페이스와 유사하게 제공하고 있다.In addition, a technique for creating a report in the form of Excel on the web has also been proposed [Patent Document 4]. In the prior art, an Excel-type grid must be directly created on the web, and an interface of grid work on the web is provided similarly to that of Excel.

그러나 웹 상에서 엑셀과 같은 다양한 인터페이스를 제공하기 어렵고, 각 서비스 마다 인터페이스 방식이 다르기 때문에, 사용자는 웹 상의 인터페이스에 불편할 수 있다. 즉, 온라인 상의 인터페이스가 오프라인 상의 엑셀 프로그램의 인터페이스와 동일하지 않다.However, since it is difficult to provide various interfaces such as Excel on the web, and interface methods are different for each service, users may be uncomfortable with the interface on the web. That is, the interface on-line is not the same as the interface of the Excel program on-line.

그런데 사용자들은 자신의 컴퓨터 단말에 설치되어 이용하는 (오프라인 상의) 엑셀 도구의 인터페이스에 더 친숙하다. 따라서 사용자가 웹 상에서 보고서를 작성할 때, 데이터 가공 작업을 상용 엑셀과 같은 오프라인 상의 어플리케이션으로 수행할 수 있도록 지원하는 기술이 필요하다.However, users are more familiar with the interface of the (offline) Excel tool installed and used on their computer terminals. Therefore, when a user creates a report on the web, a technology that supports data processing with an offline application such as commercial Excel is required.

한국등록특허 제10-0497811호 (2005.07.01.공고)Korean Patent Registration No. 10-0497811 (Announced on July 1, 2005) 한국등록특허 제10-0697155호 (2007.03.21.공고)Korean Patent Registration No. 10-0697155 (Announced on March 21, 2007) 한국공개특허 제10-2013-0126012호 (2013.11.20.공개)Korean Patent Publication No. 10-2013-0126012 (published on November 20, 2013) 한국등록특허 제10-1951719호 (2019.02.25.공고)Korean Patent Registration No. 10-1951719 (2019.02.25. Notice)

본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위한 것으로, 데이터베이스의 가공된 데이터셋을 표시하는 적어도 하나의 그리드로, 웹 상의 보고서를 구성하도록 지원하되, 각 그리드의 작성을 엑셀 도구에서 작성하도록 지원하는, 엑셀 도구를 이용한 온라인 보고서 작성 시스템을 제공하는 것이다.An object of the present invention is to solve the above-described problems, and supports configuring a report on the web with at least one grid displaying a processed data set of a database, but creating each grid in an Excel tool. It is to provide an online report writing system using the Excel tool.

또한, 본 발명의 목적은 엑셀 도구에 확장 프로그램을 추가하여, 엑셀 도구 상에서 데이터셋을 데이터베이스로부터 가져오고, 데이터셋의 가공 변수를 설정하도록 지원하고, 작성된 엑셀 시트를 웹 상의 그리드로 자동 변환시키는, 엑셀 도구를 이용한 온라인 보고서 작성 시스템에 관한 것이다.In addition, an object of the present invention is to add an extension program to the Excel tool, to import a dataset from a database on the Excel tool, to support setting processing variables of the dataset, and to automatically convert the created Excel sheet into a grid on the web. It is about an online report writing system using the Excel tool.

상기 목적을 달성하기 위해 본 발명은 사용자 단말의 엑셀 도구에 설치되는 확장모듈과 서버에 의해 수행되는, 엑셀 도구를 이용한 온라인 보고서 작성 시스템에 관한 것으로서, 웹 상에서 보고서 화면에서 그리드를 편집하되, 하나의 그리드 객체에 대한 정보를 하나의 엑셀 문서에 저장하여 관리하고, 확장된 엑셀 도구에 의한 엑셀 문서의 편집을 통해 그리드 객체를 편집하도록 지원하는 그리드 편집부; 컨트롤 객체를 생성하고 편집하는 컨트롤 편집부; 그리드 객체의 편집을 위해 상기 엑셀 도구가 호출되면, 상기 그리드 객체에 매핑된 엑셀 문서가 존재하면 해당 엑셀 문서를 열고, 존재하지 않으면 새로운 엑셀 문서를 생성하고 초기화 하는, 워크시트 초기화부; 상기 엑셀 문서의 워크시트 상에서 기초 데이터셋을 로드하는 데이터셋 로드부; 상기 엑셀 도구가 종료되면, 상기 엑셀 문서, 및, 상기 엑셀 문서 상에서 편집된 결과를 저장하는 편집결과 저장부; 상기 엑셀 문서의 내용에 따라 그리드 객체의 내용을 표시하는 그리드 표시부; 및, 그리드 및 컨트롤 객체로 구성된 보고서를 웹 상에서 표시하되, 상기 그리드 표시부를 통해 그리드 객체를 표시하는, 보고서 뷰어부를 포함하는 특징으로 한다.In order to achieve the above object, the present invention relates to an online report creation system using an Excel tool, which is performed by an extension module installed in an Excel tool of a user terminal and a server, and edits a grid on a report screen on the web, but one a grid editing unit that stores and manages information about a grid object in one Excel document and supports editing of the grid object through editing of the Excel document by an extended Excel tool; a control editing unit that creates and edits control objects; a worksheet initialization unit that, when the Excel tool is called to edit a grid object, opens an Excel document mapped to the grid object if it exists, and creates and initializes a new Excel document if it does not exist; a data set loading unit for loading a basic data set on the worksheet of the Excel document; an editing result storage unit for storing the Excel document and the edited result on the Excel document when the Excel tool is terminated; a grid display unit displaying the contents of a grid object according to the contents of the Excel document; and a report viewer unit displaying a report composed of grids and control objects on the web and displaying the grid objects through the grid display unit.

또, 본 발명은 엑셀 도구를 이용한 온라인 보고서 작성 시스템에 있어서, 상기 시스템은, 상기 엑셀 문서의 워크시트 상에서 가공변수를 설정하되, 변수정의 셀의 이름을 가공변수의 이름으로 설정하는, 가공변수 설정부를 더 포함하고, 상기 가공 변수는 상기 엑셀 문서 상에서 그리드에 표시할 테이블의 셀 내의 수식에 사용되고, 상기 컨트롤 편집부는 상기 가공 변수를 컨트롤 객체에 매핑시키고, 상기 보고서 뷰어부는 가공 변수에 매핑된 컨트롤 객체의 입력값을 해당 가공 변수의 변수값으로 설정하는 것을 특징으로 한다.In addition, in the present invention, in an online report creation system using an Excel tool, the system sets processing variables on the worksheet of the Excel document, but sets the name of the variable definition cell to the name of the processing variable. The processing variable is used in a formula in a cell of a table to be displayed in a grid on the Excel document, the control editing unit maps the processing variable to a control object, and the report viewer unit maps the processing variable to a control object. It is characterized in that the input value of is set as a variable value of the corresponding processing variable.

또, 본 발명은 엑셀 도구를 이용한 온라인 보고서 작성 시스템에 있어서, 상기 워크시트 초기화부는 그리드에 표시할 테이블을 작성하는 뷰 영역 시트, 데이터베이스에서 가져오는 기초 데이터셋을 저장하는 데이터 영역 시트, 가공 변수를 작성하는 파라미터 영역 시트를 상기 엑셀 문서의 워크시트로 생성하고, 상기 뷰 영역 시트 상의 테이블은 상기 데이터 영역 시트 상에 입력된 기초 데이터셋을 참조하되, 상기 뷰 영역 시트 상의 테이블 내의 셀의 수식에서 상기 데이터 영역 시트의 셀을 참조하고, 상기 그리드 표시부는 기초 데이터셋을 데이터베이스에서 가져와서 가상 시트 상에 저장하고, 상기 그리드 객체의 테이블의 각 셀을 수식에 따라 반영할 때, 참조하는 데이터 영역 시트의 셀의 내용 대신, 가상 시트 상의 해당 셀의 내용으로 반영하는 것을 특징으로 한다.In addition, according to the present invention, in an online report creation system using an Excel tool, the worksheet initialization unit includes a view area sheet for creating a table to be displayed on a grid, a data area sheet for storing basic data sets retrieved from a database, and processing variables. The parameter area sheet to be created is created as a worksheet of the Excel document, and the table on the view area sheet refers to the basic data set input on the data area sheet, but in the formula of the cell in the table on the view area sheet The cell of the data area sheet is referred to, and the grid display unit retrieves the basic data set from the database and stores it on the virtual sheet, and when each cell of the table of the grid object is reflected according to the formula, the referenced data area sheet It is characterized in that the content of the cell on the virtual sheet is reflected instead of the content of the cell.

또, 본 발명은 엑셀 도구를 이용한 온라인 보고서 작성 시스템에 있어서, 상기 가공 변수는 상기 파리미터 영역 시트 상의 셀의 이름으로 정의되고, 상기 가공 변수는 상기 뷰 영역 시트 상의 테이블의 셀 내의 수식에서 이용되는 것을 특징으로 한다.In addition, in the present invention, in an online report creation system using an Excel tool, the processing variable is defined as the name of a cell on the parameter area sheet, and the processing variable is used in a formula in a cell of a table on the view area sheet. to be characterized

또, 본 발명은 엑셀 도구를 이용한 온라인 보고서 작성 시스템에 있어서, 상기 편집결과 저장부는 상기 뷰 영역 시트 내의 테이블에 대한 정보를 계층 구조의 템플릿으로 저장하고, 상기 템플릿은 계층적 구조를 가지는 데이터 구조체로서, 상기 뷰 영역 시트 내의 테이블 구조를 템플릿의 계층 구조로 변환하고, 각 셀의 속성을 템플릿의 계층 구조의 리프 노드의 속성으로 변환하고, 상기 그리드 표시부는 상기 뷰 영역 시트 대신, 템플릿의 내용을 참조하여 그리드의 내용을 반영하는 것을 특징으로 한다.In addition, according to the present invention, in an online report creation system using an Excel tool, the editing result storage unit stores information on tables in the view area sheet as a hierarchical template, and the template is a data structure having a hierarchical structure. , The table structure in the view area sheet is converted into a hierarchical structure of the template, the property of each cell is converted into the property of a leaf node of the hierarchical structure of the template, and the grid display unit refers to the content of the template instead of the view area sheet. to reflect the contents of the grid.

또, 본 발명은 엑셀 도구를 이용한 온라인 보고서 작성 시스템에 있어서, 상기 편집결과 저장부는 상기 뷰 영역 시트 상에서의 테이블에 대하여, 테이블의 헤더 행 구조, 및, 테이블의 데이터 행 구조를 템플릿 정보를 저장하되, 테이블의 데이터 행 구조를 1번째 데이터 행의 서식과 수식을 포함하는 속성 정보로 저장하고, 해당 테이블의 데이터 행이 교차 행이면, 해당 테이블의 1번째 데이터 행과 2번째 데이터 행의 서식을 모두 저장하는 것을 특징으로 한다.In addition, in the present invention, in an online report creation system using an Excel tool, the editing result storage unit stores template information for a table on the view area sheet, a header row structure of the table, and a data row structure of the table. , The structure of the data row of the table is stored as attribute information including the format and formula of the first data row, and if the data row of the table is a cross row, the format of both the first data row and the second data row of the table is saved. characterized by storage.

또, 본 발명은 엑셀 도구를 이용한 온라인 보고서 작성 시스템에 있어서, 상기 그리드 편집부, 컨트롤 편집부, 보고서 뷰어부, 그리드 표시부는 상기 서버에서 구비되고, 워크시트 초기화부, 가공변수 설정부, 데이터셋 로드부, 편집결과 저장부는 상기 확장 모듈에서 구비되는 것을 특징으로 한다.In addition, in the present invention, in the online report creation system using an Excel tool, the grid editing unit, control editing unit, report viewer unit, and grid display unit are provided in the server, and the worksheet initialization unit, processing variable setting unit, and data set loading unit , The editing result storage unit is characterized in that provided in the expansion module.

상술한 바와 같이, 본 발명에 따른 엑셀 도구를 이용한 온라인 보고서 작성 시스템에 의하면, 웹 상의 보고서 내에 포함된 그리드를 엑셀 도구에서 작성하도록 지원함으로써, 사용자는 자신에게 친숙한 인터페이스를 통해 데이터셋의 가공 작업을 수행하여 작업의 효율성을 높일 수 있는 효과가 얻어진다.As described above, according to the online report creation system using the Excel tool according to the present invention, by supporting the creation of the grid included in the report on the web in the Excel tool, the user can perform the processing of the dataset through a familiar interface. By doing so, the effect of increasing work efficiency is obtained.

또한, 본 발명에 따른 엑셀 도구를 이용한 온라인 보고서 작성 시스템에 의하면, 엑셀 도구에서 데이터셋의 가공 변수를 설정하게 함으로써, 사용자가 데이터셋 표시의 인터랙티브 기능을 보다 쉽게 구현할 수 있는 효과가 얻어진다.In addition, according to the online report writing system using the Excel tool according to the present invention, by setting processing variables of the data set in the Excel tool, the user can more easily implement the interactive function of displaying the data set.

도 1은 본 발명을 실시하기 위한 전체 시스템에 대한 구성도.
도 2는 본 발명의 일실시예에 따른 엑셀 도구를 이용한 온라인 보고서 작성 시스템의 구성에 대한 블록도.
도 3은 본 발명의 일실시예에 따른 웹 상에서 보고서 편집을 위한 인터페이스 화면을 예시한 도면.
도 4는 본 발명의 일실시예에 따른 웹 상에서 편집된 보고서를 예시한 도면이다.
도 5는 본 발명의 일실시예에 따른 초기화된 엑셀 문서를 예시한 도면이다.
도 6은 본 발명의 일실시예에 따른 파라미터 영역 시트 상에서 가공 변수를 정의하는 화면을 예시한 도면.
도 7은 본 발명의 일실시예에 따른 데이터셋을 로드하는 화면을 예시한 도면.
도 8은 본 발명의 일실시예에 따른 기초 데이터셋이 로드된 데이터 영역 시트의 화면을 예시한 도면.
도 9는 본 발명의 일실시예에 따른 엑셀 문서의 뷰 영역 시트의 편집 결과 화면을 예시한 도면.
도 10은 본 발명의 일실시예에 따른 피벗테이블의 템플릿 정보를 나타낸 예시도로서, (a) 피벗 테이블, (b) 템플릿 정보에 대한 예시도.
도 11은 본 발명의 일실시예에 따른 수식 자동 연산에 대한 예시도.
1 is a configuration diagram of the entire system for implementing the present invention.
2 is a block diagram of the configuration of an online report creation system using an Excel tool according to an embodiment of the present invention.
3 is a diagram illustrating an interface screen for editing a report on the web according to an embodiment of the present invention.
4 is a diagram illustrating a report edited on the web according to an embodiment of the present invention.
5 is a diagram illustrating an initialized Excel document according to an embodiment of the present invention.
6 illustrates a screen for defining processing variables on a parameter area sheet according to an embodiment of the present invention.
7 is a diagram illustrating a screen for loading a dataset according to an embodiment of the present invention.
8 is a diagram illustrating a screen of a data area sheet loaded with a basic data set according to an embodiment of the present invention;
9 is a diagram illustrating an editing result screen of a view area sheet of an Excel document according to an embodiment of the present invention.
10 is an exemplary diagram illustrating template information of a pivot table according to an embodiment of the present invention, and is an exemplary diagram for (a) a pivot table and (b) template information.
11 is an exemplary view of formula automatic calculation according to an embodiment of the present invention.

이하, 본 발명의 실시를 위한 구체적인 내용을 도면에 따라서 설명한다.Hereinafter, specific details for the implementation of the present invention will be described according to the drawings.

또한, 본 발명을 설명하는데 있어서 동일 부분은 동일 부호를 붙이고, 그 반복 설명은 생략한다.In addition, in explaining the present invention, the same reference numerals are assigned to the same parts, and the repeated explanation thereof is omitted.

먼저, 본 발명을 실시하기 위한 전체 시스템의 구성을 도 1을 참조하여 설명한다.First, the configuration of the entire system for implementing the present invention will be described with reference to FIG.

도 1에서 보는 바와 같이, 본 발명을 실시하기 위한 전체 시스템은 사용자 단말(10)에 설치되는 엑셀 도구(20) 및 확장모듈(60), 웹 상에서 데이터셋에 의한 보고서 작성을 지원하는 작성 서버(30), 및, 데이터셋을 저장하는 데이터베이스 또는 DB 서버(40)로 구성된다. 사용자 단말(10)과 작성 서버(30)는 인터넷 등 네트워크(80)를 통해 데이터 통신을 수행한다.As shown in FIG. 1, the entire system for implementing the present invention includes an Excel tool 20 and an extension module 60 installed in the user terminal 10, and a creation server that supports report creation by dataset on the web ( 30), and a database or DB server 40 for storing data sets. The user terminal 10 and the creation server 30 perform data communication through a network 80 such as the Internet.

먼저, 사용자 단말(10)은 개인용 컴퓨터(PC), 노트북, 태블릿PC, 패블릿, PDA, 스마트폰 등 컴퓨팅 기능을 가지는 컴퓨팅 단말이다. 사용자 단말(10)은 통신 기능을 구비하여, 네트워크(80)를 통해 작성 서버(30)와 데이터를 송수신할 수 있다.First, the user terminal 10 is a computing terminal having a computing function, such as a personal computer (PC), a laptop computer, a tablet PC, a phablet, a PDA, and a smart phone. The user terminal 10 may have a communication function and transmit/receive data with the creation server 30 through the network 80 .

또한, 사용자 단말(10)은 엑셀 도구(20) 및 확장모듈(60) 등 어플리케이션이 설치되어 실행될 수 있다.In addition, the user terminal 10 may install and run applications such as the Excel tool 20 and the extension module 60 .

다음으로, 엑셀 도구(20)는 엑셀(마이크로소프트 사의 스프레드시트 소프트웨어 상표임) 기능을 수행하는 어플리케이션으로서, 사용자 단말(10)에 설치되어 구동되는 프로그램 시스템이다.Next, the Excel tool 20 is an application that performs Excel (a spreadsheet software trademark of Microsoft Corporation) and is a program system that is installed and driven in the user terminal 10 .

엑셀 도구(20)는 통상의 스프레드시트 기능을 제공하고, 특히, 위즈윅(WYSIWYG) 방식 또는 드래그앤드롭(Drag & Drop) 방식의 인터페이스를 제공한다. 즉, 엑셀 도구(20)는 화면 상에 엑셀 시트를 표시하고, 엑셀 시트 상에서 통상의 스프레드시트 작업을 수행할 수 있는 기능들을 제공한다.The Excel tool 20 provides a normal spreadsheet function and, in particular, provides a WYSIWYG or Drag & Drop interface. That is, the Excel tool 20 displays an Excel sheet on the screen and provides functions for performing normal spreadsheet operations on the Excel sheet.

특히, 엑셀 도구(20)는 엑셀 시트 상에 데이터 또는 데이터셋을 로드(load)하여 엑셀 시트의 각 셀에 데이터를 가지게 한다. 또한, 각 셀의 데이터들에 대한 연산 등의 작업을 수행할 수 있는 명령들을 제공한다.In particular, the Excel tool 20 loads data or datasets onto an Excel sheet so that each cell of the Excel sheet has data. In addition, commands capable of performing operations such as calculations on the data of each cell are provided.

한편, 엑셀 도구(20)는 엑셀 시트(또는 워크시트) 상에서 작성된 것을 엑셀 문서로 생성한다. 엑셀 문서는 다수의 워크시트로 구성되고, 각 워크시트는 시트 상에서 작성된 객체, 포맷, 데이터 등으로 구성된다.On the other hand, the Excel tool 20 creates an Excel document written on an Excel sheet (or worksheet). An Excel document is composed of a number of worksheets, and each worksheet is composed of objects, formats, and data written on the sheet.

바람직하게는, 엑셀 도구(20)는 마이크로소프트 사에서 제작한 스프레드시트 어플리케이션으로서, 엑셀이란 상표를 가진다.Preferably, the Excel tool 20 is a spreadsheet application manufactured by Microsoft, and has a trademark of Excel.

또한, 엑셀 도구(20)는 확장 모듈(60)을 통해 그 기능이 확장된다. 이때, 기능이 확장된 엑셀 도구(20)를 확장된 엑셀도구라 부르기로 한다.In addition, the function of the Excel tool 20 is extended through the extension module 60. At this time, the function-extended Excel tool 20 will be referred to as an extended Excel tool.

다음으로, 확장모듈(60)은 컴퓨터 단말(10)에 설치되고 엑셀 도구(20)에 플러그인 형태로 부가되는 프로그램 시스템으로서, 데이터베이스에서 데이터셋을 로드하는 기능, 데이터셋의 가공 변수를 설정하는 기능 등을 제공한다.Next, the extension module 60 is a program system installed in the computer terminal 10 and added in the form of a plug-in to the Excel tool 20, a function of loading a data set from a database, and a function of setting processing variables of a data set. provide etc.

즉, 확장모듈(60)은 엑셀 도구(20)에 플러그인(plug-in) 방식 또는 애드인(add-in) 방식으로 부가되어 실행되는 프로그램 시스템이다. 특히, 확장모듈(60)은 엑셀 도구(20)의 적어도 하나의 명령(이하 플러그인 명령)으로 등록되고, 엑셀 도구(20)에서 해당 플러그인 명령이 호출되면 실행된다. 일례로서, 엑셀 시트 상에서 플러그인 명령이 메뉴 상에서 등록되고 메뉴에서 해당 명령이 선택되면, 확장모듈(60)이 동작된다. 또 다른 예로서, 컨트롤 객체의 이벤트 동작으로 등록되고 해당 이벤트가 발생되면, 확장모듈(60)이 동작될 수 있다.That is, the extension module 60 is a program system that is added to the Excel tool 20 in a plug-in method or an add-in method and is executed. In particular, the extension module 60 is registered as at least one command (hereinafter referred to as a plug-in command) of the Excel tool 20, and is executed when the corresponding plug-in command is called from the Excel tool 20. As an example, when a plug-in command is registered on a menu on an Excel sheet and a corresponding command is selected from the menu, the extension module 60 is operated. As another example, when a control object is registered as an event operation and a corresponding event occurs, the extension module 60 may be operated.

특히, 확장모듈(60)은 초기 워크시트 생성 기능, 가공 변수 설정 기능, 데이터셋 로드 기능 등을 구비하고, 각 기능을 호출하는 명령들이 엑셀 도구(20)에 등록된다.In particular, the extension module 60 has an initial worksheet creation function, a processing variable setting function, a data set loading function, and the like, and commands for calling each function are registered in the Excel tool 20.

먼저, 확장모듈(60)은 엑셀 도구(20)가 호출되면, 엑셀 문서에서 뷰 영역(V), 데이터 영역(D), 파라미터 영역(P)을 나타내는 각 워크시트를 생성한다.First, when the Excel tool 20 is called, the extension module 60 creates each worksheet representing the view area V, the data area D, and the parameter area P in the Excel document.

뷰 영역의 워크시트(뷰 영역 시트)는 웹 상에서 화면으로 표시할 그리드 또는 테이블의 표시 형태를 디자인하는 워크시트이다.The worksheet of the view area (view area sheet) is a worksheet for designing the display form of a grid or table to be displayed on the screen on the web.

또한, 데이터 영역(D)의 워크시트(이하 데이터 영역 시트)는 데이터베이스에서 로드하는 데이터셋을 각 셀에서 입력받아 저장하는 워크시트이다. 이때, 데이터베이스에서 로드하는 데이터셋을 기초 데이터셋이라 부르기로 한다.In addition, the worksheet of the data area (D) (hereafter referred to as a data area sheet) is a worksheet in which a data set loaded from a database is entered in each cell and stored. At this time, the data set loaded from the database is referred to as the basic data set.

한편, 뷰 영역 시트에 표시되는 데이터셋은 기초 데이터셋을 참조하여 가공된 데이터셋이다. 따라서, 뷰 영역 시트에 표시되는 데이터셋을 가공 데이터셋이라 부르기로 한다.Meanwhile, the dataset displayed on the view area sheet is a dataset processed by referring to the basic dataset. Therefore, the data set displayed on the view area sheet is referred to as a processing data set.

또한, 파라미터 영역(P)의 워크시트(이하 파라미터 영역 시트)는 데이터셋의 가공 변수를 설정하는 워크시트이다. 가공 변수는 하나의 셀의 이름으로 설정되고, 가공 변수의 변수값은 해당 셀 내의 입력되는 값으로 설정된다.In addition, the worksheet of the parameter area P (hereinafter referred to as parameter area sheet) is a worksheet for setting processing variables of the data set. The processing variable is set as the name of one cell, and the variable value of the processing variable is set as the input value in the cell.

또한, 확장모듈(60)은 가공 변수를 설정하는 기능을 제공한다. 이때, 가공 변수의 이름(변수명)은 셀의 이름으로 정의되므로, 해당 셀(변수정의 셀)에 입력되는 셀 값이 해당 가공변수의 변수값이 된다. 따라서 엑셀 도구(20) 상에서 가공 변수는 셀 이름으로 사용된다. 즉. 가공 변수의 변수값은 해당 가공 변수의 변수정의 필드(셀)에 입력된 값이다.In addition, the extension module 60 provides a function of setting processing variables. At this time, since the name of the processing variable (variable name) is defined as the name of the cell, the cell value entered into the corresponding cell (variable definition cell) becomes the variable value of the corresponding processing variable. Therefore, processing variables on the Excel tool 20 are used as cell names. In other words. The variable value of the processing variable is the value entered in the variable definition field (cell) of the processing variable.

또한, 확장모듈(60)은 쿼리문을 작성하고, 쿼리문에 의해 데이터베이스로부터 기초 데이터셋을 로드하고, 그 로드 정보를 저장하는 기능을 지원한다. 또한, 확장모듈(60)은 기초 데이터셋의 로드 정보를 저장한다. 기초 데이터셋 로드 정보는 데이터베이스에 연결하기 위한 DB연결 정보, 데이터베이스에서 실행할 쿼리문(SQL 등)으로 구성된다.In addition, the extension module 60 supports a function of creating a query statement, loading a basic dataset from a database by the query statement, and storing the load information. In addition, the extension module 60 stores load information of the basic dataset. Basic dataset load information consists of DB connection information for connecting to the database and query statements (SQL, etc.) to be executed in the database.

다음으로, 작성 서버(30)는 네트워크(80)에 연결된 통상의 서버로서, 웹 상에서의 보고서 작성을 지원하되, 데이터베이스(40)로부터 가져온 데이터셋을 분석하는 보고서의 작성을 지원한다.Next, the creation server 30 is a normal server connected to the network 80 and supports creation of a report on the web, but also supports creation of a report analyzing a data set imported from the database 40 .

웹 상에서의 보고서는, 가공된 데이터셋을 표시하는 그리드 객체와, 데이터셋의 가공 변수를 처리하는 컨트롤 객체로 구성된다. 작성 서버(30)는 그리드 객체와, 컨트롤 객체를 작성하는 서비스를 제공한다.A report on the web is composed of a grid object that displays the processed data set and a control object that processes the processed variable of the data set. The creation server 30 provides services for creating grid objects and control objects.

먼저, 작성 서버(30)는 확장된 엑셀 도구(20)를 통해 그리드 객체를 생성 또는 편집하도록 제공하고, 각 그리드 객체에 연동하는 엑셀 문서를 대응하여 생성 또는 보관한다. 즉, 하나의 그리드 객체를 생성 또는 편집하기 위하여, 사용자는 확장된 엑셀 도구(20)에서 생성 또는 편집한다. 그리고 확장된 엑셀 도구(20)에서 생성 또는 편집된 엑셀 문서는 저장되는데, 해당 그리드 객체에 연동되어 보관된다. 즉, 해당 엑셀 문서는 해당 그리드 객체의 정보를 담은 파일로 볼 수 있다.First, the creation server 30 provides grid objects to be created or edited through the extended Excel tool 20, and correspondingly creates or stores an Excel document linked to each grid object. That is, in order to create or edit one grid object, the user creates or edits it in the extended Excel tool 20. In addition, the Excel document created or edited in the extended Excel tool 20 is stored, and is stored in association with the corresponding grid object. That is, the corresponding Excel document can be viewed as a file containing the information of the corresponding grid object.

또한, 작성 서버(30)는 확장된 엑셀 도구(20)에 의해 엑셀 문서의 작성이 완료되면, 저장된 엑셀 문서을 읽어들여 엑셀 문서에 정의된 내용에 따라 그리드 객체를 생성 또는 수정한다.In addition, when the creation of the Excel document is completed by the extended Excel tool 20, the creation server 30 reads the saved Excel document and creates or modifies a grid object according to the content defined in the Excel document.

이때, 작성 서버(30)는 파라미터 영역 시트에 정의된 가공 변수를 읽어들여 가공 변수로 정의하여 설정한다. 즉, 가공 변수를 컨트롤 객체에 이용하도록 선언한다.At this time, the creation server 30 reads the processing variables defined in the parameter area sheet, defines them as processing variables, and sets them. In other words, declare the processing variable to be used in the control object.

또한, 작성 서버(30)는 해당 엑셀 문서의 뷰 영역 시트의 테이블 형태에 따라 그리드 객체의 그리드 형태를 생성/편집하고, 기초 데이터셋을 가져와서 해당 그리드에 반영한다.In addition, the creation server 30 creates/edits the grid shape of the grid object according to the table shape of the view area sheet of the corresponding Excel document, imports the basic data set, and reflects it to the corresponding grid.

또한, 작성 서버(30)는 컨트롤 객체를 작성하도록 인터페이스를 제공한다. 컨트롤 객체는 버튼, 콤보박스, 체크박스, 입력 박스 등 명령 또는 데이터를 입력받기 위한 객체를 포함한다.Also, the creation server 30 provides an interface to create a control object. Control objects include objects for receiving commands or data, such as buttons, combo boxes, check boxes, and input boxes.

작성 서버(30)는 컨트롤 객체를 가공 변수에 매핑시킨다. 컨트롤 객체가 가공 변수에 매핑되면, 해당 컨트롤 객체의 입력값이 해당 가공 변수의 변수값으로 자동으로 매핑한다. 즉, 작성 서버(30)는 컨트롤 객체의 입력값이 갱신(입력)되는 이벤트를 감지하면, 매핑된 가공 변수의 변수값을 갱신된(입력된) 입력값으로 바인딩하여 모든 객체를 갱신한다.The creation server 30 maps control objects to processing variables. When a control object is mapped to a processing variable, the input value of the corresponding control object is automatically mapped to the variable value of the corresponding processing variable. That is, when the creation server 30 detects an event in which an input value of a control object is updated (input), all objects are updated by binding the variable value of the mapped processing variable to the updated (input) input value.

다음으로, 데이터베이스(40)는 데이터셋을 저장하기 위한 통상의 데이터베이스(DB)로서, 데이터를 관리하기 위한 DBMS(database management system)를 구비하고, 데이터셋의 저장, 삭제, 검색 등의 작업들을 쿼리(또는 쿼리문)를 통해 수행한다. 특히, 데이터베이스(40)는 상용화된 데이터베이스로서, 데이터셋을 처리하기 위한 일반적인 쿼리 기능을 이용하여, 데이터 쿼리 서비스를 수행한다.Next, the database 40 is a normal database (DB) for storing datasets, and is provided with a database management system (DBMS) for managing data, and queries operations such as saving, deleting, and searching of datasets. (or query statement). In particular, the database 40 is a commercialized database and performs a data query service using a general query function for processing a dataset.

특히, 데이터베이스(40)는 빅데이터를 저장하는 데이터베이스이다. 또한, 바람직하게는, 데이터베이스(40)는 관계형 데이터베이스(RDB)로 구성된다.In particular, the database 40 is a database that stores big data. Also preferably, the database 40 is comprised of a relational database (RDB).

또한, 데이터베이스(40)는 작성 서버(30)에 직접 연결된 데이터베이스로 구현될 수도 있고, 인터넷 상에서 독립된 DB 서버로서 구현될 수 있다.In addition, the database 40 may be implemented as a database directly connected to the creation server 30, or may be implemented as an independent DB server on the Internet.

특히, 데이터베이스(40)는 DBMS에 의해 구동되는 하나의 서버로 구현될 수 있다. 즉, 데이터베이스(40)는 하나의 서버로서, 작성 서버(30)의 요청에 따라 요청된 데이터셋을 열람/제공하는 서비스를 제공한다. 따라서 데이터베이스와 DB 서버는 동일한 참조 번호를 사용한다.In particular, the database 40 may be implemented as one server driven by a DBMS. That is, the database 40, as one server, provides a service of viewing/providing a requested data set according to a request of the creation server 30. Therefore, the database and DB server use the same reference number.

다음으로, 본 발명의 엑셀 도구를 이용한 온라인 보고서 작성 시스템을 도 2를 참조하여 설명한다.Next, an online report creation system using the Excel tool of the present invention will be described with reference to FIG. 2 .

도 2에서 보는 바와 같이, 본 발명의 일실시예에 따른 엑셀 도구를 이용한 온라인 보고서 작성 시스템(30)은 웹 상에서 보고서 화면의 디자인 서비스를 제공하는 화면 편집부(31), 그리드를 편집하는 그리드 편집부(32), 컨트롤 객체를 편집하는 컨트롤 편집부(33), 그리드 및 컨트롤 객체로 구성된 보고서를 웹 상에서 표시하는 보고서 뷰어부(34), 엑셀 문서 또는 템플릿에 따라 그리드 객체의 내용을 표시하는 그리드 표시부(35), 엑셀 문서의 워크시트를 초기화 하는 워크시트 초기화부(61), 가공변수를 설정하는 가공변수 설정부(62), 데이터셋을 로드하는 데이터셋 로드부(63), 및 편집결과를 저장하는 편집결과 저장부(64)로 구성된다. 또한, 필요한 데이터를 저장하기 위한 저장부(38)를 더 포함하여 구성될 수 있다.As shown in FIG. 2, the online report writing system 30 using an Excel tool according to an embodiment of the present invention includes a screen editing unit 31 that provides a report screen design service on the web, and a grid editing unit that edits a grid ( 32), a control editing unit 33 that edits control objects, a report viewer unit 34 that displays reports composed of grids and control objects on the web, and a grid display unit 35 that displays the contents of grid objects according to Excel documents or templates. ), a worksheet initialization unit 61 that initializes the worksheet of an Excel document, a processing variable setting unit 62 that sets processing variables, a data set loading unit 63 that loads a data set, and stores editing results. It is composed of an editing result storage unit 64. In addition, it may be configured to further include a storage unit 38 for storing necessary data.

이때, 화면 편집부(31), 그리드 편집부(32), 컨트롤 편집부(33), 보고서 뷰어부(34), 그리드 표시부(35)는 작성 서버(30)에서 구비되고, 워크시트 초기화부(61), 가공변수 설정부(62), 데이터셋 로드부(63), 편집결과 저장부(64)는 확장 모듈(60)에서 구비된다.At this time, the screen editing unit 31, the grid editing unit 32, the control editing unit 33, the report viewer unit 34, and the grid display unit 35 are provided in the creation server 30, and the worksheet initialization unit 61, The processing variable setting unit 62, the data set loading unit 63, and the editing result storage unit 64 are provided in the extension module 60.

먼저, 화면 편집부(31)는 웹 상에서 보고서 화면의 디자인 서비스를 제공한다.First, the screen editing unit 31 provides a report screen design service on the web.

웹 상에서의 보고서는, 가공된 데이터셋(가공 데이터셋)을 표시하는 그리드 객체와, 가공 변수와 매핑되어 가공 변수 값을 입력받는 컨트롤 객체로 구성된다.A report on the web is composed of a grid object displaying a processed data set (processed data set) and a control object mapped to a processed variable to receive the value of the processed variable.

도 3에서 보는 바와 같이, 화면 편집부(31)는 위지윅(WYSIWYG) 방식 및 드래그앤드롭(Drag & Drop) 방식으로 그리드 객체 또는 컨트롤 객체를 생성하고, 화면 상에 배치하도록 지원한다.As shown in FIG. 3 , the screen editing unit 31 creates a grid object or a control object using a WYSIWYG method and a drag & drop method, and supports arranging them on the screen.

또한, 화면 편집부(31)는 그리드 객체 또는 컨트롤 객체에 대하여, 그리드 편집부(32) 또는 컨트롤 편집부(33)을 통해, 세부적으로 편집하는 서비스를 제공한다.In addition, the screen editing unit 31 provides a detailed editing service for a grid object or control object through the grid editing unit 32 or the control editing unit 33 .

다음으로, 그리드 편집부(32)는 그리드 객체를 편집하되, 하나의 그리드 객체에 대한 정보를 하나의 엑셀 문서 등에 저장하여 관리하고, 확장된 엑셀 도구(20)에 의한 엑셀 문서의 편집으로 그리드 객체를 편집한다.Next, the grid editing unit 32 edits the grid object, stores and manages information about one grid object in one Excel document, etc., and edits the grid object by editing the Excel document by the extended Excel tool 20. Edit.

즉, 그리드 편집부(32)는 각 그리드 객체에 매핑되는 엑셀 문서 등을 생성 또는 보관한다. 엑셀 문서 등(또는 편집결과 정보)은 엑셀 문서, 템플릿(그리드 템플릿), 데이터셋 로드 정보 등으로 구성된다. 템플릿, 데이터셋 로드 정보 등을 추가 정보라 부르기로 한다.That is, the grid editing unit 32 creates or stores an Excel document or the like mapped to each grid object. Excel documents (or editing result information) are composed of Excel documents, templates (grid templates), and data set load information. Template, data set load information, etc. will be referred to as additional information.

해당 엑셀 문서는 뷰 영역 시트, 데이터 영역 시트, 파라미터 영역 시트 등으로 구성되어, 그리드 객체의 정보를 담은 엑셀 파일이다. 템플릿(또는 그리드 템플릿)은 뷰 영역 시트의 테이블(또는 그리드)의 형태, 서식, 수식 등을 저장하는 데이터 구조체이다. 뷰 영역 시트의 내용을 보다 빠르게 해석하여 이용하기 위한 것이다. 또한, 데이터셋 로드 정보는 데이터베이스에 연결하기 위한 DB연결 정보, 데이터베이스에서 실행할 쿼리문(SQL 등)으로 구성된다.The corresponding Excel document is composed of a view area sheet, data area sheet, parameter area sheet, etc., and is an Excel file containing grid object information. A template (or grid template) is a data structure that stores the form, format, formula, etc. of a table (or grid) in a view area sheet. This is to analyze and use the contents of the view area sheet more quickly. In addition, data set load information consists of DB connection information for connecting to the database and query statements (SQL, etc.) to be executed in the database.

특히, 그리드 편집부(32)는 각 그리드 객체에 대한 편집 요청을 받으면, 해당 그리드 객체에 매핑된(연동된) 엑셀 문서 등이 존재하는지를 판단한다. 존재하면, 해당 엑셀 문서를 열기(open)하면서 확장된 엑셀 도구(20)를 실행시킨다. 존재하지 않으면, 새로운 엑셀 문서를 생성하고, 생성된 엑셀 문서를 열면서 확장된 엑셀 도구(20)를 실행시킨다. 이때, 확장된 엑셀 도구(20) 또는 워크시트 초기화부(61)는 해당 엑셀 문서를 초기화 한다. 특히, 워크시트 초기화부(61)에 의해 초기 워크시트가 생성되고 초기화 된다.In particular, when receiving an editing request for each grid object, the grid editing unit 32 determines whether an Excel document mapped (linked) to the corresponding grid object exists. If present, the extended Excel tool 20 is executed while opening the corresponding Excel document. If it does not exist, a new Excel document is created, and the expanded Excel tool 20 is executed while opening the created Excel document. At this time, the expanded Excel tool 20 or the worksheet initialization unit 61 initializes the corresponding Excel document. In particular, an initial worksheet is created and initialized by the worksheet initialization unit 61 .

또한, 그리드 편집부(32)는 확장된 엑셀 도구(20)에 의해 엑셀 문서의 작성이 완료되면, 저장된 엑셀 문서 등(또는 편집결과 정보)을 참조하여 그 내용에 따라 그리드 객체를 갱신한다. 이때, 바람직하게는, 그리드 표시부(35)를 통해, 엑셀 문서 등의 내용에 따라 그리드 객체의 내용을 화면 상에 표시한다.In addition, when the creation of the Excel document is completed by the expanded Excel tool 20, the grid editing unit 32 refers to the stored Excel document (or editing result information) and updates the grid object according to the content. At this time, preferably, the content of the grid object is displayed on the screen through the grid display unit 35 according to the content of the Excel document.

다음으로, 컨트롤 편집부(33)는 컨트롤 객체를 편집하도록 인터페이스를 제공한다.Next, the control editing unit 33 provides an interface to edit the control object.

컨트롤 객체는 버튼, 콤보박스, 도형, 텍스트 박스 등 웹 보고서를 표현하기 위한 객체들이다. 특히, 컨트롤 객체는 버튼, 콤보박스, 체크박스, 입력 박스 등 명령 또는 데이터를 입력받기 위한 객체를 포함한다. 이때, 입력되는 명령 또는 데이터를 컨트롤 객체의 입력값이라 부르기로 한다.Control objects are objects used to express web reports, such as buttons, combo boxes, shapes, and text boxes. In particular, control objects include objects for receiving commands or data, such as buttons, combo boxes, check boxes, and input boxes. At this time, the input command or data will be referred to as an input value of the control object.

컨트롤 편집부(33)는 그리드 객체의 엑셀 문서 등으로부터 가공 변수 정보를 읽어들여, 가공 변수를 선언한다(즉, 가공 변수로 정의하여 설정한다). 즉, 그리드 객체의 엑셀 문서에는 파라미터 영역 시트에 가공 변수들이 선언된다. 컨트롤 편집부(33)는 각 그리드 객체의 엑셀 문서에 저장된 가공 변수들을 읽어들여, 해당 가공 변수를 컨트롤 객체에서 사용할 수 있도록 선언한다.The control editing unit 33 reads processing variable information from an Excel document of the grid object and declares processing variables (that is, defines and sets processing variables). That is, in the Excel document of the grid object, processing variables are declared in the parameter area sheet. The control editor 33 reads the processing variables stored in the Excel document of each grid object and declares the processing variables to be used in the control object.

또한, 컨트롤 편집부(33)는 컨트롤 객체를 가공 변수에 매핑시키는 서비스를 제공한다. 즉, 사용자는 특정 컨트롤 객체에 특정 가공 변수를 매핑시킬 수 있다. 바람직하게는, 컨트롤 객체를 가공 변수의 이름으로 정의함으로써, 가공 변수와, 컨트롤 객체와 매핑된다.Also, the control editing unit 33 provides a service of mapping control objects to processing variables. That is, the user can map a specific processing variable to a specific control object. Preferably, by defining the control object as the name of the process variable, the process variable and the control object are mapped.

컨트롤 객체가 가공 변수에 매핑되면, 해당 컨트롤 객체의 입력값이 해당 가공 변수의 변수값으로 자동으로 매핑한다.When a control object is mapped to a processing variable, the input value of the corresponding control object is automatically mapped to the variable value of the corresponding processing variable.

또한, 보고서 뷰어뷰(34)에 의해, 컨트롤 객체의 입력값이 갱신(입력)되는 것(갱신 이벤트)이 감지되면, 매핑된 가공 변수의 변수값을 갱신된(입력된) 입력값으로 바인딩하여 모든 객체가 갱신된다.In addition, when the update (input) of the input value of the control object is detected by the report viewer view 34 (update event), the variable value of the mapped processing variable is bound to the updated (input) input value. All objects are updated.

다음으로, 보고서 뷰어부(34)는 편집된 보고서를 화면 상에 출력한다.Next, the report viewer unit 34 outputs the edited report on the screen.

즉, 보고서 뷰어부(34)는 컨트롤 객체와 그리드 객체의 내용을 화면 상에 출력하고, 컨트롤 객체에서 입력값의 입력 이벤트(갱신 이벤트)가 발생하면 해당 컨트롤 객체에 매핑된 가공 변수의 변수값을 갱신하여 화면 상의 모든 객체를 갱신 출력한다.That is, the report viewer unit 34 outputs the contents of the control object and the grid object on the screen, and when an input event (update event) of the input value occurs in the control object, the variable value of the processing variable mapped to the control object It is updated to update all objects on the screen.

구체적으로, 보고서 뷰어부(34)는 각 그리드 객체의 내용을 출력하되, 해당 그리드 객체의 엑셀 문서 등에 정의된 내용을 읽어들여 출력한다. 이때, 보고서 뷰어부(34)는 그리드 표시부(35)를 통해, 엑셀 문서 등(템플릿)의 내용에 따라 그리드의 형태를 편집하고, 해당 그리드에 가공 데이터셋을 반영하여 출력한다.Specifically, the report viewer unit 34 outputs the contents of each grid object, and reads and outputs the contents defined in the Excel document of the corresponding grid object. At this time, the report viewer unit 34 edits the shape of the grid according to the contents of the Excel document or the like (template) through the grid display unit 35, reflects the processed data set on the corresponding grid, and outputs it.

또한, 보고서 뷰어뷰(34)는 컨트롤 객체의 입력값이 갱신(입력)되는 이벤트를 감지한다. 그리고 이벤트가 감지되면, 매핑된 가공 변수의 변수값을 갱신된(입력된) 입력값으로 바인딩하여 모든 객체를 갱신한다.In addition, the report viewer view 34 detects an event in which an input value of a control object is updated (input). And when an event is detected, all objects are updated by binding the variable value of the mapped processing variable to the updated (input) input value.

바람직하게는, 보고서 뷰어뷰(34)는 그리드를 표시하는 뷰어를 구비한다. 그리드 뷰어는 웹 형식(HTML 5.0 이상) 또는 캔버스(Canvas) 기반으로 DOM(Document Object Model) 기반의 컴포넌트로 구성된다. 따라서 월등히 빠른 렌더링(Rendering) 속도를 지원한다.Preferably, report viewer view 34 includes a viewer that displays a grid. The grid viewer is composed of DOM (Document Object Model)-based components based on web format (HTML 5.0 or higher) or Canvas. Therefore, it supports extremely fast rendering speed.

도 4는 웹 상에서 보고서를 표시한 것을 예시하고 있다.4 illustrates displaying a report on the web.

다음으로, 워크시트 초기화부(61)는 엑셀 문서의 워크시트를 초기화 한다.Next, the worksheet initialization unit 61 initializes the worksheet of the Excel document.

도 5에서 보는 바와 같이, 워크시트 초기화부(61)는 엑셀 문서에서 뷰 영역(V), 데이터 영역(D), 파라미터 영역(P)을 나타내는 각 워크시트를 생성한다.As shown in FIG. 5, the worksheet initialization unit 61 creates each worksheet representing a view area (V), a data area (D), and a parameter area (P) in an Excel document.

워크시트 초기화부(61)는 엑셀 도구(20)가 호출되면 실행된다.The worksheet initialization unit 61 is executed when the Excel tool 20 is called.

뷰 영역의 워크시트(이하 뷰 영역 시트)는 웹 상에서 화면으로 표시할 그리드 또는 테이블의 표시 형태를 디자인하는 워크시트이다. 사용자는 뷰 영역 시트 상에서 테이블 등을 디지인한다. 디자인된 테이블 등은 그리드 객체의 형태로 이용된다. 특히, 사용자는 엑셀 도구(20)의 인터페이스를 이용하여 테이블 등을 디자인한다.The worksheet of the view area (hereinafter referred to as the view area sheet) is a worksheet for designing the display form of a grid or table to be displayed on the screen on the web. The user designs a table or the like on the view area sheet. The designed table is used in the form of a grid object. In particular, the user designs a table or the like using the interface of the Excel tool 20 .

또한, 뷰 영역의 워크시트 상에서 테이블 내의 각 영역 또는 셀은 데이터 영역 시트의 셀 또는 가공 변수의 셀을 참조한다. 즉, 사용자는 엑셀 도구(20) 상에서 엑셀 기능을 활용하여 뷰 영역 시트를 작성한다. 이때, 테이블의 각 셀 또는 영역에는 직접 수치가 입력되거나, 참조되는 다른 셀이 입력된다. 즉, 셀/영역 참조 방식은 직접 셀(영역)의 위치로 입력되거나, 셀 이름으로 입력된다. 가공 변수는 가공 변수의 셀 이름으로 입력된다.In addition, each area or cell in the table on the worksheet in the view area refers to a cell in the data area sheet or a cell in the processing variable. That is, the user creates a view area sheet by utilizing an Excel function on the Excel tool 20 . At this time, a numerical value is directly input into each cell or area of the table, or another cell referred to is input. That is, the cell/region reference method is directly entered as the location of the cell (region) or as the cell name. Processing variables are entered as cell names of processing variables.

또한, 뷰 영역에 표시되는 데이터셋은 기초 데이터셋을 가공한 가공 데이터셋이다.In addition, the data set displayed in the view area is a processed data set obtained by processing the basic data set.

또한, 데이터 영역(D)의 워크시트(이하 데이터 영역 시트)는 데이터베이스에서 로드하는 데이터셋을 각 셀에서 입력받아 저장하는 워크시트이다. 이때, 데이터베이스에서 로드하는 데이터셋을 기초 데이터셋이라 부르기로 한다.In addition, the worksheet of the data area (D) (hereafter referred to as a data area sheet) is a worksheet in which a data set loaded from a database is entered in each cell and stored. At this time, the data set loaded from the database is referred to as the basic data set.

또한, 파라미터 영역(P)의 워크시트(이하 파라미터 영역 시트)는 데이터셋의 가공 변수를 설정하는 워크시트이다. 가공 변수는 하나의 셀의 이름으로 설정되고, 가공 변수의 변수값은 해당 셀 내의 입력되는 값으로 설정된다.In addition, the worksheet of the parameter area P (hereinafter referred to as parameter area sheet) is a worksheet for setting processing variables of the data set. The processing variable is set as the name of one cell, and the variable value of the processing variable is set as the input value in the cell.

워크시트 초기화부(61)는 파라미터 영역 시트 상에 가공 변수를 정의하는 테이블을 생성한다. 가공 변수 테이블은 각각이 가공 변수를 나타내는 다수의 레코드로 구성된다.The worksheet initialization unit 61 creates a table defining processing variables on a parameter area sheet. The process variable table consists of a number of records each representing a process variable.

각 레코드는 변수명(변수 이름), 변수정의, 초기값, 설명 등 필드로 구성된다. 변수명 필드는 해당 가공 변수의 이름(또는 변수명)을 입력하는 셀이고, 변수정의 필드는 가공 변수의 이름(또는 변수명 필드값)으로 자신의 셀 이름을 설정하는 셀이다. 또한, 초기값 필드와 설명 필드는 각각 가공변수의 초기값이나 설명을 입력하는 셀이다.Each record consists of fields such as variable name (variable name), variable definition, initial value, and description. The variable name field is a cell to input the name (or variable name) of the processing variable, and the variable definition field is a cell to set its own cell name with the name (or variable name field value) of the processing variable. In addition, the initial value field and the description field are cells for inputting the initial value or description of each processing variable.

특히, 변수정의 필드는 자신의 셀 이름이 변수명(가공변수의 이름)으로 설정되므로, 변수정의 필드에 입력되는 셀의 값이 해당 가공 변수의 변수값이 된다.In particular, since the cell name of the variable definition field is set as the variable name (processing variable name), the value of the cell entered in the variable definition field becomes the variable value of the corresponding processing variable.

즉, 사용자는 엑셀 도구(20) 상에서 가공변수의 이름을 셀의 이름 형태로 사용할 수 있다. 예를 들어, 엑셀 도구(20) 상에서 셀의 수식에 가공변수의 이름을 기재하면, 해당 셀 수식에서 가공 변수는 가공 변수의 변수정의 필드(셀)에 설정된 값으로 대체된다. 따라서 엑셀 도구(20) 상에서 해당 가공변수의 이름은 가공 변수와 같이 활용될 수 있다.That is, the user can use the name of the processing variable in the form of a cell name on the Excel tool 20. For example, if the name of a processing variable is written in a cell formula on the Excel tool 20, the processing variable in the corresponding cell formula is replaced with a value set in the variable definition field (cell) of the processing variable. Therefore, the name of the processing variable on the Excel tool 20 can be used as a processing variable.

또한, 가공 변수는 쿼리문의 바인딩 구문에서 변수로 활용될 수 있다. 이때, 가공 변수의 변수값은 해당 가공 변수의 변수정의 필드(셀)에 입력된 값이다.In addition, processing variables can be used as variables in the binding syntax of query statements. At this time, the variable value of the processing variable is a value entered in the variable definition field (cell) of the corresponding processing variable.

한편, 워크시트 초기화부(61)는 이미 저장된 데이터셋 로드 정보가 존재하는 경우, 데이터셋 로드 정보를 활용하여 기초 데이터셋을 다시 가져와서, 데이터 영역 시트의 내용을 갱신한다.On the other hand, the worksheet initialization unit 61 refetches the basic data set by utilizing the data set load information when there is already stored data set load information, and updates the contents of the data area sheet.

다음으로, 가공변수 설정부(62)는 파라미터 영역 시트 상에서 가공변수를 설정한다.Next, the processing variable setting unit 62 sets processing parameters on the parameter area sheet.

도 6에서 보는 바와 같이, 가공변수 설정부(62)는 특정 레코드의 변수명 필드에 변수명(변수 이름)이 입력되면, 해당 레코드의 변수정의 필드의 셀 이름을, 입력된 변수명(변수 이름)으로 설정한다.As shown in FIG. 6, when a variable name (variable name) is input in the variable name field of a specific record, the processing variable setting unit 62 converts the cell name of the variable definition field of the record to the input variable name (variable name). ) is set.

한편, 가공 변수의 이름(변수명)은 셀의 이름으로 정의되므로, 해당 셀에 입력되는 셀 값이 해당 가공변수의 변수값이 된다. 즉, 셀 이름이 변수로 활용된다.On the other hand, since the name (variable name) of the processing variable is defined as the name of the cell, the cell value input to the corresponding cell becomes the variable value of the corresponding processing variable. That is, the cell name is used as a variable.

즉, 각 가공변수는 엑셀의 네임(Name) 객체로 관리되고, 해당 네임(Name)의 값은 사용자가 해당 셀에서 입력한 값으로 대체된다. 엑셀의 네임(Name)은 엑셀에서 셀 주소들에 대하여 고유한 이름을 정의하고, 해당 이름을 사용할 수 있다. 그리고 해당 이름은 해당 셀(이름에 대응되는 셀 또는 셀 주소)과 대응되고, 해당 이름은 최종적으로 셀 값으로 대체되어 계산된다.That is, each processing variable is managed as a Name object in Excel, and the value of the corresponding Name is replaced with the value entered by the user in the corresponding cell. Name in Excel defines a unique name for cell addresses in Excel, and you can use that name. Then, the corresponding name corresponds to the corresponding cell (cell or cell address corresponding to the name), and the corresponding name is finally replaced with the cell value and calculated.

예를 들어, 셀 A1의 이름을 "주소"로 정의하고, 셀 A1에 "서울시 종로구 혜화동 90번지"라는 값을 입력하고, B1 셀에서 "=주소"라는 수식을 사용한다. 이때, 수식에서 "주소"는 이름이고, 해당 이름은 해당 셀(대응되는 셀)의 값("서울시 종로구 혜화동 90번지")으로 대체된다. 따라서 셀 B1에는 최종적으로 "서울시 종로구 혜화동 90번지"의 값으로 계산된다.For example, define the name of cell A1 as "address", enter the value "90 Hyehwa-dong, Jongno-gu, Seoul" into cell A1, and use the formula "=address" in cell B1. At this time, "address" in the formula is a name, and the name is replaced with the value of the corresponding cell (corresponding cell) ("90 Hyehwa-dong, Jongno-gu, Seoul"). Therefore, in cell B1, the value of “90 Hyehwa-dong, Jongno-gu, Seoul” is finally calculated.

다음으로, 데이터셋 로드부(63)는 쿼리문을 작성하고, 쿼리문에 의해 데이터베이스로부터 기초 데이터셋을 로드하고, 그 로드 정보를 저장하는 서비스를 제공한다. Next, the dataset loading unit 63 provides a service of preparing a query statement, loading a basic dataset from the database by the query statement, and storing the load information.

도 7에서 보는 바와 같이, 데이터셋 로드부(63)는 데이터베이스(40)에 연결하기 위한 키 등 연결 정보를 입력하는 기능 또는 인터페이스를 제공한다. 사용자는 키 등 연결정보를 입력함으로써, 데이터베이스(40)에 접근한다.As shown in FIG. 7 , the dataset loading unit 63 provides a function or interface for inputting connection information such as a key for connecting to the database 40 . The user accesses the database 40 by inputting connection information such as a key.

또한, 데이터셋 로드부(63)는 데이터베이스(40)에서 기초 데이터셋을 참조하는 쿼리문을 작성하는 기능 또는 인터페이스를 제공한다. 특히, 쿼리문을 직접 작성하거나 드래그앤드롭 방식의 GUI(그래픽 유저 인터페이스)를 통해 쿼리문을 작성하는 기능을 제공한다.In addition, the dataset loading unit 63 provides a function or interface for creating a query statement referring to a basic dataset in the database 40 . In particular, it provides a function of writing a query statement directly or through a drag-and-drop GUI (Graphic User Interface).

도 8에서 보는 바와 같이, 데이터셋 로드부(63)는 쿼리문에 의해, 데이터베이스로부터 기초 데이터셋을 로드하여 데이터 영역 시트에 출력한다. 이때, 출력위치는 사전에 정해지거나, 사용자에 의해 설정될 수 있다. 이때, 바람직하게는, 해당 데이터 영역 시트의 첫 행에 데이터셋의 필드명을 출력하고, 그 다음 행부터 데이터셋을 출력한다.As shown in FIG. 8 , the data set loading unit 63 loads a basic data set from a database using a query statement and outputs it to a data area sheet. At this time, the output position may be determined in advance or set by the user. At this time, preferably, the field name of the data set is output on the first row of the corresponding data area sheet, and the data set is output from the next row.

또한, 데이터셋 로드부(63)는 기초 데이터셋의 로드 정보를 저장한다. 기초 데이터셋 로드 정보는 데이터베이스에 연결하기 위한 DB연결 정보, 데이터베이스에서 실행할 쿼리문(SQL 등)으로 구성된다. 바람직하게는, 기초 데이터셋을 출력할 위치 주소를 나타내는 출력위치 정보를 더 포함할 수 있다.In addition, the dataset loader 63 stores load information of the basic dataset. Basic dataset load information consists of DB connection information for connecting to the database and query statements (SQL, etc.) to be executed in the database. Preferably, output location information indicating a location address to output the basic dataset may be further included.

DB연결 정보는 시스템 내 데이터베이스 연결 정보를 관리하며, DB서버 주소, 해당 정보에 접근할 수 있는 키 값 등을 포함한다. 해당 키를 가지고 내부적으로 데이터 베이스 연결 정보를 추출한다.DB connection information manages database connection information in the system, and includes the DB server address and key values for accessing the information. Database connection information is extracted internally with the corresponding key.

쿼리문은 데이터베이스에서 실행할 통상의 SQL 구문이다.A query statement is a normal SQL statement to be executed in the database.

또한, 출력위치 정보는 쿼리를 실행한 결과를 출력할 위치에 대한 주소 값을 포함한다. 일례로서, "D1$A1"로 표시되고, 이것은 D1 워크시트의 A1 셀부터 출력한다는 의미이다.In addition, the output location information includes an address value for a location to output a query execution result. As an example, it is displayed as "D1$A1", which means to output from cell A1 of the D1 worksheet.

다음으로, 편집결과 저장부(64)는 엑셀 도구(20)가 종료될 때, 워크시트 상에서 작업된 편집 결과를 저장한다. 특히, 편집 결과는 엑셀 문서, 템플릿, 데이터셋 로드 정보 등이다.Next, the editing result storage unit 64 stores editing results performed on the worksheet when the Excel tool 20 is terminated. In particular, the editing results are Excel documents, templates, and data set load information.

엑셀 문서는 엑셀 도구(20)에서 작업한 문서이며, 문서 자체로 저장된다.An Excel document is a document worked in the Excel tool 20, and is saved as a document itself.

앞서 설명한 바와 같이, 엑셀 문서는 뷰 영역 시트, 데이터 영역 시트, 파라미터 영역 시트로 구성된다. 데이터 영역 시트에는 기초 데이터셋이 입력된다. 이때, 사용자는 뷰 영역 시트에서 그리드를 위한 테이블을 편집하는데, 기초 데이터셋을 참조하여 분석된 데이터를 테이블에 표시되도록 편집한다.As described above, an Excel document is composed of a view area sheet, a data area sheet, and a parameter area sheet. In the data area sheet, the basic data set is entered. At this time, the user edits the table for the grid in the view area sheet, and edits the analyzed data to be displayed in the table with reference to the basic data set.

도 9에서 보는 바와 같이, 뷰 영역 시트 내의 테이블에서, 셀은 데이터 영역 시트의 데이터(또는 셀)를 참조한다. 뷰 영역 시트의 셀 C5에는 함수 sumif를 사용한 수식을 가진다. 이때, 함수 sumif의 각 변수 중 일부가 데이터 영역 시트(D1)의 셀 또는 영역을 참조한다.As shown in Fig. 9, in a table in a view area sheet, a cell refers to data (or cells) in a data area sheet. Cell C5 of the view area sheet contains a formula using the function sumif. At this time, some of the variables of the function sumif refer to cells or regions of the data area sheet D1.

사용자는 데이터 영역 시트를 보면서, 데이터베이스에서 가져온 기초 데이터셋의 구조를 명확히 볼 수 있다. 따라서 사용자는 데이터 영역 시트의 데이터를 이용하여, 뷰 영역 시트에서 테이블을 손쉽게 디자인할 수 있다.Viewing the data area sheet, users can clearly see the structure of the underlying dataset pulled from the database. Therefore, the user can easily design a table in the view area sheet by using the data in the data area sheet.

또한, 데이터셋 로드 정보는 데이터베이스에 연결하기 위한 DB연결 정보, 데이터베이스에서 실행할 쿼리문(SQL 등)으로 구성된다.In addition, data set load information consists of DB connection information for connecting to the database and query statements (SQL, etc.) to be executed in the database.

또한, 템플릿(또는 그리드 템플릿)은 엑셀 문서 내의 뷰 영역 시트의 테이블(또는 그리드)의 형태, 서식, 수식 등을 저장하는 데이터 구조체이다. 엑셀 문서의 뷰 영역 시트의 내용을 보다 빠르게 해석하여 이용하기 위한 것이다. 바람직하게는, 템플릿 정보는 JSON(JavaScript Object Notation) 등 표준 스크립트 데이터 형식으로 저장한다.Also, a template (or grid template) is a data structure that stores the form, format, formula, etc. of a table (or grid) of a view area sheet in an Excel document. This is to interpret and use the contents of the view area sheet of the Excel document more quickly. Preferably, the template information is stored in a standard script data format such as JSON (JavaScript Object Notation).

특히, 뷰 영역 시트 상의 테이블의 각 셀은 데이터 영역 시트 상의 기초 데이터셋의 셀을 수식으로 참조한다. 따라서 템플릿 내의 셀 수식 정보에는 데이터 영역 시트 상의 셀(또는 기초 데이터셋, 기초 데이터셋의 데이터)을 참조하는 정보가 포함된다.In particular, each cell of the table on the view area sheet references a cell of the underlying dataset on the data area sheet as a formula. Therefore, the cell formula information in the template includes information referring to cells (or basic data sets or data of basic data sets) on the data area sheet.

한편, 다른 실시예로서, 템플릿을 이용하지 않고 직접 엑셀 문서를 해석하여 구현할 수 있다. 이 경우, 템플릿을 따라 생성하지 않는다.Meanwhile, as another embodiment, it may be implemented by directly interpreting an Excel document without using a template. In this case, it is not created according to the template.

특히, 편집결과 저장부(64)는 엑셀 문서의 뷰영역 시트 상의 테이블로부터 그리드 구조 정보를 추출하여, 템플릿 정보로 저장한다.In particular, the editing result storage unit 64 extracts grid structure information from the table on the view area sheet of the Excel document and stores it as template information.

즉, 뷰 영역 시트 상이 테이블로부터, 각 테이블의 구조, 및, 테이블 또는 각 셀의 속성(서식, 수식 등) 등 그리드 구조 정보를 추출하여 템플릿으로 저장한다. 바람직하게는, 템플릿은 JSON 등 계층 구조를 가지는 형식으로 작성된다. 테이블 구조는 템플릿의 계층 구조로 변환되고, 테이블의 각 셀의 속성은 템플릿의 계층 구조의 리프 노드의 속성으로 변환된다. 각 셀의 속성은 셀 값, 서식, 수식 등으로 구성된다.That is, grid structure information such as the structure of each table and the properties (format, formula, etc.) of each table or cell is extracted from the table on the view area sheet and stored as a template. Preferably, the template is written in a format having a hierarchical structure such as JSON. The table structure is converted into a hierarchical structure of the template, and the attributes of each cell of the table are converted into the attributes of the leaf nodes of the hierarchical template structure. The properties of each cell consist of cell values, formats, and formulas.

도 10은 테이블에 대한 템플릿의 그리드 구조 정보를 예시한 도면이다. 즉, 도 10a는 엑셀 문서의 뷰영역 시트의 피벗 테이블을 예시하고, 도 10b는 도 10a의 피벗 테이블의 템플릿 정보(그리드 구조 정보)를 예시하고 있다. 특히, 템플릿 정보는 JSON(JavaScript Object Notation) 형식으로 저장된다. 즉, 피벗 테이블을 계층 구조로 분해하여, 각 계층의 요소와, 해당 요소의 속성 값들로 구성된다.10 is a diagram illustrating grid structure information of a template for a table. That is, FIG. 10A illustrates a pivot table of a view area sheet of an Excel document, and FIG. 10B illustrates template information (grid structure information) of the pivot table of FIG. 10A. In particular, template information is stored in JSON (JavaScript Object Notation) format. That is, the pivot table is decomposed into a hierarchical structure, and is composed of elements of each hierarchy and attribute values of the elements.

또한, 객체가 테이블인 경우, 해당 테이블의 헤더 행과, 데이터의 1번째 행의 구조 정보만을 템플릿으로 저장한다. 테이블에서 데이터 행의 서식이 교차 행인 경우, 연속된 2개의 데이터 행의 서식(속성)을 모두 저장한다.In addition, if the object is a table, only the structure information of the header row of the corresponding table and the first row of data is stored as a template. If the format of data rows in a table is cross-row, all formats (attributes) of two consecutive data rows are saved.

다음으로, 그리드 표시부(35)는 엑셀 문서 등을 해석하여 그리드를 생성한다. 즉, 템플릿에 따라 그리드 구조를 생성하고 출력하고, 템플릿의 기초 데이터셋의 로드 정보에 따라 기초 데이터셋을 가져와서 그리드에 가공 데이터셋을 반영하여 출력한다.Next, the grid display unit 35 generates a grid by analyzing an Excel document or the like. That is, a grid structure is created and output according to the template, the basic data set is imported according to the loading information of the basic data set of the template, and the processed data set is reflected on the grid and output.

먼저, 그리드 표시부(35)는 템플릿의 그리드 구조에 따라 그리드의 형태를 생성한다. 앞서 설명한 바와 같이, 템플릿 파일은 JSON 등 표준 스크립트 데이터 형식으로 작성되었으므로, 해당 스크립트 데이터 형식의 파서를 이용하여 해석한다.First, the grid display unit 35 creates a grid shape according to the grid structure of the template. As described above, since the template file is written in a standard script data format such as JSON, it is analyzed using the parser of the script data format.

즉, 피벗 테이블 객체인 경우 해당 객체의 JSON 데이터를 해석하여 피벗 테이블을 복원하고, 일반 테이블 객체인 경우 해당 객체의 JSON 데이터를 해석하여 테이블의 헤더 행과 데이터의 1번째 행(또는 1번째와 2번째 행)을 복원한다. 바람직하게는, 여기서의 그리드는 메모리 상에 적재되는 데이터일 수 있다.That is, in the case of a pivot table object, the pivot table is restored by interpreting the object's JSON data, and in the case of a general table object, the object's JSON data is interpreted to restore the header row of the table and the first row of data (or the first and second rows). row) is restored. Preferably, the grid herein may be data loaded onto memory.

특히, 서버에서 사용자의 요청이 있을 경우, 실시간으로 해석한다. 한편, 템플릿 파일은 엑셀 문서 보다 경량화 되어 있으며, 빠른 속도로 로딩할 수 있다.In particular, if there is a user request in the server, it is interpreted in real time. On the other hand, template files are lighter than Excel documents and can be loaded at high speed.

또한, 그리드 표시부(35)는 로드 정보에 따라, 데이터베이스로부터 기초 데이터를 로드한다. 바람직하게는, 데이터베이스의 최신 조회 결과를 실시간으로 반영한다.Also, the grid display unit 35 loads basic data from the database according to the load information. Preferably, the latest query result of the database is reflected in real time.

그리드 표시부(35)는 로드 정보를 참조하여, DB연결 정보로 데이터베이스에 접속하고, 쿼리문 정보로 쿼리문을 생성하여 요청한다. 즉, DB연결 정보의 키 값 등으로 인증을 받아 데이터베이스에 접근한다. 또한, 바인딩 구문을 이용하여 가공 변수를 반영하여 쿼리문을 생성한다. 이때, 가공 변수의 변수값은 해당 가공 변수에 매핑된 컨트롤 객체의 입력값으로 설정된다.The grid display unit 35 refers to the load information, accesses the database using the DB connection information, and generates and requests a query statement using the query statement information. In other words, it accesses the database after being authenticated with the key value of the DB connection information. In addition, a query statement is created by reflecting processing variables using a binding statement. At this time, the variable value of the processing variable is set as the input value of the control object mapped to the corresponding processing variable.

바람직하게는, 그리드 표시부(35)는 데이터베이스(DB)에서 조회한 기초 데이터셋을 메모리에 적재한다. 이때, 기초 데이터셋을 행과 열을 가지는 가상 시트 형태로 적재한다. 즉, 워크시트의 행과 열을 기준으로 기초 데이터셋의 데이터를 참조할 수 있도록 적재한다.Preferably, the grid display unit 35 loads the basic data set retrieved from the database (DB) into memory. At this time, the basic dataset is loaded in the form of a virtual sheet having rows and columns. In other words, it is loaded so that the data of the underlying dataset can be referenced based on the rows and columns of the worksheet.

또한, 그리드 표시부(35)는 기초 데이터셋을 그리드의 데이터 영역에 반영하여 삽입한다.In addition, the grid display unit 35 reflects and inserts the basic data set into the data area of the grid.

특히, 데이터셋 및 해당 그리드의 형태가 테이블인 경우, 해당 그리드에서 데이터셋의 레코드(데이터 행)의 수만큼 행을 동적으로 생성한다. 바인딩 위치를 식별한 뒤 레코드 수만큼 행을 동적으로 생성한다.In particular, if the form of the dataset and the corresponding grid is a table, as many rows as the number of records (data rows) of the dataset are dynamically created in the corresponding grid. After identifying the binding location, dynamically create as many rows as the number of records.

또한, 그리드 표시부(35)는 테이블의 셀이 수식인 경우, 해당 수식을 해석하여 연산된 값을 삽입한다. 특히, 셀 수식에서 데이터 영역 시트의 셀을 참조하는 수식이면, 갱신된 기초 데이터셋(또는 메모리에 적재된 기초 데이터셋)을 참조하여 셀 값을 계산한다.In addition, when the cell of the table is a formula, the grid display unit 35 interprets the formula and inserts the calculated value. In particular, if the cell formula refers to a cell of the data area sheet, the cell value is calculated by referring to the updated basic data set (or the basic data set loaded in memory).

특히, 데이터베이스에서 가져온 기초 데이터셋(갱신된 기초 데이터셋)을 가상 시트 형태로 저장하기 때문에, 엑셀 문서 상에서 기재된 데이터 영역 시트의 셀을 참조하는 수식을 그대로 이용할 수 있다. 이때, 데이터 영역 시트의 이름을 가상 시트(메모리 상에 적재된 가상 시트)로 대체하여 해석한다.In particular, since the basic data set (updated basic data set) imported from the database is stored in the form of a virtual sheet, formulas referring to cells of the data area sheet described in the Excel document can be used as they are. At this time, the name of the data area sheet is replaced with a virtual sheet (virtual sheet loaded in memory) and interpreted.

즉, 그리드 표시부(35)는 레코드 증가에 따른 수식을 자동으로 생성한다.That is, the grid display unit 35 automatically generates formulas according to the number of records.

도 11에서 보는 바와 같이, 템플릿에 바인딩 위치를 식별한 뒤 레코드 수만큼 행을 동적으로 생성하고, 이때 헤더와 데이터 영역을 판단하여 데이터 영역에 수식이 존재할 경우 수식은 행의 생성과 함께 자동 생성한다.As shown in FIG. 11, after identifying the binding position in the template, as many rows as the number of records are dynamically created. At this time, if a formula exists in the data area by determining the header and data area, the formula is automatically created along with the row creation. .

수식은 엑셀(Excel)의 절대 주소와 상대 주소를 해석하여 생성되는 행의 주소 기반으로 자동 증/감하여 생성한다. 절대 주소는 변하지 않고 고정된 셀의 주소를 나타낸다. 상대 주소는 기준 셀의 위치와 해당 셀의 위치의 상대 위치에 따라 주소값이 변동된다.The formula is created by automatically increasing/decreasing based on the address of the row created by interpreting the absolute and relative addresses of Excel. An absolute address represents a fixed, unchanging cell address. In the relative address, the address value changes according to the relative position of the position of the reference cell and the position of the corresponding cell.

또한, 도 11과 같이, 그리드 표시부(35)는 교차 행 및 스타일(서식)을 지원한다. 즉, 교차 행의 서식이 다른 경우를 지원한다. 즉, 템플릿에 바인딩 위치를 식별한 뒤 데이터 영역의 스타일(서식)을 새로 생성하는 행에 반영한다. 데이터 영역의 행의 사이즈가 2개일 경우 교차 행의 스타일(서식)을 지원하여 번갈아 가며 스타일(서식)을 반영할 수 있다. Also, as shown in FIG. 11 , the grid display unit 35 supports cross rows and styles (forms). That is, it supports the case where the formats of the cross rows are different. That is, after identifying the binding position in the template, the style (format) of the data area is reflected in the newly created row. When the size of a row in the data area is 2, the style (format) of the cross row is supported and the style (format) can be reflected alternately.

또한, 그리드 표시부(35)는 그리드 상에서 엑셀(Excel)의 수식을 지원한다. 해당 수식은 템플릿에 정의된다. 수식은 데이터 바인딩 규칙에 따라 새로 생성될 수 있다. 데이터 바인딩은 가공 데이터셋이 표 형태로 출력되는 경우 이 위치의 마지막 주소에 수식이 존재하면 해당 수식을 행별로 자동으로 생성해 주는 것을 의미한다.In addition, the grid display unit 35 supports formulas in Excel on the grid. The expression is defined in the template. Formulas can be newly created according to data binding rules. Data binding means that if a formula exists at the last address of this location when a processed data set is output in the form of a table, the corresponding formula is automatically generated for each row.

이상, 본 발명자에 의해서 이루어진 발명을 상기 실시 예에 따라 구체적으로 설명하였지만, 본 발명은 상기 실시 예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.In the above, the invention made by the present inventors has been specifically described according to the above embodiments, but the present invention is not limited to the above embodiments, and various changes can be made without departing from the gist of the present invention.

10 : 사용자 단말 20 : 엑셀 도구
30 : 작성 서버 31 : 화면 편집부
32 : 그리드 편집부 33 : 컨트롤 편집부
34 : 보고서 뷰어부 35 : 그리드 표시부
38 : 저장부
60 : 확장모듈 61 : 워크시트 초기화부
62 : 가공변수 설정부 63 : 데이터셋 로드부
64 : 편집결과 저장부
80 : 네트워크
10: user terminal 20: excel tool
30: writing server 31: screen editing unit
32: grid editing unit 33: control editing unit
34: report viewer unit 35: grid display unit
38: storage unit
60: extension module 61: worksheet initialization unit
62: processing variable setting unit 63: data set loading unit
64: editing result storage unit
80: network

Claims (7)

작성 서버와 사용자 단말을 포함하는, 엑셀 도구를 이용한 온라인 보고서 작성 시스템에 있어서,
상기 작성 서버는,
웹 상에서 보고서 화면에서 그리드를 편집하되, 하나의 그리드 객체에 대한 정보를 하나의 엑셀 문서에 저장하여 관리하고, 확장된 엑셀 도구에 의한 엑셀 문서의 편집을 통해 그리드 객체를 편집하도록 지원하는 그리드 편집부;
컨트롤 객체를 생성하고 편집하는 컨트롤 편집부;
그리드 객체의 내용을 표시하는 그리드 표시부; 및,
그리드 및 컨트롤 객체로 구성된 보고서를 웹 상에서 표시하되, 상기 그리드 표시부를 통해 그리드 객체를 표시하는, 보고서 뷰어부를 포함하고,
상기 사용자 단말에 설치되는 엑셀 도구에 설치되는 확장 모듈은,
그리드 객체의 편집을 위해 상기 엑셀 도구가 호출되면, 상기 그리드 객체에 매핑된 엑셀 문서가 존재하면 해당 엑셀 문서를 열고, 존재하지 않으면 새로운 엑셀 문서를 생성하고 초기화 하는, 워크시트 초기화부;
상기 엑셀 문서의 워크시트 상에서 기초 데이터셋을 로드하는 데이터셋 로드부;
상기 엑셀 도구가 종료되면, 상기 엑셀 문서, 및, 상기 엑셀 문서 상에서 편집된 결과를 저장하는 편집결과 저장부를 포함하고,
상기 그리드 표시부는 상기 편집결과 저장부에 의해 저장된 상기 엑셀 문서의 내용에 따라 그리드 객체의 내용을 표시하는 것을 특징으로 하는 엑셀 도구를 이용한 온라인 보고서 작성 시스템.
In the online report creation system using an Excel tool, including a creation server and a user terminal,
The creation server,
A grid editing unit that edits a grid on a report screen on the web, stores and manages information about one grid object in one Excel document, and supports editing of the grid object through editing of the Excel document by an extended Excel tool;
a control editing unit that creates and edits control objects;
a grid display unit displaying the contents of the grid object; and,
A report viewer unit displaying a report composed of grid and control objects on the web, displaying the grid object through the grid display unit,
The extension module installed in the Excel tool installed in the user terminal,
a worksheet initialization unit that opens an Excel document mapped to the grid object when the Excel tool is called to edit the grid object, and creates and initializes a new Excel document if it does not exist;
a data set loading unit for loading a basic data set on the worksheet of the Excel document;
When the Excel tool is terminated, an editing result storage unit for storing the Excel document and a result edited on the Excel document,
The online report creation system using an Excel tool, characterized in that the grid display unit displays the contents of the grid object according to the contents of the Excel document stored by the editing result storage unit.
제1항에 있어서,
상기 확장 모듈은, 상기 엑셀 문서의 워크시트 상에서 가공변수를 설정하되, 변수정의 셀의 이름을 가공변수의 이름으로 설정하는, 가공변수 설정부를 더 포함하고,
상기 가공 변수는 상기 엑셀 문서 상에서 그리드에 표시할 테이블의 셀 내의 수식에 사용되고,
상기 컨트롤 편집부는 상기 가공 변수를 컨트롤 객체에 매핑시키고,
상기 보고서 뷰어부는 가공 변수에 매핑된 컨트롤 객체의 입력값을 해당 가공 변수의 변수값으로 설정하는 것을 특징으로 하는 엑셀 도구를 이용한 온라인 보고서 작성 시스템.
According to claim 1,
The extension module further includes a processing variable setting unit that sets processing variables on the worksheet of the Excel document and sets the name of the variable definition cell to the name of the processing variable,
The processing variable is used in a formula in a cell of a table to be displayed in a grid on the Excel document,
The control editing unit maps the processing variable to a control object,
The report viewer unit online report creation system using an Excel tool, characterized in that for setting the input value of the control object mapped to the processing variable as a variable value of the corresponding processing variable.
제2항에 있어서,
상기 워크시트 초기화부는 그리드에 표시할 테이블을 작성하는 뷰 영역 시트, 데이터베이스에서 가져오는 기초 데이터셋을 저장하는 데이터 영역 시트, 가공 변수를 작성하는 파라미터 영역 시트를 상기 엑셀 문서의 워크시트로 생성하고,
상기 뷰 영역 시트 상의 테이블은 상기 데이터 영역 시트 상에 입력된 기초 데이터셋을 참조하되, 상기 뷰 영역 시트 상의 테이블 내의 셀의 수식에서 상기 데이터 영역 시트의 셀을 참조하고,
상기 그리드 표시부는 기초 데이터셋을 데이터베이스에서 가져와서 가상 시트 상에 저장하고, 상기 그리드 객체의 테이블의 각 셀을 수식에 따라 반영할 때, 참조하는 데이터 영역 시트의 셀의 내용 대신, 가상 시트 상의 해당 셀의 내용으로 반영하는 것을 특징으로 하는 엑셀 도구를 이용한 온라인 보고서 작성 시스템.
According to claim 2,
The worksheet initialization unit creates a view area sheet for creating a table to be displayed on the grid, a data area sheet for storing basic data sets retrieved from a database, and a parameter area sheet for creating processing variables as worksheets of the Excel document;
A table on the view area sheet refers to an underlying data set entered on the data area sheet, and a formula of a cell in the table on the view area sheet refers to a cell of the data area sheet;
The grid display unit fetches the basic data set from the database and stores it on the virtual sheet, and when each cell of the table of the grid object is reflected according to a formula, instead of the content of the cell of the data area sheet to be referred to, the corresponding data area on the virtual sheet is reflected. An online report writing system using an Excel tool, characterized in that it is reflected as the contents of a cell.
제3항에 있어서,
상기 가공 변수는 상기 파라미터 영역 시트 상의 셀의 이름으로 정의되고, 상기 가공 변수는 상기 뷰 영역 시트 상의 테이블의 셀 내의 수식에서 이용되는 것을 특징으로 하는 엑셀 도구를 이용한 온라인 보고서 작성 시스템.
According to claim 3,
The processing variable is defined as a name of a cell on the parameter area sheet, and the processing variable is used in a formula in a cell of a table on the view area sheet.
제3항에 있어서,
상기 편집결과 저장부는 상기 뷰 영역 시트 내의 테이블에 대한 정보를 계층 구조의 템플릿으로 저장하고,
상기 템플릿은 계층적 구조를 가지는 데이터 구조체로서, 상기 뷰 영역 시트 내의 테이블 구조를 템플릿의 계층 구조로 변환하고, 각 셀의 속성을 템플릿의 계층 구조의 리프 노드의 속성으로 변환하고,
상기 그리드 표시부는 상기 뷰 영역 시트 대신, 템플릿의 내용을 참조하여 그리드의 내용을 반영하는 것을 특징으로 하는 엑셀 도구를 이용한 온라인 보고서 작성 시스템.
According to claim 3,
The editing result storage unit stores information about tables in the view area sheet as a hierarchical template,
The template is a data structure having a hierarchical structure, converting a table structure in the view area sheet into a hierarchical structure of the template, and converting a property of each cell into a property of a leaf node of the hierarchical structure of the template;
The online report creation system using an Excel tool, characterized in that the grid display unit reflects the contents of the grid by referring to the contents of the template instead of the view area sheet.
제5항에 있어서,
상기 편집결과 저장부는 상기 뷰 영역 시트 상에서의 테이블에 대하여, 테이블의 헤더 행 구조, 및, 테이블의 데이터 행 구조를 템플릿 정보를 저장하되, 테이블의 데이터 행 구조를 1번째 데이터 행의 서식과 수식을 포함하는 속성 정보로 저장하고, 해당 테이블의 데이터 행이 교차 행이면, 해당 테이블의 1번째 데이터 행과 2번째 데이터 행의 서식을 모두 저장하는 것을 특징으로 하는 엑셀 도구를 이용한 온라인 보고서 작성 시스템.
According to claim 5,
The editing result storage unit stores template information for the header row structure of the table and the data row structure of the table with respect to the table on the view area sheet, and converts the data row structure of the table to the format and formula of the first data row. An online report creation system using an Excel tool, characterized in that it is stored as the attribute information containing, and if the data row of the table is a cross row, both the format of the first data row and the second data row of the table are saved.
삭제delete
KR1020200173168A 2020-12-11 2020-12-11 An online report creation system using Excel tool KR102490941B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020200173168A KR102490941B1 (en) 2020-12-11 2020-12-11 An online report creation system using Excel tool
JP2021197088A JP7339628B2 (en) 2020-12-11 2021-12-03 Online report creation system using Excel tools

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200173168A KR102490941B1 (en) 2020-12-11 2020-12-11 An online report creation system using Excel tool

Publications (2)

Publication Number Publication Date
KR20220083185A KR20220083185A (en) 2022-06-20
KR102490941B1 true KR102490941B1 (en) 2023-01-26

Family

ID=82069401

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200173168A KR102490941B1 (en) 2020-12-11 2020-12-11 An online report creation system using Excel tool

Country Status (2)

Country Link
JP (1) JP7339628B2 (en)
KR (1) KR102490941B1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116029264A (en) * 2023-02-01 2023-04-28 上海谐振半导体科技有限公司 ATE test data conversion method and system
CN117787251B (en) * 2024-02-28 2024-05-07 江苏中威科技软件系统有限公司 Method for combining or merging and reading EXCEL hidden contents by multi-format files

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101951719B1 (en) 2018-07-26 2019-02-25 (주)비아이매트릭스 A web reporting design system with programming event handling by using graphic interface

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100497811B1 (en) 2001-12-27 2005-07-01 삼성에스디에스 주식회사 Reporting system linked with web environment
KR100697155B1 (en) 2004-12-03 2007-03-21 (주)엠투소프트 System and method for forming report using web service
KR20130126012A (en) 2012-05-10 2013-11-20 (주)네오위즈게임즈 Method and apparatusfor providing report of business intelligence
KR101769857B1 (en) * 2015-12-28 2017-08-22 (주)비아이매트릭스 An update system for the database by using spreadsheet interface
KR101769853B1 (en) * 2015-12-28 2017-08-22 (주)비아이매트릭스 A batch update system based on spreadsheet interface for the database by using query templates

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101951719B1 (en) 2018-07-26 2019-02-25 (주)비아이매트릭스 A web reporting design system with programming event handling by using graphic interface

Also Published As

Publication number Publication date
KR20220083185A (en) 2022-06-20
JP2022093293A (en) 2022-06-23
JP7339628B2 (en) 2023-09-06

Similar Documents

Publication Publication Date Title
JP5570608B2 (en) Excel-based analysis report creation system and method
US7624114B2 (en) Automatically generating web forms from database schema
CA2618211C (en) Designating, setting and discovering parameters for spreadsheet documents
US8479093B2 (en) Metamodel-based automatic report generation
US9811604B2 (en) Method and system for defining an extension taxonomy
AU2019246901A1 (en) Graphical user interface that simplifies user creation of custom calculations for data visualizations
JP7209306B2 (en) Online work system for Excel documents based on templates
US6282539B1 (en) Method and system for database publishing
US9817811B2 (en) Web server system, dictionary system, dictionary call method, screen control display method, and demonstration application generation method
KR101951719B1 (en) A web reporting design system with programming event handling by using graphic interface
CN114035773A (en) Configuration-based low-code form development method, system and device
KR102490941B1 (en) An online report creation system using Excel tool
Kongdenfha et al. Rapid development of spreadsheet-based web mashups
US20070073675A1 (en) Database query translation
US20080263142A1 (en) Meta Data Driven User Interface System and Method
US7587416B2 (en) Advanced desktop reporting
CN115935944A (en) Cross-platform standard file tree structure generation method and display control
US8099663B2 (en) Apparatus and method for document synchronization
CN106407172A (en) XML (Extensible Markup Language)-based report generating method
CN115576974A (en) Data processing method, device, equipment and medium
WO2007081017A1 (en) Document processor
US20080263018A1 (en) Method and System for Mapping Business Objects to Relational Database Tables
US20240037325A1 (en) Ability to add non-direct ancestor columns in child spreadsheets
KR102499832B1 (en) An online report creation system with query binding function
KR20110138487A (en) Web ontology editing and operating system

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