KR102490941B1 - An online report creation system using Excel tool - Google Patents
An online report creation system using Excel tool Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/10—Office automation; Time management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/174—Form filling; Merging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, 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
본 발명은 데이터베이스에 저장된 기초 데이터셋을 가공하여 표시하도록, 웹 상의 보고서 작성을 지원하되, 웹 상의 보고서는 가공된 데이터셋을 표시하는 그리드와, 데이터셋의 가공 변수를 처리하는 컨트롤 객체로 구성되도록 지원하는, 엑셀 도구를 이용한 온라인 보고서 작성 시스템에 관한 것이다.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.
본 발명의 목적은 상술한 바와 같은 문제점을 해결하기 위한 것으로, 데이터베이스의 가공된 데이터셋을 표시하는 적어도 하나의 그리드로, 웹 상의 보고서를 구성하도록 지원하되, 각 그리드의 작성을 엑셀 도구에서 작성하도록 지원하는, 엑셀 도구를 이용한 온라인 보고서 작성 시스템을 제공하는 것이다.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
먼저, 사용자 단말(10)은 개인용 컴퓨터(PC), 노트북, 태블릿PC, 패블릿, PDA, 스마트폰 등 컴퓨팅 기능을 가지는 컴퓨팅 단말이다. 사용자 단말(10)은 통신 기능을 구비하여, 네트워크(80)를 통해 작성 서버(30)와 데이터를 송수신할 수 있다.First, the
또한, 사용자 단말(10)은 엑셀 도구(20) 및 확장모듈(60) 등 어플리케이션이 설치되어 실행될 수 있다.In addition, the
다음으로, 엑셀 도구(20)는 엑셀(마이크로소프트 사의 스프레드시트 소프트웨어 상표임) 기능을 수행하는 어플리케이션으로서, 사용자 단말(10)에 설치되어 구동되는 프로그램 시스템이다.Next, the Excel
엑셀 도구(20)는 통상의 스프레드시트 기능을 제공하고, 특히, 위즈윅(WYSIWYG) 방식 또는 드래그앤드롭(Drag & Drop) 방식의 인터페이스를 제공한다. 즉, 엑셀 도구(20)는 화면 상에 엑셀 시트를 표시하고, 엑셀 시트 상에서 통상의 스프레드시트 작업을 수행할 수 있는 기능들을 제공한다.The Excel
특히, 엑셀 도구(20)는 엑셀 시트 상에 데이터 또는 데이터셋을 로드(load)하여 엑셀 시트의 각 셀에 데이터를 가지게 한다. 또한, 각 셀의 데이터들에 대한 연산 등의 작업을 수행할 수 있는 명령들을 제공한다.In particular, the Excel
한편, 엑셀 도구(20)는 엑셀 시트(또는 워크시트) 상에서 작성된 것을 엑셀 문서로 생성한다. 엑셀 문서는 다수의 워크시트로 구성되고, 각 워크시트는 시트 상에서 작성된 객체, 포맷, 데이터 등으로 구성된다.On the other hand, the
바람직하게는, 엑셀 도구(20)는 마이크로소프트 사에서 제작한 스프레드시트 어플리케이션으로서, 엑셀이란 상표를 가진다.Preferably, the
또한, 엑셀 도구(20)는 확장 모듈(60)을 통해 그 기능이 확장된다. 이때, 기능이 확장된 엑셀 도구(20)를 확장된 엑셀도구라 부르기로 한다.In addition, the function of the
다음으로, 확장모듈(60)은 컴퓨터 단말(10)에 설치되고 엑셀 도구(20)에 플러그인 형태로 부가되는 프로그램 시스템으로서, 데이터베이스에서 데이터셋을 로드하는 기능, 데이터셋의 가공 변수를 설정하는 기능 등을 제공한다.Next, the
즉, 확장모듈(60)은 엑셀 도구(20)에 플러그인(plug-in) 방식 또는 애드인(add-in) 방식으로 부가되어 실행되는 프로그램 시스템이다. 특히, 확장모듈(60)은 엑셀 도구(20)의 적어도 하나의 명령(이하 플러그인 명령)으로 등록되고, 엑셀 도구(20)에서 해당 플러그인 명령이 호출되면 실행된다. 일례로서, 엑셀 시트 상에서 플러그인 명령이 메뉴 상에서 등록되고 메뉴에서 해당 명령이 선택되면, 확장모듈(60)이 동작된다. 또 다른 예로서, 컨트롤 객체의 이벤트 동작으로 등록되고 해당 이벤트가 발생되면, 확장모듈(60)이 동작될 수 있다.That is, the
특히, 확장모듈(60)은 초기 워크시트 생성 기능, 가공 변수 설정 기능, 데이터셋 로드 기능 등을 구비하고, 각 기능을 호출하는 명령들이 엑셀 도구(20)에 등록된다.In particular, the
먼저, 확장모듈(60)은 엑셀 도구(20)가 호출되면, 엑셀 문서에서 뷰 영역(V), 데이터 영역(D), 파라미터 영역(P)을 나타내는 각 워크시트를 생성한다.First, when the
뷰 영역의 워크시트(뷰 영역 시트)는 웹 상에서 화면으로 표시할 그리드 또는 테이블의 표시 형태를 디자인하는 워크시트이다.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
또한, 확장모듈(60)은 쿼리문을 작성하고, 쿼리문에 의해 데이터베이스로부터 기초 데이터셋을 로드하고, 그 로드 정보를 저장하는 기능을 지원한다. 또한, 확장모듈(60)은 기초 데이터셋의 로드 정보를 저장한다. 기초 데이터셋 로드 정보는 데이터베이스에 연결하기 위한 DB연결 정보, 데이터베이스에서 실행할 쿼리문(SQL 등)으로 구성된다.In addition, the
다음으로, 작성 서버(30)는 네트워크(80)에 연결된 통상의 서버로서, 웹 상에서의 보고서 작성을 지원하되, 데이터베이스(40)로부터 가져온 데이터셋을 분석하는 보고서의 작성을 지원한다.Next, the
웹 상에서의 보고서는, 가공된 데이터셋을 표시하는 그리드 객체와, 데이터셋의 가공 변수를 처리하는 컨트롤 객체로 구성된다. 작성 서버(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
먼저, 작성 서버(30)는 확장된 엑셀 도구(20)를 통해 그리드 객체를 생성 또는 편집하도록 제공하고, 각 그리드 객체에 연동하는 엑셀 문서를 대응하여 생성 또는 보관한다. 즉, 하나의 그리드 객체를 생성 또는 편집하기 위하여, 사용자는 확장된 엑셀 도구(20)에서 생성 또는 편집한다. 그리고 확장된 엑셀 도구(20)에서 생성 또는 편집된 엑셀 문서는 저장되는데, 해당 그리드 객체에 연동되어 보관된다. 즉, 해당 엑셀 문서는 해당 그리드 객체의 정보를 담은 파일로 볼 수 있다.First, the
또한, 작성 서버(30)는 확장된 엑셀 도구(20)에 의해 엑셀 문서의 작성이 완료되면, 저장된 엑셀 문서을 읽어들여 엑셀 문서에 정의된 내용에 따라 그리드 객체를 생성 또는 수정한다.In addition, when the creation of the Excel document is completed by the extended
이때, 작성 서버(30)는 파라미터 영역 시트에 정의된 가공 변수를 읽어들여 가공 변수로 정의하여 설정한다. 즉, 가공 변수를 컨트롤 객체에 이용하도록 선언한다.At this time, the
또한, 작성 서버(30)는 해당 엑셀 문서의 뷰 영역 시트의 테이블 형태에 따라 그리드 객체의 그리드 형태를 생성/편집하고, 기초 데이터셋을 가져와서 해당 그리드에 반영한다.In addition, the
또한, 작성 서버(30)는 컨트롤 객체를 작성하도록 인터페이스를 제공한다. 컨트롤 객체는 버튼, 콤보박스, 체크박스, 입력 박스 등 명령 또는 데이터를 입력받기 위한 객체를 포함한다.Also, the
작성 서버(30)는 컨트롤 객체를 가공 변수에 매핑시킨다. 컨트롤 객체가 가공 변수에 매핑되면, 해당 컨트롤 객체의 입력값이 해당 가공 변수의 변수값으로 자동으로 매핑한다. 즉, 작성 서버(30)는 컨트롤 객체의 입력값이 갱신(입력)되는 이벤트를 감지하면, 매핑된 가공 변수의 변수값을 갱신된(입력된) 입력값으로 바인딩하여 모든 객체를 갱신한다.The
다음으로, 데이터베이스(40)는 데이터셋을 저장하기 위한 통상의 데이터베이스(DB)로서, 데이터를 관리하기 위한 DBMS(database management system)를 구비하고, 데이터셋의 저장, 삭제, 검색 등의 작업들을 쿼리(또는 쿼리문)를 통해 수행한다. 특히, 데이터베이스(40)는 상용화된 데이터베이스로서, 데이터셋을 처리하기 위한 일반적인 쿼리 기능을 이용하여, 데이터 쿼리 서비스를 수행한다.Next, the
특히, 데이터베이스(40)는 빅데이터를 저장하는 데이터베이스이다. 또한, 바람직하게는, 데이터베이스(40)는 관계형 데이터베이스(RDB)로 구성된다.In particular, the
또한, 데이터베이스(40)는 작성 서버(30)에 직접 연결된 데이터베이스로 구현될 수도 있고, 인터넷 상에서 독립된 DB 서버로서 구현될 수 있다.In addition, the
특히, 데이터베이스(40)는 DBMS에 의해 구동되는 하나의 서버로 구현될 수 있다. 즉, 데이터베이스(40)는 하나의 서버로서, 작성 서버(30)의 요청에 따라 요청된 데이터셋을 열람/제공하는 서비스를 제공한다. 따라서 데이터베이스와 DB 서버는 동일한 참조 번호를 사용한다.In particular, the
다음으로, 본 발명의 엑셀 도구를 이용한 온라인 보고서 작성 시스템을 도 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
이때, 화면 편집부(31), 그리드 편집부(32), 컨트롤 편집부(33), 보고서 뷰어부(34), 그리드 표시부(35)는 작성 서버(30)에서 구비되고, 워크시트 초기화부(61), 가공변수 설정부(62), 데이터셋 로드부(63), 편집결과 저장부(64)는 확장 모듈(60)에서 구비된다.At this time, the
먼저, 화면 편집부(31)는 웹 상에서 보고서 화면의 디자인 서비스를 제공한다.First, the
웹 상에서의 보고서는, 가공된 데이터셋(가공 데이터셋)을 표시하는 그리드 객체와, 가공 변수와 매핑되어 가공 변수 값을 입력받는 컨트롤 객체로 구성된다.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
또한, 화면 편집부(31)는 그리드 객체 또는 컨트롤 객체에 대하여, 그리드 편집부(32) 또는 컨트롤 편집부(33)을 통해, 세부적으로 편집하는 서비스를 제공한다.In addition, the
다음으로, 그리드 편집부(32)는 그리드 객체를 편집하되, 하나의 그리드 객체에 대한 정보를 하나의 엑셀 문서 등에 저장하여 관리하고, 확장된 엑셀 도구(20)에 의한 엑셀 문서의 편집으로 그리드 객체를 편집한다.Next, the
즉, 그리드 편집부(32)는 각 그리드 객체에 매핑되는 엑셀 문서 등을 생성 또는 보관한다. 엑셀 문서 등(또는 편집결과 정보)은 엑셀 문서, 템플릿(그리드 템플릿), 데이터셋 로드 정보 등으로 구성된다. 템플릿, 데이터셋 로드 정보 등을 추가 정보라 부르기로 한다.That is, the
해당 엑셀 문서는 뷰 영역 시트, 데이터 영역 시트, 파라미터 영역 시트 등으로 구성되어, 그리드 객체의 정보를 담은 엑셀 파일이다. 템플릿(또는 그리드 템플릿)은 뷰 영역 시트의 테이블(또는 그리드)의 형태, 서식, 수식 등을 저장하는 데이터 구조체이다. 뷰 영역 시트의 내용을 보다 빠르게 해석하여 이용하기 위한 것이다. 또한, 데이터셋 로드 정보는 데이터베이스에 연결하기 위한 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
또한, 그리드 편집부(32)는 확장된 엑셀 도구(20)에 의해 엑셀 문서의 작성이 완료되면, 저장된 엑셀 문서 등(또는 편집결과 정보)을 참조하여 그 내용에 따라 그리드 객체를 갱신한다. 이때, 바람직하게는, 그리드 표시부(35)를 통해, 엑셀 문서 등의 내용에 따라 그리드 객체의 내용을 화면 상에 표시한다.In addition, when the creation of the Excel document is completed by the expanded
다음으로, 컨트롤 편집부(33)는 컨트롤 객체를 편집하도록 인터페이스를 제공한다.Next, the
컨트롤 객체는 버튼, 콤보박스, 도형, 텍스트 박스 등 웹 보고서를 표현하기 위한 객체들이다. 특히, 컨트롤 객체는 버튼, 콤보박스, 체크박스, 입력 박스 등 명령 또는 데이터를 입력받기 위한 객체를 포함한다. 이때, 입력되는 명령 또는 데이터를 컨트롤 객체의 입력값이라 부르기로 한다.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
또한, 컨트롤 편집부(33)는 컨트롤 객체를 가공 변수에 매핑시키는 서비스를 제공한다. 즉, 사용자는 특정 컨트롤 객체에 특정 가공 변수를 매핑시킬 수 있다. 바람직하게는, 컨트롤 객체를 가공 변수의 이름으로 정의함으로써, 가공 변수와, 컨트롤 객체와 매핑된다.Also, the
컨트롤 객체가 가공 변수에 매핑되면, 해당 컨트롤 객체의 입력값이 해당 가공 변수의 변수값으로 자동으로 매핑한다.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
즉, 보고서 뷰어부(34)는 컨트롤 객체와 그리드 객체의 내용을 화면 상에 출력하고, 컨트롤 객체에서 입력값의 입력 이벤트(갱신 이벤트)가 발생하면 해당 컨트롤 객체에 매핑된 가공 변수의 변수값을 갱신하여 화면 상의 모든 객체를 갱신 출력한다.That is, the
구체적으로, 보고서 뷰어부(34)는 각 그리드 객체의 내용을 출력하되, 해당 그리드 객체의 엑셀 문서 등에 정의된 내용을 읽어들여 출력한다. 이때, 보고서 뷰어부(34)는 그리드 표시부(35)를 통해, 엑셀 문서 등(템플릿)의 내용에 따라 그리드의 형태를 편집하고, 해당 그리드에 가공 데이터셋을 반영하여 출력한다.Specifically, the
또한, 보고서 뷰어뷰(34)는 컨트롤 객체의 입력값이 갱신(입력)되는 이벤트를 감지한다. 그리고 이벤트가 감지되면, 매핑된 가공 변수의 변수값을 갱신된(입력된) 입력값으로 바인딩하여 모든 객체를 갱신한다.In addition, the
바람직하게는, 보고서 뷰어뷰(34)는 그리드를 표시하는 뷰어를 구비한다. 그리드 뷰어는 웹 형식(HTML 5.0 이상) 또는 캔버스(Canvas) 기반으로 DOM(Document Object Model) 기반의 컴포넌트로 구성된다. 따라서 월등히 빠른 렌더링(Rendering) 속도를 지원한다.Preferably,
도 4는 웹 상에서 보고서를 표시한 것을 예시하고 있다.4 illustrates displaying a report on the web.
다음으로, 워크시트 초기화부(61)는 엑셀 문서의 워크시트를 초기화 한다.Next, the
도 5에서 보는 바와 같이, 워크시트 초기화부(61)는 엑셀 문서에서 뷰 영역(V), 데이터 영역(D), 파라미터 영역(P)을 나타내는 각 워크시트를 생성한다.As shown in FIG. 5, the
워크시트 초기화부(61)는 엑셀 도구(20)가 호출되면 실행된다.The
뷰 영역의 워크시트(이하 뷰 영역 시트)는 웹 상에서 화면으로 표시할 그리드 또는 테이블의 표시 형태를 디자인하는 워크시트이다. 사용자는 뷰 영역 시트 상에서 테이블 등을 디지인한다. 디자인된 테이블 등은 그리드 객체의 형태로 이용된다. 특히, 사용자는 엑셀 도구(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
또한, 뷰 영역의 워크시트 상에서 테이블 내의 각 영역 또는 셀은 데이터 영역 시트의 셀 또는 가공 변수의 셀을 참조한다. 즉, 사용자는 엑셀 도구(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
또한, 뷰 영역에 표시되는 데이터셋은 기초 데이터셋을 가공한 가공 데이터셋이다.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
각 레코드는 변수명(변수 이름), 변수정의, 초기값, 설명 등 필드로 구성된다. 변수명 필드는 해당 가공 변수의 이름(또는 변수명)을 입력하는 셀이고, 변수정의 필드는 가공 변수의 이름(또는 변수명 필드값)으로 자신의 셀 이름을 설정하는 셀이다. 또한, 초기값 필드와 설명 필드는 각각 가공변수의 초기값이나 설명을 입력하는 셀이다.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
또한, 가공 변수는 쿼리문의 바인딩 구문에서 변수로 활용될 수 있다. 이때, 가공 변수의 변수값은 해당 가공 변수의 변수정의 필드(셀)에 입력된 값이다.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
다음으로, 가공변수 설정부(62)는 파라미터 영역 시트 상에서 가공변수를 설정한다.Next, the processing
도 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
한편, 가공 변수의 이름(변수명)은 셀의 이름으로 정의되므로, 해당 셀에 입력되는 셀 값이 해당 가공변수의 변수값이 된다. 즉, 셀 이름이 변수로 활용된다.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
도 7에서 보는 바와 같이, 데이터셋 로드부(63)는 데이터베이스(40)에 연결하기 위한 키 등 연결 정보를 입력하는 기능 또는 인터페이스를 제공한다. 사용자는 키 등 연결정보를 입력함으로써, 데이터베이스(40)에 접근한다.As shown in FIG. 7 , the
또한, 데이터셋 로드부(63)는 데이터베이스(40)에서 기초 데이터셋을 참조하는 쿼리문을 작성하는 기능 또는 인터페이스를 제공한다. 특히, 쿼리문을 직접 작성하거나 드래그앤드롭 방식의 GUI(그래픽 유저 인터페이스)를 통해 쿼리문을 작성하는 기능을 제공한다.In addition, the
도 8에서 보는 바와 같이, 데이터셋 로드부(63)는 쿼리문에 의해, 데이터베이스로부터 기초 데이터셋을 로드하여 데이터 영역 시트에 출력한다. 이때, 출력위치는 사전에 정해지거나, 사용자에 의해 설정될 수 있다. 이때, 바람직하게는, 해당 데이터 영역 시트의 첫 행에 데이터셋의 필드명을 출력하고, 그 다음 행부터 데이터셋을 출력한다.As shown in FIG. 8 , the data
또한, 데이터셋 로드부(63)는 기초 데이터셋의 로드 정보를 저장한다. 기초 데이터셋 로드 정보는 데이터베이스에 연결하기 위한 DB연결 정보, 데이터베이스에서 실행할 쿼리문(SQL 등)으로 구성된다. 바람직하게는, 기초 데이터셋을 출력할 위치 주소를 나타내는 출력위치 정보를 더 포함할 수 있다.In addition, the
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
엑셀 문서는 엑셀 도구(20)에서 작업한 문서이며, 문서 자체로 저장된다.An Excel document is a document worked in the
앞서 설명한 바와 같이, 엑셀 문서는 뷰 영역 시트, 데이터 영역 시트, 파라미터 영역 시트로 구성된다. 데이터 영역 시트에는 기초 데이터셋이 입력된다. 이때, 사용자는 뷰 영역 시트에서 그리드를 위한 테이블을 편집하는데, 기초 데이터셋을 참조하여 분석된 데이터를 테이블에 표시되도록 편집한다.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
즉, 뷰 영역 시트 상이 테이블로부터, 각 테이블의 구조, 및, 테이블 또는 각 셀의 속성(서식, 수식 등) 등 그리드 구조 정보를 추출하여 템플릿으로 저장한다. 바람직하게는, 템플릿은 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
먼저, 그리드 표시부(35)는 템플릿의 그리드 구조에 따라 그리드의 형태를 생성한다. 앞서 설명한 바와 같이, 템플릿 파일은 JSON 등 표준 스크립트 데이터 형식으로 작성되었으므로, 해당 스크립트 데이터 형식의 파서를 이용하여 해석한다.First, the
즉, 피벗 테이블 객체인 경우 해당 객체의 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
그리드 표시부(35)는 로드 정보를 참조하여, DB연결 정보로 데이터베이스에 접속하고, 쿼리문 정보로 쿼리문을 생성하여 요청한다. 즉, DB연결 정보의 키 값 등으로 인증을 받아 데이터베이스에 접근한다. 또한, 바인딩 구문을 이용하여 가공 변수를 반영하여 쿼리문을 생성한다. 이때, 가공 변수의 변수값은 해당 가공 변수에 매핑된 컨트롤 객체의 입력값으로 설정된다.The
바람직하게는, 그리드 표시부(35)는 데이터베이스(DB)에서 조회한 기초 데이터셋을 메모리에 적재한다. 이때, 기초 데이터셋을 행과 열을 가지는 가상 시트 형태로 적재한다. 즉, 워크시트의 행과 열을 기준으로 기초 데이터셋의 데이터를 참조할 수 있도록 적재한다.Preferably, the
또한, 그리드 표시부(35)는 기초 데이터셋을 그리드의 데이터 영역에 반영하여 삽입한다.In addition, the
특히, 데이터셋 및 해당 그리드의 형태가 테이블인 경우, 해당 그리드에서 데이터셋의 레코드(데이터 행)의 수만큼 행을 동적으로 생성한다. 바인딩 위치를 식별한 뒤 레코드 수만큼 행을 동적으로 생성한다.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
특히, 데이터베이스에서 가져온 기초 데이터셋(갱신된 기초 데이터셋)을 가상 시트 형태로 저장하기 때문에, 엑셀 문서 상에서 기재된 데이터 영역 시트의 셀을 참조하는 수식을 그대로 이용할 수 있다. 이때, 데이터 영역 시트의 이름을 가상 시트(메모리 상에 적재된 가상 시트)로 대체하여 해석한다.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
도 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
또한, 그리드 표시부(35)는 그리드 상에서 엑셀(Excel)의 수식을 지원한다. 해당 수식은 템플릿에 정의된다. 수식은 데이터 바인딩 규칙에 따라 새로 생성될 수 있다. 데이터 바인딩은 가공 데이터셋이 표 형태로 출력되는 경우 이 위치의 마지막 주소에 수식이 존재하면 해당 수식을 행별로 자동으로 생성해 주는 것을 의미한다.In addition, the
이상, 본 발명자에 의해서 이루어진 발명을 상기 실시 예에 따라 구체적으로 설명하였지만, 본 발명은 상기 실시 예에 한정되는 것은 아니고, 그 요지를 이탈하지 않는 범위에서 여러 가지로 변경 가능한 것은 물론이다.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.
상기 확장 모듈은, 상기 엑셀 문서의 워크시트 상에서 가공변수를 설정하되, 변수정의 셀의 이름을 가공변수의 이름으로 설정하는, 가공변수 설정부를 더 포함하고,
상기 가공 변수는 상기 엑셀 문서 상에서 그리드에 표시할 테이블의 셀 내의 수식에 사용되고,
상기 컨트롤 편집부는 상기 가공 변수를 컨트롤 객체에 매핑시키고,
상기 보고서 뷰어부는 가공 변수에 매핑된 컨트롤 객체의 입력값을 해당 가공 변수의 변수값으로 설정하는 것을 특징으로 하는 엑셀 도구를 이용한 온라인 보고서 작성 시스템.
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.
상기 워크시트 초기화부는 그리드에 표시할 테이블을 작성하는 뷰 영역 시트, 데이터베이스에서 가져오는 기초 데이터셋을 저장하는 데이터 영역 시트, 가공 변수를 작성하는 파라미터 영역 시트를 상기 엑셀 문서의 워크시트로 생성하고,
상기 뷰 영역 시트 상의 테이블은 상기 데이터 영역 시트 상에 입력된 기초 데이터셋을 참조하되, 상기 뷰 영역 시트 상의 테이블 내의 셀의 수식에서 상기 데이터 영역 시트의 셀을 참조하고,
상기 그리드 표시부는 기초 데이터셋을 데이터베이스에서 가져와서 가상 시트 상에 저장하고, 상기 그리드 객체의 테이블의 각 셀을 수식에 따라 반영할 때, 참조하는 데이터 영역 시트의 셀의 내용 대신, 가상 시트 상의 해당 셀의 내용으로 반영하는 것을 특징으로 하는 엑셀 도구를 이용한 온라인 보고서 작성 시스템.
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.
상기 가공 변수는 상기 파라미터 영역 시트 상의 셀의 이름으로 정의되고, 상기 가공 변수는 상기 뷰 영역 시트 상의 테이블의 셀 내의 수식에서 이용되는 것을 특징으로 하는 엑셀 도구를 이용한 온라인 보고서 작성 시스템.
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.
상기 편집결과 저장부는 상기 뷰 영역 시트 내의 테이블에 대한 정보를 계층 구조의 템플릿으로 저장하고,
상기 템플릿은 계층적 구조를 가지는 데이터 구조체로서, 상기 뷰 영역 시트 내의 테이블 구조를 템플릿의 계층 구조로 변환하고, 각 셀의 속성을 템플릿의 계층 구조의 리프 노드의 속성으로 변환하고,
상기 그리드 표시부는 상기 뷰 영역 시트 대신, 템플릿의 내용을 참조하여 그리드의 내용을 반영하는 것을 특징으로 하는 엑셀 도구를 이용한 온라인 보고서 작성 시스템.
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.
상기 편집결과 저장부는 상기 뷰 영역 시트 상에서의 테이블에 대하여, 테이블의 헤더 행 구조, 및, 테이블의 데이터 행 구조를 템플릿 정보를 저장하되, 테이블의 데이터 행 구조를 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.
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)
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)
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)
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 |
-
2020
- 2020-12-11 KR KR1020200173168A patent/KR102490941B1/en active IP Right Grant
-
2021
- 2021-12-03 JP JP2021197088A patent/JP7339628B2/en active Active
Patent Citations (1)
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 |