Program, information processing method, and information processing apparatus

JP2026123722APending Publication Date: 2026-07-30DAIKIN INDUSTRIES LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
DAIKIN INDUSTRIES LTD
Filing Date
2025-01-17
Publication Date
2026-07-30

Smart Images

  • Figure 2026123722000001_ABST
    Figure 2026123722000001_ABST
Patent Text Reader

Abstract

The present invention provides a program, an information processing method, and an information processing device that enhance the convenience of processing using tabular data and a layout that defines the relationships between each cell of that tabular data. [Solution] In a system in which an information processing device and an information processing terminal transmit and receive information via a network such as the Internet, the program of the server device, which is the information processing device, accepts the selection of a division unit for extracting layout-defined data, which is tabular data to which a layout defining the relationships between multiple cells is applied, outputs a list of header candidates for an integrated table that combines the multiple layout-defined data extracted for each division unit, accepts a header editing operation on the output list of header candidates, generates an integrated table based on the list of header candidates to which the header editing operation has been performed, and causes the computer to perform a process to save the division unit and header editing operation in association with the integrated table when generating the integrated table.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a program, an information processing method, and an information processing apparatus.

Background Art

[0002] Patent Document 1 discloses an apparatus that converts data in a spreadsheet format into data in a semi-structured data format.

Prior Art Documents

Patent Documents

[0003]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0004] Data users such as data scientists often request data creators such as researchers who input experimental data, etc. to input data in a predetermined tabular data format in order to efficiently use data such as experimental data. However, data creators may sometimes use a partially modified tabular data format according to the type and number of experiments, and in such cases, it has been difficult to efficiently use the data.

[0005] In one aspect, a program or the like is provided that further enhances the convenience of a process using a layout that defines the relationship between tabular data and each cell of the tabular data.

Means for Solving the Problems

[0006] The program in the first aspect accepts the selection of a partitioning unit for extracting layout-defined data, which is tabular data to which a layout defining the relationships between multiple cells is applied; outputs a list of header candidates for an integrated table that combines the multiple layout-defined data extracted for each partitioning unit; accepts a header editing operation on the output list of header candidates; generates the integrated table based on the list of header candidates to which the header editing operation has been performed; and causes the computer to perform a process to save the partitioning unit and the header editing operation in association with the integrated table when generating the integrated table. One aspect of this disclosure makes it possible to further enhance the convenience of processing that uses tabular data and a layout defining the relationships between each cell of that tabular data.

[0007] The program from the second perspective is the program from the first perspective, wherein the header editing operation includes operations for editing the format of the integrated table or the contents of the cells for each of the header candidates.

[0008] The program of the third perspective is a program of the first or second perspective that accepts a change in the division unit for the output list of header candidates and outputs a list of header candidates for the integrated table that combines multiple layout-defined data extracted for each changed division unit.

[0009] The program of the fourth perspective is a program of any one of the first to third perspectives that accepts one of the following as the division unit: a sheet containing the tabular data, a file having one or more of the sheets, or a table which is the layout-defined data defined as a table within the tabular data.

[0010] The fifth perspective program is a program of any one of the first to fourth perspectives that accepts, as a header editing operation, an operation to move a header candidate to a higher or lower position in the output list of header candidates, or an operation to select a header from the list of header candidates to display in the integrated table.

[0011] The program of the sixth perspective is the program of the fifth perspective which generates the integrated table in which one header candidate is placed in a column to the left or right of the other header candidates, by moving one header candidate to a higher or lower position than the other header candidates.

[0012] The program of the seventh perspective is a program of any one of the first to sixth perspectives that applies the division unit and the header editing operation to the header candidate list screen by reading the saved division unit and the header editing operation on the header candidate list screen.

[0013] The program for the eighth perspective is a program for one of the first to seven perspectives, which outputs a preview of the integrated table based on the accepted selection of the division unit or the header editing operation, along with a screen displaying the list of header candidates.

[0014] The information processing method of the ninth aspect is an information processing method that accepts the selection of a division unit for extracting layout-defined data, which is tabular data to which a layout defining the relationships between multiple cells is applied; outputs a list of header candidates for an integrated table that combines the multiple layout-defined data extracted for each division unit; accepts a header editing operation on the output list of header candidates; generates the integrated table based on the list of header candidates to which the header editing operation has been performed; and saves the division unit and the header editing operation in association with the integrated table when generating the integrated table.

[0015] The information processing device in the tenth aspect comprises a control unit, which accepts the selection of a division unit for extracting layout-defined data, which is tabular data to which a layout defining the relationships between multiple cells is applied; outputs a list of header candidates for an integrated table that combines the multiple layout-defined data extracted for each division unit; accepts a header editing operation on the output list of header candidates; generates the integrated table based on the list of header candidates to which the header editing operation has been performed; and saves the division unit and the header editing operation in association with the integrated table when generating the integrated table. [Brief explanation of the drawing]

[0016] [Figure 1] This is an overview diagram of the system relating to one aspect of this disclosure. [Figure 2] This is a block diagram showing an example of a server device configuration. [Figure 3] This diagram shows an example of the structure of a management file. [Figure 4] This is a block diagram showing an example configuration of a terminal device. [Figure 5] This is an explanatory diagram to describe the layout. [Figure 6] This is a flowchart illustrating an example of server device processing. [Figure 7] This diagram shows an example of the structure of a tabular file. [Figure 8] This diagram shows an example of a screen that includes a list of header candidates. [Figure 9] This diagram shows an example of the output of the integrated table when a move operation is performed on a header candidate. [Figure 10] This diagram shows an example of the structure of a tabular file. [Figure 11] This diagram illustrates an example of applying the splitting units and header editing operations saved in the configuration file to a second-tabular file. [Figure 12]An explanatory diagram showing an example of a list of header candidates and an integrated table when the division unit is a "sheet". [Figure 13] A diagram showing another example of an integrated table displayed when the division unit is a "sheet". [Figure 14] An explanatory diagram showing an example of a list of header candidates and an integrated table when the division unit is a "table". [Figure 15] A diagram showing an example of the configuration of a tabular file. [Figure 16] An explanatory diagram showing an example of a list of header candidates and an integrated table when the division unit is a "file". [Figure 17] An explanatory diagram showing an example of a list of header candidates and an integrated table when the division unit is a "sheet". [Figure 18] An explanatory diagram showing an example of a list of header candidates and an integrated table when the division unit is a "table". [Figure 19] A diagram showing an example of the configuration of a tabular file. [Figure 20] An explanatory diagram showing an example of a list of header candidates and an integrated table when the division unit is a "file". [Figure 21] An explanatory diagram showing an example of a list of header candidates and an integrated table when the division unit is a "sheet". [Figure 22] An explanatory diagram showing an example of a list of header candidates and an integrated table when the division unit is a "table". [Figure 23] A diagram for explaining the cell completion function. [Figure 24] A diagram for explaining the cell completion function. [Figure 25] An explanatory diagram of an example of converting a table having an index header and a column header into an integrated table. [Figure 26] An explanatory diagram of an example of converting to a two-dimensional table in the order of values after the column name. [Figure 27] An explanatory diagram of an example of converting to a two-dimensional table in the order of values after the row name. [Figure 28] This is an explanatory diagram illustrating an example of converting a table into a one-dimensional table with column names, row names, and values ​​in that order. [Figure 29] This is an explanatory diagram illustrating an example of converting a table into a one-dimensional table with row names, column names, and values ​​in that order. [Modes for carrying out the invention]

[0017] The following describes in detail, with reference to drawings, a system that is an example of a program, information processing method, and information processing apparatus relating to one aspect of this disclosure. In the description, similar elements are denoted by the same reference numerals, and redundant explanations are omitted as appropriate.

[0018] Figure 1 is an overview diagram of a system relating to one aspect of this disclosure. The system relating to this form of disclosure includes an information processing device 1 and an information processing terminal 2, which can send and receive information via a network 3 such as the Internet.

[0019] Information Processing Device 1 is an information processing device that processes, stores, and transmits various types of information. Information Processing Device 1 may be configured as, for example, a server, a personal computer, a tablet terminal, or a smartphone. Information Processing Device 1 may be composed of multiple information processing devices, or it may be configured as one of multiple virtual devices (virtual machines) within a single information processing device. In this embodiment of the disclosure, to avoid complexity in the explanation, Information Processing Device 1 will be described as Server Device 1. However, Information Processing Device 1 is not limited to a server device and may be configured as any of the above-described types of information processing devices.

[0020] The information processing terminal 2 can display, download, and edit tabular data files (hereinafter referred to as "tabular files") stored in the server device 1 via the network 3. Here, tabular data or files can be used synonymously with spreadsheet data or files. The information processing terminal 2 can be, for example, a personal computer, smartphone, mobile phone, wearable device, or tablet. In this disclosure, to avoid complexity in explanation, the information processing terminal 2 will be read and described as terminal device 2.

[0021] Figure 2 is a block diagram showing an example configuration of server device 1. Server device 1 can be an information processing device composed mainly of electronic circuits using semiconductor circuit elements. Server device 1 has a control unit 11, a communication unit 12, a reading unit 13, and a storage unit 14. The control unit 11, communication unit 12, reading unit 13, and storage unit 14 are connected to each other via a bus 19 or the like. Note that server device 1 may have other configurations, such as not having a reading unit 13.

[0022] The control unit 11 can be configured to have one or more processing units such as a CPU (Central Processing Unit), MPU (Micro-Processing Unit), GPU (Graphics Processing Unit), FPGA (Field Programmable Gate Array), DSP (Digital Signal Processor), and quantum processor. The control unit 11 reads and executes the program (or program product) 1P stored in the storage unit 14.

[0023] The communication unit 12 is a communication module for performing communication-related processing and can send and receive information with terminal devices 2, etc., via the network 3. The reading unit 13 can read portable storage media 15 such as CD (Compact Disc)-ROM (Read Only Memory), DVD (Digital Versatile Disc)-ROM, and USB (Universal Serial Bus) memory. The control unit 11 may read program 1P from the portable storage media 15 via the reading unit 13 and save it to the storage unit 14. Alternatively, the control unit 11 may download program 1P from another computer via the network 3, etc., and save it to the storage unit 14.

[0024] The storage unit 14 includes volatile storage units such as RAM (Random Access Memory), and non-volatile storage units such as ROM, HDD (Hard Disk Drive), and flash memory. As shown in Figure 2, the storage unit 14 stores, for example, program 1P and tabular linked data 60. Program 1P is a program executed by the control unit 11. In this embodiment, program 1P may also be referred to as program product 1P.

[0025] The tabular linked data 60 consists of a management file 61, a tabular file storage unit 62, a layout file storage unit 63, and a table creation setting file storage unit 64. The management file 61 stores which layout files stored in the layout file storage unit 63 and which table creation setting files stored in the table creation setting file storage unit 64 are linked to the tabular files stored in the tabular file storage unit 62.

[0026] The tabular file storage unit 62 stores tabular data files (hereinafter referred to as "tabular files"). The layout file storage unit 63 stores files containing layouts (hereinafter referred to as "layout files"). The table creation settings file storage unit 64 stores table creation settings files (hereinafter referred to as "settings files") containing settings for tabular data. The layout and settings will be described later.

[0027] Figure 3 shows an example of the structure of the management file 61. As shown in this figure, the management file 61 can be structured in a table format. The management file 61 may be saved as a database table, or as a spreadsheet or text file.

[0028] Management file 61 has columns for identifier, tabular file, layout file, and configuration file. The identifier column stores a string that identifies the tabular file. The tabular file column stores the location (file path) where the tabular file is saved. The layout file column stores the location (file path) where the layout file is saved. The configuration file column stores the location (file path) where the configuration file is saved.

[0029] This allows you to extract the layout file for the layout applied to the saved tabular file, and the configuration file for the settings applied to the tabular file, using an identifier or the location (file path) where the tabular file is saved as the key.

[0030] Note that the configuration for linking a tabular file to a corresponding layout or layout file, or to settings or settings files, is not limited to this configuration. For example, information linking to a corresponding layout or layout file may be stored within the tabular file, or other forms can be used to indicate the linking, such as by having the tabular file and layout file stored in the same folder. Furthermore, the linking of settings or settings files is the same as for layouts or layout files, so the explanation will be omitted.

[0031] Figure 4 is a block diagram showing an example configuration of terminal device 2. Here, terminal device 2 can be an information processing device composed mainly of electronic circuits using semiconductor circuit elements. Terminal device 2 may have a control unit 21, a communication unit 22, a reading unit 23, a storage unit 24, a display unit 26, and an input unit 27. The components of the control unit 21, communication unit 22, reading unit 23, storage unit 24, display unit 26, and input unit 27 are connected to each other so as to be able to communicate with one another by a bus 29 or the like.

[0032] The control unit 21 can be configured to include one or more processing units such as a CPU, MPU, GPU, FPGA, DSP, and quantum processor. The control unit 21 reads and executes the program stored in the storage unit 24.

[0033] The communication unit 22 is a communication module for performing communication-related processing and can send and receive information with the server device 1, etc., via the network 3. The reading unit 23 can read portable storage media 25 such as CD-ROMs, DVD-ROMs, and USB memory sticks. The control unit 21 can read programs and / or data from the portable storage media 25 via the reading unit 23 and save them to the storage unit 24. The control unit 21 can also download programs from other computers via the network 3, etc., and save them to the storage unit 24.

[0034] The storage unit 24 includes volatile storage devices such as RAM, and non-volatile storage devices such as ROM, HDD, and flash memory. The display unit 26 can be a liquid crystal display or an organic EL (Electro-Luminescence) display, etc. The input unit 27 can be an input device such as a keyboard, mouse, touch panel, and camera.

[0035] Figure 5 is an explanatory diagram illustrating the layout. In Figure 5, tabular data is displayed, along with the layout displayed on top of the tabular data. Tabular data can be stored in or stored in a tabular file. Tabular data consists of columns and rows, and data elements, or cells, are located at the intersections of rows and columns. Cells are identified by sequentially specifying the column, which is identified by an alphabet, and the row, which is identified by a number (for example, "cell A1"). In Figure 5, for example, the string "Experimental Equipment" is stored as the value of cell B3, and the string "Tammann Tube" is stored as the value of cell D3.

[0036] The layout is primarily depicted using thick lines and arrows in Figure 5. In this embodiment, the elements that constitute the layout are called parsing objects. In this embodiment, the parsing objects are the header parser 92, the sequence parser 93, and the table parser 95. However, other parsing objects may also be present. Furthermore, the layout may not include any or all of these parsing objects.

[0037] The heading parser 92 is an arrow extending from the cell indicating the heading to the cell or table parser 95 that contains the heading's content. The heading parser 92 connects two cells, or a cell and a table parser 95. In Figure 5, the heading parser 92 is represented, for example, by a triangular-tipped arrow extending from cell B3 to cell D3. The heading parser 92 may also indicate an inclusion relationship.

[0038] The table parser 95 is a parsing object that specifies a table whose data content is structured in rows and columns. The table parser 95 consists of a whole table section 951 that shows the entire table and a table data section 952 that shows the data portion. In this embodiment, the whole table section 951 that is not included in the table data section 952 is referred to as the header or header area.

[0039] In Figure 5, the entire table portion 951 of the table parser 95 is represented by a rectangle with cells B9 and D13 as its diagonal vertices, while the table data portion 952 is represented by a rectangle with cells C10 through D13 as its diagonal vertices. Here, the upper left and lower right corners of the table data portion 952 are shown as black-filled triangles to distinguish the entire table portion 951 from the table data portion 952.

[0040] The sequence parser 93 is a parsing object that connects cells and represents the order in the direction indicated by the arrows. In Figure 5, for example, the sequence parser 93 is shown for cells C16, C18, and C20 by arrows extending from cell C16 to cell C18 and from cell C18 to cell C20. To distinguish the sequence parser 93 from the header parser 92, in this embodiment, each arrow has a V-shaped tip.

[0041] These parsing objects are included in the layout corresponding to the tabular data and are stored as a layout file in the layout file storage unit 63. The management file 61 can also store the file path of the corresponding layout file in the record of the corresponding tabular file. The layout file may store the layout structure information by converting each parsing object placed in the tabular data into a string or the like. For example, the layout structure information can be stored in the layout file by describing the header parser 92 extending from cell B3 to cell D3 using a predetermined syntax such as "Header:B3:D3".

[0042] Server device 1 may convert tabular data into semi-structured data based on the parsing objects described above. Semi-structured data can be output by applying a layout to tabular data. For example, it can be data written in JSON (JavaScript® Object Notation) format and XML (eXtensible Markup Language) format. Semi-structured data is data that explicitly defines and describes combinations of data names and the content of data related to those names, and can also describe inclusion relationships in a nested format. Furthermore, semi-structured data cannot be managed as a single relational database or tabular data, but can be defined as data that is structured to a certain extent.

[0043] For example, the header parser 92, which extends from cell B3 to cell D3, can be written in JSON format as follows: {"key": "Laboratory equipment", "value": [{"key": "Tammann tube"}]} By performing this conversion to create semi-structured data, it becomes possible to search for and easily extract necessary information from tabular data with different layouts.

[0044] Furthermore, rules for converting parsing objects other than the header parser 92 into semi-structured data can be appropriately defined. The rules for converting to semi-structured data do not have to be rules for converting to JSON format; they may also be rules for converting to XML format or other semi-structured data formats. The parsing objects are not limited to the header parser 92, sequence parser 93, and table parser 95, and can be defined as appropriate, and the rules for converting each parsing object into semi-structured data can be appropriately defined. In this embodiment, even when the conversion of semi-structured data is not described, it is permissible to convert to semi-structured data using tabular data and layouts, or to convert to tabular data and layouts based on semi-structured data, as appropriate.

[0045] Figure 6 is a flowchart illustrating an example of the processing of server device 1. As shown in this figure, the control unit 11 of server device 1 accepts the selection of a tabular file in which tabular data is stored with a layout that defines the relationships between multiple cells (step S11).

[0046] The selection of a tabular file can be done by displaying the folder hierarchy structure on the display unit 26 of the user's terminal device 2, displaying the tabular files within the selected folder, and allowing the user to select a displayed tabular file. Alternatively, tabular files related to keywords may be displayed through a search, and the user can select from among them. The control unit 21 of the terminal device 2 may accept the selection of one or more tabular files simultaneously.

[0047] The control unit 11 extracts the layout-defined data of the selected tabular file (step S12). Here, the layout-defined data refers to tabular data in which the header parser 92, table parser 95, and sequence parser 93 described above are arranged, with the layout file associated with the tabular file applied to the tabular file.

[0048] The control unit 11 outputs a list of header candidates for the integrated table from the layout-defined data (Figure 8) (step S13). The output list of header candidates is displayed on the display unit 26 of the terminal device 2. The list of integrated table header candidates that is displayed will be described later. The control unit 11 can also display the list of header candidates in predetermined division units, or in division units such as the division unit displayed last time. Here, the division unit is one of the following: a sheet containing tabular data, a file having one or more sheets, or a table which is layout-defined data defined as a table within the tabular data. Details of the division unit will be described later.

[0049] The control unit 11 receives requests from the terminal device 2 via the communication unit 12 to edit and select from the displayed list of header candidates (step S14). The control unit 11 receives requests from the terminal device 2 via the communication unit 12 to change the division unit, preview, or load settings (step S15).

[0050] Specifically, the control unit 11 receives a request to change the division unit through the user's selection operation in the data division unit selection area 811. The control unit 11 receives a request for preview through the user's touch (click) operation of the preview button 815. The control unit 11 receives a request to load settings through the user's touch operation of the setting load button 816.

[0051] If the control unit 11 receives a request to change the division unit in the processing of step S15 (S15: Change of division unit), it changes the division unit from which the layout-defined data, which is tabular data, is extracted (step S16). The control unit 21 of the user's terminal device 2 receives the user's selection of the target division unit via the input unit 27. The control unit 21 transmits the received division unit to the server device 1 via the communication unit 22.

[0052] The control unit 11 extracts layout-defined data for each selected division unit from the tabular file (step S17). The control unit 11 outputs a list of header candidates for the integrated table from the layout-defined data for each division unit (step S18). The output list of header candidates is displayed on the display unit 26 of the terminal device 2. The control unit 11 returns to the process in step S14.

[0053] If the control unit 11 receives a preview request in step S15 (S15: preview), it generates an integrated table using the header candidates selected by the user (step S19). The control unit 11 displays the generated integrated table in the preview area 813 (Figure 8) on the terminal device 2 (step S20). Alternatively, the control unit 11 may directly display the integrated table after extracting the layout-defined data without displaying a list of header candidates on the terminal device 2.

[0054] The control unit 11 determines, via the terminal device 2, whether an instruction has been given to save the previewed integrated table (step S21). If the control unit 11 determines that saving has not been instructed (NO in step S21), it returns to step S14 and repeats the process.

[0055] If the control unit 11 determines that saving is instructed (YES in step S21), it performs the save process (step S22) and terminates the process. During the save process, the control unit 11 saves the tabular file, layout file, and configuration file, and saves the respective file paths in a new record in the management file 61. The control unit 11 saves the splitting unit and header editing operations used when generating the integrated table in the configuration file. Details of the header editing operations will be described later. However, the header editing operations described later are examples and may include any operations on the headers and their columns that affect the generation of the integrated table.

[0056] When the control unit 11 receives a request to load settings in step S15 (S15: Load settings), it retrieves the target setting file that has been saved (step S23). Specifically, when the control unit 21 of the terminal device 2 receives a touch operation on the load settings button 816 on the header candidate list screen (Figure 8), it displays a file selection dialog (not shown) for selecting a setting file. The control unit 21 accepts the user's selection of the target setting file through the file selection dialog. The control unit 21 sends information about the selected setting file (file path and file name, etc.) to the server device 1. Based on the information about the setting file sent from the terminal device 2, the control unit 11 of the server device 1 retrieves the corresponding setting file from the table creation setting file storage unit 64 of the storage unit 14.

[0057] The control unit 11 reads the division unit ("file", "sheet", or "table") and header editing operations from the acquired configuration file (step S24). The control unit 11 extracts layout-defined data for each division unit read from the tabular file (step S25).

[0058] The control unit 11 generates a list screen of header candidates (Figure 8) from the extracted layout-defined data, and then applies the header editing operations read from the configuration file to the generated list screen of header candidates (Figure 8) (step S26). Specifically, as will be described later, in this embodiment, the header editing operations include the selection operation of header candidates and the movement operation of header candidates.

[0059] Based on the selection operation details included in the read header editing operation, the control unit 11 selects checkboxes indicating selected or unselected states in association with the corresponding header candidates and displays them in the header candidate list display area 812. Here, the selected and unselected states of the checkboxes represent the headers to be displayed and the headers not to be displayed in the generated integrated table, respectively (Figure 8). Furthermore, based on the move operation details included in the read header editing operation, the control unit 11 moves the header name and position (display order) of each header candidate and displays them in the header candidate list display area 812.

[0060] The control unit 11 outputs a list of header candidates for the integrated table from the layout defined data for each division unit (step S27). The output list of header candidates is displayed on the display unit 26 of the terminal device 2. The control unit 11 returns to the process in step S14.

[0061] In this way, server device 1 outputs a list of header candidates for an integrated table, which is a combination of multiple layout-defined data extracted for each selected division unit, and accepts header editing operations for the output list of header candidates. When server device 1 generates an integrated table based on the list of header candidates for which header editing operations have been performed, it can save the layout file and configuration file in association with the integrated table.

[0062] [1. Example when the number of tabular files is 1] Figure 7 shows an example of the structure of a tabular file 71. The tabular file 71 can be a tabular file stored in the tabular linked data 60, which is selected in step S11 of Figure 6. The tabular file 71 has sheets 711, 712, and 713 that contain tabular data.

[0063] Sheets 711, 712, and 713 are named "Experimental Information," "Experimental Results 1," and "Experimental Results 2," respectively. Sheet 711 contains layout-defined data 7111 defined by a heading parser 92 with "Person in Charge" as the heading and "Tanaka" as the content, and another heading parser 92 with "Sample Name" as the heading and "LaFeAs" as the content. Sheets 712 and 713 contain layout-defined data 7121 and 7131 defined by a table parser 95 with "Sample ID," "Electrical Resistivity (300K)," and "Transition Point" as headers.

[0064] [1.1. Splitting unit: File] Figure 8 shows an example of a screen 81 that includes a list of header candidates. Here, screen 81 is the screen displayed on the display unit 26 of the terminal device 2 as a result of the output of step S13 in Figure 6, and is the screen for the tabular file 71 in Figure 7. As shown in this figure, screen 81 has a data division unit selection area 811, a header candidate list display area 812, a preview area 813, a save button 814, a preview button 815, and a setting load button 816.

[0065] Server device 1 accepts one of the following as the data division unit via the data division unit selection area 811: file, sheet, or table. Server device 1 then arranges the layout-defined data 7111, 7121, and 7131 vertically or horizontally within the selected division unit (Figures 9-12).

[0066] In the example in Figure 8, "File" is selected as the splitting unit. The header candidate list display area 812 has a header name field 8121, a count field 8122, a type field 8123, and an edit link 8124.

[0067] Server device 1 extracts the headings from the heading parser 92 as header candidates. Server device 1 also extracts the contents of each table header from the table parser 95 as header candidates. The header name column 8121 displays the header names of the extracted header candidates. Server device 1 also displays a checkbox adjacent to the header name to select whether to use that header candidate as the header of the integrated table.

[0068] In Figure 7, the table parser 95 of the tabular file 71 does not have a header parser 92 connected to it. Therefore, in the header candidate list display area 812 of Figure 8, the table name is displayed as "(blank)". However, if the header parser 92 is connected to the table parser 95, the header of the header parser 92 will be displayed as the table name in the header name column 8121.

[0069] As shown in Figure 8, when displaying headers included in the table (for example, "Sample ID", "Electrical Resistivity (300K)", "Transition Point") in the header name field 8121, the server device 1 displays them as header candidates included in the table heading by listing them with indentation immediately after the header candidate that will become the table heading (for example, "Table:Experimental Results 1.(blank)"). Here, the columns (or rows) of the integrated table are displayed in the order they were displayed in the header candidate list display area 812.

[0070] The Count column 8122 displays the number of times the header name of the header candidate appears in the layout-defined data extracted from the selected tabular file. The Type column 8123 primarily displays the type of layout from which the header candidate of the layout-defined data was extracted. Specifically, "Value" is displayed if the header candidate is based on a header from the Heading Parser 92, and "Table" is displayed if the header candidate is based on a header from the Table Parser 95. "metadata" is displayed in the Type column for metadata header candidates.

[0071] In Figure 8, when server device 1 uses "file" as the splitting unit, it displays header candidates for "Book," which displays the file name, and header candidates for "Folder Path," which displays the file path of the folder where the file is stored. The header candidates for "Book" and "Folder Path" are listed with an indent immediately after the header candidate for "Metadata" in header name column 8121. Edit link 8124 allows editing whether the display of the integrated table in tabular file is vertical or horizontal, etc.

[0072] Server device 1 accepts a header editing operation (hereinafter referred to as "selection operation") by a user of terminal device 2 from a list of header candidates, in which the user selects a header candidate to display in the integrated table from the list of header candidates. The selection operation is an operation to select a header candidate from the list of header candidates that will be displayed in the integrated table.

[0073] For example, Server Device 1 accepts the user's selection of a header candidate to be displayed in the integrated table from a list of header candidates via touch or click operations. For example, if the header candidate "Experiment Information.Person in Charge" is selected, Server Device 1 displays whether the selection is made in the corresponding checkbox. The selected header candidate is then displayed in the integrated table.

[0074] Furthermore, if a header candidate that includes other header candidates (for example, "Table:Experimental Results 1.(blank)") is checked, all header candidates included in that header candidate (for example, "Sample ID," "Electrical Resistivity," and "Transition Point") will be automatically selected. This allows users to select all header candidates included in a selected header candidate at once, without having to individually select them, significantly reducing the effort required.

[0075] The preview area 813 displays a table generated by the header candidate selected in the header candidate list display area 812. The preview button 815 is a button that sends an instruction to the server device 1 to output the integrated table using the header candidate selected in the header candidate list display area 812 to the preview area 813. When the terminal device 2 receives an operation such as clicking the preview button 815 from the user, it sends a preview instruction to the server device 1. Upon receiving the preview instruction, the server device 1 creates an integrated table using the header candidate selected in the header candidate list display area 812 and outputs it to the preview area 813.

[0076] In Figure 8, server device 1 accepts selection of "file" as the splitting unit. When a file (tabular file) is selected as the splitting unit, server device 1 includes the sheet name in the header name of the header candidate displayed in the header candidate list display area 812. Specifically, server device 1 displays a string in the header name of the header candidate that connects the sheet name and the header of the header parser 92 or the table parser 95 ("(blank)" in Figure 8) via a "." (period).

[0077] For example, in the display of the header name field 8121, the sheet name "Experiment Information" and the header name "Person in Charge" generated by the header parser 92 are connected by a "." (period), resulting in "Experiment Information.Person in Charge". By creating a header that combines the sheet name and the header from the header parser 92 in this way, even if there are header candidates with the same name on different sheets when "files" are used as the unit of division, the server device 1 can treat them as different headers and display them in the header candidate list display area 812.

[0078] The integrated table displayed in the preview area 813 is the same as the content displayed in the header candidate list display area 812. When all of the displayed header candidates are selected (checked in the checkboxes), the server device 1 displays the integrated table when the preview button 815 is operated.

[0079] As shown in the integrated table displayed in preview area 813, server device 1 adopts the sheet name displayed before the "." (period) in the header candidate list display area 812 as a header that encompasses other headers in the multi-level headers of the integrated table. In addition, server device 1 adopts the string displayed after the "." (period) in the header candidate list display area 812 as a header included in the said sheet name.

[0080] The header included in the sheet name header will be a header with the Type field 8123 set to "Value" or "Table". Furthermore, Server Device 1 will adopt the header candidate (table header) displayed indented immediately after the header candidate with the Type field 8123 set to "Table" in the header name field 8121 of Figure 8 as the header for the integrated table, as a header further included in the header with the Type field 8123 set to "Table". Note that although Figure 8 shows a horizontal integrated table with the header at the top, a vertical integrated table with the header on the left side may also be used.

[0081] As shown in this table, the partitioning unit is "file," and since the selected tabular file is a single tabular file 71, the server device 1 does not use a common header and outputs the data in a single row. Note that the integrated table may extend in the column direction by transposing rows and columns. In this way, the server device 1 arranges multiple tabular data with different headers sequentially in either the vertical or horizontal direction.

[0082] In this way, Server Device 1 edits the position in which the header candidates are displayed on the integrated table from the list of header candidates and generates an integrated table based on the selected header. As shown in the figure, Server Device 1 generates an integrated table in the following order: "Experimental Information ("Person in Charge" and "Sample Name")", "Table:Experimental Results 1.(blank) ("Sample ID", "Electrical Resistivity (300K)" and "Transition Point")", "Table:Experimental Results 2.(blank) ("Sample ID", "Electrical Resistivity (300K)" and "Transition Point")", and "Metadata ("Book" and "Folder Path")".

[0083] Furthermore, the integrated table can be regenerated by performing a move operation on the header candidates. Figure 9 shows an example of the output of the integrated table when a move operation is performed on a header candidate.

[0084] Server device 1 accepts operations performed by users of terminal device 2 to move a header candidate to a higher or lower position in the list of header candidates (hereinafter referred to as "move operation") as header editing operations. A move operation is an operation to change the display order of header candidates in the header candidate list display area 812.

[0085] Server device 1 generates an integrated table in which a header candidate is displayed in a column to the left or right of another header candidate, based on an operation by a user of terminal device 2 to move that header candidate to a higher or lower position than another header candidate. Server device 1 outputs the generated integrated table to terminal device 2.

[0086] Specifically, the server device 1 moves the header candidates displayed in the header name field 8121 to a higher or lower position based on operations performed by the user of the terminal device 2, such as drag-and-drop using the input unit 27 of the terminal device 2, such as a mouse. Note that the operation is not limited to drag-and-drop; for example, operations such as clicking to select an item and then moving its position using the up and down arrow buttons, or selecting a header candidate and then using keyboard shortcuts to move its position, may also be used.

[0087] Server device 1, upon receiving a move operation, regenerates the integrated table from the list of header candidates based on the position of the moved header candidate. Specifically, after moving the header candidate to be moved to the destination position, Server device 1 changes the display order within the integrated table to match the destination position by operating the preview button 815, and outputs the modified integrated table to terminal device 2.

[0088] As shown in the diagram, when a user performs operation 98 (for example, drag and drop) to move a header candidate named "metadata" to a higher position above "Table:Experimental Results 1.(blank)", the server device 1 moves all header candidates included in the "metadata" (for example, "Book" and "Folder Path") to a higher position above "Experimental Results 1.Table:(blank)".

[0089] Furthermore, if the server device 1 receives an operation 99 from a user to move the header candidate that is "Transition Point" in "Table:Experimental Results 2.(blank)" to a position above "Electrical Resistivity (300K)" in "Table:Experimental Results 2.(blank)", the server device 1 will display the header candidate that is "Transition Point" to a position above the header candidate that is "Electrical Resistivity (300K)".

[0090] When the preview button 815 is pressed, the server device 1 regenerates the integrated table based on the order after the move, with the following items arranged in that order: "Experimental Information ("Person in Charge" and "Sample Name")", "Metadata ("Book" and "Folder Path")", "Table:Experimental Results 1.(blank) ("Sample ID", "Electrical Resistivity (300K)", and "Transition Point")", and "Table:Experimental Results 2.(blank) ("Sample ID", "Transition Point", and "Electrical Resistivity (300K)").

[0091] As described above, Server Device 1 outputs a preview of the integrated table along with a screen displaying a list of header candidates, based on the accepted selection of a division unit or header editing operation. Server Device 1 also accepts operations to move a header candidate to a higher or lower position in the output list of header candidates as a header editing operation. By moving one header candidate to a higher or lower position than other header candidates, Server Device 1 generates an integrated table in which one header candidate is displayed in a column to the left or right of the other header candidates, respectively.

[0092] Next, the movable range for header candidates will be explained. In this embodiment, each header candidate is movable within a predetermined range. Specifically, a header candidate that is not included in any of the header candidates can be moved between other header candidates that are not included in any of the other header candidates. For example, a header candidate can be moved between "Experiment Information.Person in Charge", "Table:Experiment Results 1.(blank)", "Table:Experiment Results 2.(blank)", and "Metadata" in the header candidate list display area 812 of Figure 9.

[0093] Furthermore, in this embodiment, in a multi-level header candidate, header candidates included in a header candidate (e.g., "Experimental Results 1. Table") (e.g., "Sample ID", "Electrical Resistivity (300K)", or "Transition Point") can only be moved between header candidates included in the same header candidate. In other words, it is not possible to move them so that they are no longer included in the same header candidate. This restriction maintains the sorting within each header candidate and ensures data integrity.

[0094] Note that this is not limited to the movement process described above. For example, if, in a multi-level header candidate system, a header candidate (e.g., "Sample ID") contained within a certain header candidate (e.g., "Table:Experimental Results 1.(blank)") is moved between different header candidates (e.g., "Table:Experimental Results 2.(blank)"), the server device 1 may move the header candidate that contains the header candidate (e.g., "Table:Experimental Results 1.(blank)") along with the header candidate that is to be moved (e.g., "Sample ID").

[0095] The save button 814 is a button for sending a save command to the server device 1. When the user clicks the save button 814 or performs other actions, it sends a save command to the server device 1. Upon receiving the save command, the server device 1 saves the tabular file containing the content displayed in the preview area 813, the corresponding layout file, and the configuration file.

[0096] Specifically, server device 1 saves the tabular data of the integrated table as a tabular file in the tabular file storage unit 62. Server device 1 converts the parsed objects placed in the tabular data into strings or the like, and saves the layout structure information as a layout file in the layout file storage unit 63.

[0097] Server device 1 stores the division unit and header editing operations as a configuration file in the table creation configuration file storage unit 64. Header editing operations include move operations and selection operations for headers displayed in the integrated table. The contents of a header editing operation include, but are not limited to, the name of the header to be operated on, the destination position of the header (after modification), procedure information for the editing operation, and display and hide settings in the integrated table.

[0098] The configuration file is composed of XML or JSON format, etc. When the configuration file is loaded the next time the system is used, the previous edits (splitting units and header editing operations) will be applied to the header candidate list screen. This allows users to reuse the header editing operations they performed later. The saved configuration file is automatically loaded the next time an integrated table is created, allowing the previous settings to be carried over. The process of applying splitting units and header editing operations will be described later.

[0099] As an example of a JSON configuration file, { "Partition Unit": { file }, "Header name": { "Experimental Information": { "manager": { "visible": true, "position": 1 }, "Sample name": { "visible": true, "position": 2 } }, "metadata": { "Book": { "visible": true, "position": 3 }, "Folder path": { "visible": true, "position": 4} }, "Experimental Results 1. Table": { "Sample ID": { "visible": true, "position": 5 }, "Electrical resistivity (300K)": { "visible": true, "position": 6 }, "Transition point": { "visible": true, "position": 7 } }, "Experimental Results 2. Table": { "Sample ID": { "visible": true, "position": 8 }, "Transition point": { "visible": true, "position": 9 }, "Electrical resistivity (300K)": { "visible": true, "position": 10 } } }, "Editing Procedure 1": { "type": move, "header": "metadata", "next to": "Experiment Information" }, "Editing Procedure 2": { "type": move, "header": "Experimental Results 2. Table": "Transition Point", "next to": "Experimental Results 2.Table": "Sample ID" }, "lastUpdated": "2024-12-06T14:30:00" }

[0100] As described above, the configuration file can include information such as the header name, the destination (after modification) of the header, editing procedure information, and display and hide settings for the integrated table. The configuration file may also include only the destination (after modification) of the header, editing procedure information, or display and hide settings for the integrated table. Furthermore, the editing procedure information includes the type of editing operation (e.g., move) and the destination location (e.g., "next to: Experiment Information"). This allows editing operations to be applied even if there are changes in the number of header candidates included in the header candidates or in the header name.

[0101] Server device 1 assigns identifiers to management files for managing tabular files, layout files, and configuration files. Server device 1 stores the file paths of tabular files, layout files, and configuration files in management file 61, associating them with the assigned identifiers.

[0102] The Load Settings button 816 is a button for applying saved division units and header editing operations. When the server device 1 receives a touch operation of the Load Settings button 816 by a user, it retrieves the setting file from the table creation setting file storage unit 64 based on the file path and file name of the setting file corresponding to the saved tabular file.

[0103] Furthermore, this is not limited to the configuration file corresponding to the tabular file in question. For example, server device 1 may accept the user's selection of a configuration file corresponding to a second tabular file different from the tabular file in question. This allows the creation of a new tabular file that reflects the settings of the existing (past) tabular file when an integrated table is created or updated.

[0104] Server device 1 reads the division unit ("file", "sheet", or "table") and header editing operations from the acquired configuration file. Server device 1 then extracts the layout-defined data for each division unit read from the tabular file.

[0105] Server device 1 outputs a list of header candidates for the integrated table from the layout-defined data for each division unit. The output list of header candidates is displayed on the display unit 26 of terminal device 2. Server device 1 applies the division unit and header editing operations to the header candidate list screen (Figure 8).

[0106] Specifically, Server Device 1 sets the read division unit in the data division unit selection area 811. Based on the selection operation included in the read header editing operation, Server Device 1 associates checkboxes indicating selected or unselected states with the corresponding header candidates and displays them in the header candidate list display area 812. In addition, based on the move operation included in the read header editing operation, Server Device 1 displays the header name and position (display order) of each header candidate in the header candidate list display area 812.

[0107] Furthermore, for a second tabular file that is different from the saved tabular file, the splitting units and header editing operations stored in the configuration file can be applied to the second tabular file using the configuration file corresponding to the saved tabular file.

[0108] Figure 10 shows an example of the structure of the second tabular file 71. Note that content that overlaps with Figure 7 is denoted by the same reference numerals and its explanation is omitted. Sheets 712 and 713 each contain layout-defined data 7121 and 7131, respectively, defined by the table parser 95, with header names "Sample ID," "Electrical Resistivity (300K)," "Transition Point," and "Second Transition Point."

[0109] Figure 11 illustrates an example of applying the division units and header editing operations stored in the configuration file to a second-tabular file. Note that content overlapping with Figure 8 is denoted by the same reference numerals and its explanation is omitted.

[0110] First, we will explain the process before applying the division units and header editing operations saved in the configuration file to the second tabular file. Server device 1 accepts the user's selection of the tabular file 71 shown in Figure 10. Server device 1 extracts the layout-defined data of the selected tabular file and outputs a list of header candidates for the integrated table from the extracted layout-defined data to terminal device 2 (Figure 11 <Before Application>).

[0111] The list of output header candidates (before applying the configuration file) is displayed in the header candidate list display area 812. As shown in the figure, the header candidate list display area 812 displays the following in this order: "Experimental Information ("Person in Charge" and "Sample Name")", "Experimental Results 1. Table ("Sample ID", "Electrical Resistivity (300K)", "Transition Point", and "Second Transition Point")", "Experimental Results 2. Table ("Sample ID", "Transition Point", "Electrical Resistivity (300K)", and "Second Transition Point")", and "Metadata ("Book" and "Folder Path")".

[0112] Next, the process of applying the division units and header editing operations stored in the configuration file to the second tabular file will be described. Server device 1 accepts the user's selection (specification) of the configuration file in which the division units and header editing operations are stored for the target tabular file 71. In the explanation of Figure 11, the division units and header editing operations included in the configuration file are the example configuration file described above, which includes the contents of the move operation performed in Figure 9.

[0113] Server device 1 reads the division unit ("file", "sheet", or "table") and header editing operations from the selected configuration file. Server device 1 extracts layout-defined data for each read division unit from the tabular file 71. Server device 1 generates a list of header candidates for the integrated table from the layout-defined data for each division unit.

[0114] Server device 1 applies the division unit and header editing operations to the header candidate list screen 81. Specifically, server device 1 sets the read division unit to the data division unit selection area 811.

[0115] Server device 1 sets the header name and position (display order) of each header candidate in the header candidate list display area 812 based on the header name and position (display order) of each header candidate included in the read header editing operation. As shown in the figure, the header candidate list display area 812 displays the following in display order: "Experimental information ("Person in charge" and "Sample name")", "Metadata ("Book" and "Folder path")", "Table:Experimental results 1.(blank) ("Sample ID", "Electrical resistivity (300K)", "Transition point" and "Second transition point")", and "Table:Experimental results 2.(blank) ("Sample ID", "Transition point", "Electrical resistivity (300K)" and "Second transition point")".

[0116] Furthermore, the display order of header candidates that do not exist in the configuration file (for example, "Second Transition Point") will be set to a predetermined position (for example, after "Transition Point") within the header candidate that contains that header candidate (for example, "Experimental Results 1.Table"). In other words, even if the number or content of header candidates contained within other header candidates differs from the settings in the configuration file, the header candidate may be moved together with the header candidate that contains it.

[0117] Based on the selection operation details included in the read header editing operation, the server device 1 associates checkboxes indicating whether a header is selected or not with the corresponding header candidate and displays them in the header candidate list display area 812.

[0118] As shown in the figure, Server Device 1 sets the status of the checkboxes corresponding to "Table:Experimental Results 1.(blank)", "Sample ID", "Electrical Resistivity (300K)", and "Transition Point" contained in "Experimental Results 1.Table", and "Table:Experimental Results 2.(blank)", "Sample ID", "Transition Point", and "Electrical Resistivity (300K)" contained in "Table:Experimental Results 2.(blank)" to selected.

[0119] Furthermore, Server Device 1 sets the state of the checkboxes corresponding to "Second Transition Point" in "Table:Experimental Results 1.(blank)" and "Second Transition Point" in "Table:Experimental Results 2.(blank)" to the default (initial) state (e.g., unselected). In other words, if there are header candidates that are not included in the configuration file, the settings (selected or unselected) for the header candidates not included in the configuration file may be configured.

[0120] Note that if there are multiple tabular files as described later, the conversion process for splitting, acceptance of header editing operations, saving process, and application process of splitting and header editing operations will be performed in the same way as when there is one tabular file, so the explanation will be omitted.

[0121] Next, we will explain the process for accepting changes to the division unit for the list of header candidates displayed in the header candidate list display area 812. The division unit can be a sheet, a file, or a table (layout-defined data defined as a table within tabular data). When the division unit is changed, a list of header candidates for an integrated table, which combines multiple layout-defined data extracted for each changed division unit, can be output.

[0122] Specifically, when server device 1 receives a selection of "sheet" by the user via the data division unit selection area 811 in the header candidate list display area 812 of Figure 8, where "file" is selected as the data division unit, server device 1 changes the data division unit to "sheet". Server device 1 outputs a list of header candidates for the integrated table (Figure 12), which combines multiple layout-defined data extracted for each changed division unit ("sheet"), to terminal device 2.

[0123] Alternatively, if the server device 1 receives a selection of "table" from the user via the data partitioning unit selection area 811, it changes the data partitioning unit to "table". The server device 1 outputs a list of header candidates for the integrated table (Figure 14), which combines multiple layout-defined data extracted for each changed partitioning unit ("table"), to the terminal device 2.

[0124] [1.2. Splitting unit: Sheet] Figure 12 is an explanatory diagram showing an example of a header candidate list and integrated table when the division unit is set to "sheet". In Figure 12, along with the header candidate list display area 812, the integrated table that will be displayed when all header candidates are selected in the header candidate list display area 812 and the preview button 815 is operated is shown in the preview area 813 below the arrow. As shown in the header candidate list display area 812 of this figure, when the division unit is set to "sheet", the sheet name is not appended to the header name, and header names with the same string in different sheets are treated as common header candidates across sheets.

[0125] In Figure 7, the layout-defined data 7121 for sheet 712 and the layout-defined data 7131 for sheet 713, related to the table parser 95, have the same string header. Therefore, in the example of the header candidate list display area 812 in Figure 12, where the division unit is set to "sheet," the server device 1 uses the common header names for the layout-defined data 7121 and the layout-defined data 7131 as common header candidates. As a result, the header candidates "Sample ID," "Electrical Resistivity (300K)," and "Transition Point" extracted by the table parser 95 appear in both the layout-defined data 7121 and 7131, becoming common header candidates, and the display in the count column 8122 for these header candidates is 2.

[0126] Furthermore, regarding the metadata header candidates when "sheets" are used as the splitting unit, the server device 1 displays header candidates with the same header names "Book" and "folder path" as when "files" are used as the splitting unit, as well as a header candidate with the header name "Sheet" that displays the sheet name, in the header candidate list display area 812.

[0127] Here, the target tabular file 71 has layout-defined data 7111, 7121, and 7131 in three sheets, respectively (Figure 7). Since the division unit is "sheet," as shown in the integrated table in the preview area 813 of Figure 12, the server device 1 generates a three-row integrated table in the preview area 813, in which the layout-defined data 7111, 7121, and 7131 placed in each sheet are arranged vertically in order. Note that the integrated table may extend in the column direction by transposing the rows and columns.

[0128] Here, in the metadata, the "Book" column, which displays the file name for each row, is the same, while the "Sheet" column, which displays the sheet name, is different for each row. The metadata indicates that the contents of the cells in each row are data extracted from different sheets within the same file. In this way, server device 1 generates an integrated table by arranging the layout-defined data vertically (or horizontally) within the selected division unit.

[0129] Furthermore, as described above, the server device 1 arranges multiple tabular data sets having a common header ("Sample ID", "Electrical Resistivity (300K)", and "Transition Point") for each division in order in a first direction, which is either vertical or horizontal (in this embodiment, the "vertical direction"). In addition, the server device 1 arranges multiple tabular data sets having different headers ("Person in Charge" and "Sample Name") for each division in order in a second direction, which is either vertical or horizontal and different from the first direction (in this embodiment, the "horizontal direction").

[0130] In the example shown in Figure 12, tabular data with different headers for each division is arranged horizontally while also being moved vertically. This allows for easy comparison of common header content by arranging it in one direction, while non-common headers are described as separate information, thereby creating a clear and comprehensive integrated table.

[0131] Figure 13 shows another example of an integrated table displayed when the division unit is set to "sheet". Server device 1 can determine that sheets 712 and 713 have the same attributes based on the fact that the sheet names "Experimental Results 1" and "Experimental Results 2" are strings consisting of the same term and the numbers associated with that term. It can also determine that sheet 711, "Experimental Information," has different attributes from sheets 712 and 713.

[0132] In this case, as shown in the integrated table in Figure 13, sheets 712 and 713, which have common attributes, can be arranged vertically (or horizontally), and sheet 711, which has different attributes, can be arranged horizontally (or vertically). In this way, tabular data with common attributes can be arranged sequentially in a first direction, either vertically or horizontally, for each partition, and tabular data with different attributes can be arranged sequentially in a second direction, either vertically or horizontally, that is different from the first direction, for each partition. Furthermore, the server device 1 can output a preview of the integrated table based on the accepted selection of partition units or header editing operation, along with a screen displaying a list of header candidates.

[0133] This allows for the creation of a user-friendly and comprehensive integrated table by arranging the division units of common attributes in one direction for easy comparison, and displaying the division units of different attributes separately in a different direction. In the example in Figure 13, metadata is not selected in the header candidate list display area 812, and therefore metadata is not displayed in the integrated table.

[0134] Furthermore, even when multiple tabular data sets with a common header are arranged sequentially in a first direction, either vertically or horizontally, and tabular data sets with different headers are arranged in a second direction, either vertically or horizontally, that is different from the first direction, the server device 1 can output an integrated table like the one shown in Figure 13. For example, if the header candidate list display area 812 is set not to display metadata, the server device 1 can output an integrated table like the one shown in Figure 13 by arranging tabular data sets with different headers (e.g., sheet name "Experiment Information") only in the second direction (horizontally) relative to other tabular data sets (sheet name "Experiment Results 1"), without moving them in the first direction (vertically).

[0135] [1.3. Unit of division: Table] Figure 14 is an explanatory diagram showing an example of a header candidate list and an integrated table when the division unit is set to "table". In Figure 14, along with the header candidate list display area 812, the integrated table that will be displayed when all header candidates are selected in the header candidate list display area 812 and the preview button 815 is operated is shown in the preview area 813 below the arrow. As shown in the header candidate list display area 812 of this figure, when the division unit is set to "table", the headings of the heading parser 92 are not extracted as header candidates, just as when the division unit is set to "sheet", and header names with the same string in different sheets are treated as common header candidates among the layout-defined data.

[0136] The target tabular file 71 has layout-defined data 7111, 7121, and 7131 in three sheets, respectively (Figure 7). However, since the division unit is "table," the server device 1 targets only the layout-defined data 7121 and 7131, including the table parser 95, as header candidates.

[0137] Similar to the case in Figure 12 where the division unit is "sheet," in the example of the header candidate list display area 812 in Figure 14, the server device 1 adopts the same string header names in the layout-defined data 7121 and 7131 in Figure 7 as common header candidates. Specifically, the header candidates "Sample ID," "Electrical Resistivity (300K)," and "Transition Point" extracted by the table parser 95 appear in both the layout-defined data 7121 and 7131, and therefore become common header candidates, resulting in a display of 2 in the count column 8122 for these header candidates.

[0138] Furthermore, when "tables" are used as the partitioning unit, Server Device 1 displays header candidates such as "Book," "Folder Path," and "Sheet" as metadata, similar to when "sheets" are used as the partitioning unit, and also displays header candidates for the header name "Key" to identify tables within a sheet.

[0139] As described above, the integrated table created targets the layout-defined data 7121 and 7131, which have a table parser 95. As shown in the integrated table in the preview area 813 of Figure 14, since the partitioning unit is a "table," the server device 1 arranges the layout-defined data 7121 and 7131 based on this table parser 95 vertically in order to generate a two-row integrated table. The integrated table may also have two columns in the column direction by transposing the rows and columns.

[0140] In the metadata section, the "Book" column, which contains the file name, is the same for each row, while the "Sheet" column, which contains the sheet name, is different for each row. This indicates that the contents of the cells in each row are data extracted from different sheets within the same file. Additionally, the "Key" column contains a string combination formed by connecting the file name and sheet name with a "." (period).

[0141] If a header parser 92 is further connected to the extracted table parser 95, the "Key" column may display the table header after the sheet name, separated by a period (."). This allows the "Key" column to be displayed as a string that identifies the table. Therefore, the convenience of processing using a layout that defines the relationship between tabular data and each cell of that tabular data can be further enhanced. Alternatively, the "Key" column may not display the file name or sheet name, and may only display the table header. Furthermore, if one or more header parsers 92 are hierarchically connected to the header parser 92 connected to the table parser 95, the "Key" column may display the headers of each header parser connected by a period (.") in hierarchical order.

[0142] [2. Example when there are 2 tabular files] Figure 15 shows an example of the configuration of tabular files 72 and 73. Tabular files 72 and 73 can be tabular files stored in the tabular linked data 60, which are selected in step S11 of Figure 6. Tabular file 72 has the file name "Super Z Inspection_1" and has sheets 721, 722, and 723 containing tabular data. Tabular file 73 has the file name "Super Z Inspection_2" and has sheets 731, 732, and 733 containing tabular data.

[0143] Sheets 721, 722, and 723 of the tabular file 72 are named "Experimental Information," "Process 1," and "Process 2," respectively. Sheet 721 contains layout-defined data 7211 defined by the heading parser 92, with headings "Person in Charge," "Sample Name," "Type," and "Overview," respectively. Sheet 722 contains layout-defined data 7221 defined by the heading parser 92, with headings "Process Name," "Contact Drying Time," and "Glass Transition Temperature," respectively.

[0144] Sheet 723 contains layout-defined data 7231A defined by the header parser 92 with "Process Name" as the header, and layout-defined data 7231B defined by the table parser 95 with "Shear Load Stress (MPa)" and "Breakage Time (hr)" as headers. Layout-defined data 7231A and 7231B are collectively referred to as layout-defined data 7231.

[0145] Sheets 731, 732, and 733 of tabular file 73 are named "Experimental Information," "Process 1," and "Process 2," respectively, similar to sheets 721, 722, and 723 of tabular file 72. Sheet 731 contains layout-defined data 7311, which has the same headings as layout-defined data 7211 of sheet 721. Sheet 732 contains layout-defined data 7321, which has the same headings as layout-defined data 7221 of sheet 722. Sheet 733 contains layout-defined data 7331A, which has the same headings as layout-defined data 7231 of sheet 723, and layout-defined data 7331B, which has the same headers as layout-defined data 7231B. Layout-defined data 7331A and 7331B are collectively referred to as layout-defined data 7331.

[0146] Even when there are two tabular files, the server device can accept changes to the partitioning unit and header editing operations on the output list of header candidates, just as it does when there is one tabular file. Furthermore, it can output a preview of the integrated table based on the accepted partitioning unit selection or header editing operation.

[0147] [2.1. Splitting unit: File] Figure 16 is an explanatory diagram showing an example of a header candidate list and integrated table when the division unit is set to "file". In Figure 16, along with the header candidate list display area 812, the integrated table that will be displayed when all header candidates are selected in the header candidate list display area 812 and the preview button 815 is operated is shown in the preview area 813 below the arrow. Below, we will explain an example in step S11 of Figure 6 where tabular files 72 and 73 of Figure 15 are selected and the division unit is set to "file". As shown in the header candidate list display area 812 of Figure 16, when the division unit is set to "file (tabular file)", the server device 1 includes the sheet name of the sheet in the header name of the header candidate, similar to Figure 8.

[0148] Specifically, the server device 1 displays a string in the header name of a header candidate that connects the sheet name and the heading of the heading parser 92 or the heading of the table parser 95 (shown as "(blank)" in Figure 16) via a "." (period). For example, in the display of the header name field 8121, the sheet name "Experiment Information" and the header name "Person in Charge" from the heading parser 92 are connected by a "." (period), resulting in "Experiment Information.Person in Charge". By creating a header that combines the sheet name and the heading of the heading parser 92 in this way, even if there are header candidates with the same name on different sheets when "files" are used as the unit of division, the server device 1 can treat them as different headers and display them in the header candidate list display area 812.

[0149] Furthermore, since tabular files 72 and 73 have the same sheet name, the same heading parser 92, and the same table parser 95 with the same header, the count of each header candidate excluding metadata is 1 per sheet, totaling 2. The "metadata" in the header name column 8121 has header candidates with the header names "Book" and "folder path," similar to Figure 8.

[0150] As shown in the integrated table in preview area 813 of Figure 16, the server device 1, similar to Figure 8, adopts the sheet name before the "." (period) in the header candidate list display area 812 as the header containing the sheet header among the multi-level headers in the integrated table. Furthermore, the server device 1 adopts the string displayed after the "." (period) in the header candidate list display area 812 as the header included in the header of the sheet name.

[0151] The headers in the lower rows will be headers where the Type field 8123 is set to "Value" or "Table". Furthermore, Server Device 1 adopts the header candidate (table header) displayed in indentation immediately after the header candidate where the Type field 8123 is set to "Table" in the Header Name field 8121 of Figure 16 as the header of the integrated table, as a header below the header where the Type field 8123 is set to "Table". In Figure 16, the integrated table is shown as a horizontal table with the header at the top, but it may also be a vertical integrated table with the header on the left.

[0152] As shown in the integrated table in preview area 813 of Figure 16, since the partitioning unit of server device 1 is "file," the data of tabular files 72 and 73 are arranged vertically on a file-by-file basis. On the other hand, the headers within each tabular file 72 and 73 are arranged horizontally. Specifically, server device 1 arranges the header candidates contained in the sheet names "Experiment Information," "Process 1," and "Process 2" horizontally. Meanwhile, headers with the same header name between each tabular file 72 and 73 are common, and the values ​​are displayed in the same header column. In the integrated table of Figure 16, since all headers except metadata are common, the data from header parser 92 and table parser 95 are displayed in the common header column, respectively.

[0153] Here, the layout-defined data 7231 and 7331 extracted by the table parser 95 each have three data entries per header. Therefore, the server device 1 displays the data using three rows for each of the tabular files 72 and 73. Also, since the selected tabular files are two files, tabular files 72 and 73, the contents of tabular files 72 and 73 are arranged vertically. In other words, it becomes a combined table with a total of six rows.

[0154] This allows for the creation of a user-friendly and comprehensive integrated table by arranging the contents of common headers in one direction for easy comparison, and listing non-common headers as separate information. The integrated table may also be created by transposing the rows and columns to form a single column.

[0155] In the metadata, Server Device 1 displays the file name in the "Book" column and the folder path where the tabular file is saved in the "Folder Path" column.

[0156] [2.2. Splitting unit: Sheet] Figure 17 is an explanatory diagram showing an example of a header candidate list and integrated table when the division unit is set to "sheet". In Figure 17, along with the header candidate list display area 812, the integrated table that is displayed when all header candidates are selected in the header candidate list display area 812 and the preview button 815 is operated is shown in the preview area 813 below the arrow. As shown in the header candidate list display area 812 of this figure, when the division unit is set to "sheet", the sheet name is not appended to the header name, and headers with the same string in different sheets are treated as common header candidates across sheets.

[0157] Aside from the absence of sheet names and metadata, the only difference between the header candidate list display area 812 in Figure 17 and the header candidate list display area 812 in Figure 16 is that the count for "Process Name" in the header name column 8121 is 4. In the header candidate list display area 812 in Figure 16, the sheet name was attached to the header name column 8121, so "Process Name" in the header name column 8121 was treated as different headers for the sheet names "Process 1" and "Process 2". However, when the division unit is set to "Sheet" in Figure 17, the server device 1 treats "Process Name," which has the same header name, as a common header candidate and displays it as a common header in the integrated table.

[0158] The explanation of the metadata in Figure 17 is the same as the explanation in Figure 12, so redundant explanations will be omitted.

[0159] Here, the tabular file 72 in question has layout-defined data 7211, 7221, and 7231 in three sheets, respectively (Figure 10). Similarly, the tabular file 73 has layout-defined data 7311, 7321, and 7331 in three sheets, respectively. Because the division unit is "sheet," as shown in the integrated table in the preview area 813 of Figure 17, the server device 1 arranges the layout-defined data 7211, 7221, 7231, 7311, 7321, and 7331 vertically in order to form an integrated table of 10 rows.

[0160] Here, the header name "Process Name" is used as a common header, so the number of headers (columns) is one less compared to the integrated table in preview area 813 of Figure 16. In this way, server device 1 generates the integrated table by arranging the layout-defined data vertically in the selected division unit. Note that the integrated table may also be one in which the rows and columns have been transposed and extended in the column direction.

[0161] This allows for the creation of a user-friendly and comprehensive integrated table by arranging common header contents in a unidirectional manner for easy comparison, while listing non-common headers as separate information.

[0162] [2.3. Division Unit: Table] Figure 18 is an explanatory diagram showing an example of a header candidate list and an integrated table when the division unit is set to "table". In Figure 18, along with the header candidate list display area 812, the integrated table that is displayed when all header candidates are selected in the header candidate list display area 812 and the preview button 815 is operated is shown in the preview area 813 below the arrow. As shown in the header candidate list display area 812 of this figure, when the division unit is set to "table", the headers of the header parser 92 are not extracted as header names, and headers with the same string on different sheets are treated as common header candidates among the layout-defined data.

[0163] Of the target tabular files 72 and 73, the layout-defined data 7231 contained in sheet 723 and the layout-defined data 7331 contained in sheet 733 are eligible to be considered as header candidates. Excluding metadata, the header candidate list display area 812 in Figure 18 is the same as the list in the header candidate list display area 812 in Figure 17, excluding the header names with type "Value" in the type column 8123, and redundant explanations are omitted.

[0164] The explanation of the metadata in Figure 18 is the same as that for Figure 14, so redundant explanations will be omitted.

[0165] Since the division unit is "table" and the target tables are the layout-defined data 7231B and 7331B in Figure 15, the integrated table will be a table in which the layout-defined data 7231B and 7331B are arranged vertically, as shown in the preview area 813 of Figure 18. Since the layout-defined data 7231B and 7331B have a common header, the values ​​will be displayed in the corresponding common headers. In this way, the server device 1 generates the integrated table by arranging the layout-defined data vertically in the selected division unit. The integrated table may also be arranged with the rows and columns transposed to extend in the column direction.

[0166] This improves the convenience of processing tabular data using a layout that defines the relationships between each cell in that tabular data. It also allows for the creation of integrated tables tailored to user needs.

[0167] Furthermore, even when there are two tabular files, just as when there is one tabular file, the server device 1 can generate an integrated table based on the list of header candidates for which header editing operations have been performed, and save the layout file and configuration file in association with the integrated table. In addition, by reading the saved splitting units and header editing operations, the splitting units and header editing operations can be applied to the header candidate list screen.

[0168] Furthermore, similar to the case where there is one tabular file, the server device 1 can accept header editing operations such as moving a header candidate to a higher or lower position in the output list of header candidates, or selecting a header from the list of header candidates to display in the integrated table. In this case, by moving one header candidate to a higher or lower position than other header candidates, an integrated table can be generated in which one header candidate is displayed in a column to the left or right of the other header candidates, respectively.

[0169] [3. Example when there are 6 tabular files] Figure 19 shows an example of the structure of tabular files 74-79. Tabular files 74-79 can be tabular files stored in tabular linked data 60, which are selected in step S11 of Figure 6. Tabular file 74 has the file name "Super Z Inspection_1 Experiment Information" and has sheet 741. Sheet 741 has layout-defined data 7411 defined by a heading parser 92 with headings "Person in Charge", "Sample Name", "Type", and "Overview".

[0170] Tabular file 75 has the filename "Super Z Inspection_1 Process 1" and contains sheet 751. Sheet 751 contains layout-defined data 7511 defined by the header parser 92, with the headers "Process Name", "Contact Drying Time", and "Glass Transition Temperature". Tabular file 76 has the filename "Super Z Inspection_1 Process 2" and contains sheet 761. Sheet 761 contains layout-defined data 7611A defined by the header parser 92, with the header "Process Name". It also contains layout-defined data 7611B defined by the table parser 95, with the header names "Shear Load Stress (MPa)" and "Breakage Time (hr)". Layout-defined data 7611A and 7611B are referenced together with layout-defined data 7611.

[0171] Tabular file 77 has the filename "Super Z Inspection_2 Experiment Information" and contains sheet 771. Sheet 771, like sheet 741, contains predefined layout data 7711 defined by a heading parser 92 with headings "Person in Charge", "Sample Name", "Type", and "Overview". Tabular file 78 has the filename "Super Z Inspection_2 Process 1" and contains sheet 781. Sheet 781, like sheet 751, contains predefined layout data 7811 defined by a heading parser 92 with headings "Process Name", "Contact Drying Time", and "Glass Transition Temperature".

[0172] Tabular file 79 has the filename "Super Z Inspection_2nd Process 2" and contains sheet 791. Sheet 791, like sheet 761, contains layout-defined data 7911A defined by the header parser 92 with the header name "Process Name". It also contains layout-defined data 7911B defined by the table parser 95 with the header names "Shear Load Stress (MPa)" and "Breakage Time (hr)". Layout-defined data 7911A and 7911B are referenced together with layout-defined data 7911.

[0173] Even when there are six tabular files, the server device can accept changes to the partitioning unit and header editing operations on the output list of header candidates, just as it does when there is one tabular file. Furthermore, it can output a preview of the integrated table based on the accepted partitioning unit selection or header editing operation.

[0174] [3.1. Splitting unit: File] Figure 20 is an explanatory diagram showing an example of a header candidate list and integrated table when the division unit is set to "file". In Figure 20, along with the header candidate list display area 812, the integrated table that will be displayed when all header candidates are selected in the header candidate list display area 812 and the preview button 815 is operated is shown in the preview area 813 below the arrow. The following describes an example in step S11 of Figure 6 where tabular files 74 to 79 are selected and the division unit is set to "file". As shown in the header candidate list display area 812 of Figure 20, when the division unit is set to "file (tabular file)", the server device 1 includes the sheet name of the sheet in the header name of the header candidate, as in the case of Figure 8.

[0175] Specifically, the server device 1 displays a string in the header name of the header candidate that is formed by concatenating the sheet name "Sheet1" with the header of the header parser 92 or the header of the table parser 95 (shown as "(blank)" in Figure 20) via a "." (period). This allows the server device 1 to treat them as different headers and display them in the header candidate list display area 812 even if there are header candidates with the same name on different sheets when "files" are used as the splitting unit.

[0176] Furthermore, tabular files 74-76 have the same sheet names, the same header parser 92, and the same header parser 95 as tabular files 77-79, respectively. Therefore, the total count for each header candidate, excluding metadata, is 2. However, the header name "Sheet1.Process Name" appears a total of 4 times in tabular files 75-76 and 78-79, so the count for header name 8121 for "Sheet1.Process Name" is 4.

[0177] The explanation of the metadata in Figure 20 is the same as the explanation in Figure 8, so redundant explanations will be omitted.

[0178] As shown in the integrated table in preview area 813 of Figure 20, the server device 1, similar to Figure 8, adopts the sheet name before the "." (period) in the header candidate list display area 812 as the header that encompasses the headers within the sheet, among the multi-level headers in the integrated table. In the case of Figure 20, since all sheet names are the same "Sheet1", the header for Sheet1 is used across all headers except metadata.

[0179] Furthermore, Server Device 1 adopts the string displayed after the "." (period) in the header candidate list display area 812 as the header included in the header of the sheet name. The headers of the lower levels will be headers where the type field 8123 is "Value" or "Table". In addition, Server Device 1 adopts the header candidate (table header) displayed with an indent immediately after the header candidate where the type field 8123 is "Table" in the header name field 8121 of Figure 20 as the header of the integrated table, as a header further below the header where the type field 8123 is "Table". In Figure 20, a horizontal integrated table with the header at the top is shown, but a vertical integrated table with the header on the left side may also be used.

[0180] As shown in the integrated table in preview area 813 of Figure 20, the division unit is "file," so server device 1 arranges the tabular data of tabular files 74-79 vertically on a file-by-file basis. On the other hand, as shown in header candidate list display area 812, tabular files 74-76 and tabular files 77-79 have a common header, so server device 1 arranges the headers horizontally in the order shown in header candidate list display area 812. Server device 1 arranges a total of six tabular files 74-79 vertically, but two of the six tabular files, tabular files 76 and 79, are 3-row tables, and the remaining one is a header parser 92 that is displayed on one row, resulting in an integrated table of 10 rows in total.

[0181] This allows for the creation of a user-friendly and comprehensive integrated table by arranging the contents of common headers in one direction for easy comparison, and listing non-common headers as separate information. The integrated table may also be created by transposing the rows and columns to form a single column.

[0182] [3.2. Splitting unit: Sheet] Figure 21 is an explanatory diagram illustrating an example of a header candidate list and integrated table when the division unit is set to "sheet". In Figure 21, along with the header candidate list display area 812, the integrated table displayed when all header candidates are selected in the header candidate list display area 812 and the preview button 815 is operated is shown in the preview area 813 below the arrow. As shown in the header candidate list display area 812 of this figure, when the division unit is set to "sheet", the sheet name is not appended to the header name, and headers with the same string in different sheets are treated as common header candidates across sheets.

[0183] The header candidate list display area 812 and preview area 813 in Figure 21 are the same as the header candidate list display area 812 and preview area 813 in Figure 20, except that the sheet name is not displayed and metadata is not included; therefore, redundant explanations are omitted. Also, the explanation regarding the metadata in Figure 21 is the same as the explanation in Figure 12; therefore, redundant explanations are omitted.

[0184] In this way, the server device 1 generates an integrated table by arranging the layout-defined data vertically in the selected division unit. The integrated table may also be one in which the rows and columns have been transposed and extended in the column direction.

[0185] This allows for the creation of a user-friendly and comprehensive integrated table by arranging common header contents in a unidirectional manner for easy comparison, while listing non-common headers as separate information.

[0186] [3.3. Unit of division: Table] Figure 22 is an explanatory diagram showing an example of a header candidate list and an integrated table when the division unit is set to "table". In Figure 22, along with the header candidate list display area 812, the integrated table that will be displayed when all header candidates are selected in the header candidate list display area 812 and the preview button 815 is operated is shown in the preview area 813 below the arrow. As shown in the header candidate list display area 812 of this figure, when the division unit is set to "table", the headers of the header parser 92 are not extracted as header names, and headers with the same string on different sheets are treated as common header candidates among the layout-defined data.

[0187] Of the target tabular files 74-79, the layout-defined data 7611 contained in sheet 761 of tabular file 76, and the layout-defined data 7911 contained in sheet 791 of tabular file 79, are considered as header candidates. Excluding metadata, the header candidate list display area 812 in Figure 22 is the same as the header candidate list display area 812 in Figure 18, and redundant explanations are omitted.

[0188] The explanation of the metadata in Figure 22 is the same as the explanation in Figure 14, so redundant explanations will be omitted.

[0189] The preview area 813 in Figure 22 is the same as the preview area 813 in Figure 18, except for the metadata, so redundant explanations are omitted. The metadata differs in that, in the example of preview area 813 in Figure 18, the same sheet name is used in two files, while in the example of preview area 813 in Figure 22, the same sheet name is used in six files.

[0190] In this way, the server device 1 generates an integrated table by arranging the layout-defined data vertically in the selected division unit. The integrated table may also extend in the column direction by transposing the rows and columns.

[0191] This improves the convenience of processing tabular data using a layout that defines the relationships between each cell in that tabular data. It also allows for the creation of integrated tables tailored to user needs.

[0192] Furthermore, even when there are 6 tabular files, just as in the case of 1 tabular file, when the server device 1 generates an integrated table based on the list of header candidates for which header editing operations have been performed, it can associate the layout file and configuration file with the integrated table and save them. In addition, by reading the saved splitting units and header editing operations, the splitting units and header editing operations can be applied to the header candidate list screen.

[0193] Furthermore, similar to the case where there is one tabular file, the server device 1 can accept header editing operations such as moving a header candidate to a higher or lower position in the output list of header candidates, or selecting a header from the list of header candidates to display in the integrated table. In this case, by moving one header candidate to a higher or lower position than other header candidates, an integrated table can be generated in which one header candidate is displayed in a column to the left or right of the other header candidates, respectively.

[0194] Figures 23 and 24 are diagrams illustrating the cell completion function. Figures 23 and 24 illustrate the cell completion function based on the integrated table displayed in the preview area 813 of Figure 16. As shown in Figure 23, when the server device 1 or terminal device 2 accepts an operation such as a right-click by a user of terminal device 2 who selects one of the headers of the integrated table in the preview area 813 (for example, "contact drying time") (S21), it displays a screen 826 that provides the cell completion function (S22).

[0195] Screen 826, which provides the cell completion function, has a checkbox for "Copy values ​​and adjust row number" which completes the input of cell values ​​into blank cells in the column selected by the header selection, and a checkbox for "Perform the same operation on all Value headers" which can be selected when the "Copy values ​​and adjust row number" checkbox is selected. The function of "Perform the same operation on all Value headers" will be described later.

[0196] For example, server device 1 or terminal device 2 receives an instruction to start cell interpolation processing when a user of terminal device 2 selects "Copy values ​​and match row numbers" and clicks the OK button or performs other actions to initiate processing.

[0197] Upon receiving the instruction to start processing, server device 1 or terminal device 2 inputs the value of the nearest higher-level non-blank cell into the blank cells of the column selected by the header selection and outputs it (S23). Specifically, the value of the nearest higher-level non-blank cell (cell F7, "10 minutes") is input into the blank cells of the column indicated by the selected header (e.g., "contact drying time") (e.g., blank cells F8 and F9 in S21) (cells F8 and F9, "10 minutes" in S23). Here, "higher-level" means the side of the column (or row) indicated by the selected header that is closer to the header.

[0198] Here, a blank cell means a cell that does not contain a value, and may be defined by a tabular file, or it may be a string of length 0, etc.

[0199] In the example in Figure 23, the header indicates a column, so we chose to fill in blank cells in the column. However, this can also be applied to headers that indicate rows, in which case the blank cells in the row would be filled in. Furthermore, in the explanation of Figure 23, the server device 1 or terminal device 2 outputs screen 826, which provides the cell completion function, by performing a display operation on the integrated table in the preview area 813. However, the server device 1 or terminal device 2 may also output screen 826, which provides the cell completion function, by operating the edit link 8124 in the header candidate list display area 812. This allows the setting to fill in blank cell values ​​before checking the preview.

[0200] In this way, server device 1 or terminal device 2 can accept a header selection by displaying a list of header candidates or a preview, and perform cell completion processing by inputting the value of the next non-empty cell closest to the blank cell in the row or column specified by the selected header. Alternatively, the cell completion processing may input the value of the next non-empty cell closest to the blank cell. Alternatively, blank cells belonging to a certain data division unit may be input with another non-empty value belonging to that data division unit. Furthermore, although the cell completion processing is initiated by user operation in the above example, it may also be performed as an initial setting without waiting for user operation. Furthermore, although the cell completion processing is performed on blank cells after creating the integrated table in the above example, it may also be performed in an order in which the parts of the layout-defined data corresponding to each parser are converted into separate intermediate tables, an operation equivalent to cell completion processing is performed on each intermediate table, and then the number of rows or columns of each table is made consistent before arranging them vertically and horizontally to eliminate blank cells.

[0201] Furthermore, the server device 1 or terminal device 2 may provide a function on screen 826 that provides the cell completion function to fill in values ​​into cells not only for the selected header column (or row) but also for all headers (headers where the type field 8123 is "Value") based on the integrated table header parser 92. In this case, the server device 1 or terminal device 2 can receive instructions to start the cell completion process for all headers based on the integrated table header parser 92 by the user selecting both "Copy values ​​and match the number of rows" and "Perform the same operation on all Value headers" on screen 826 in Figure 23, and by clicking the OK button or other operation to start the process.

[0202] Upon receiving the instruction to start processing, server device 1 or terminal device 2 outputs an integrated table to the preview area 813, with all header columns (or rows) whose type field 8123 is "Value" filled with blank cells (Figure 24). In the integrated table S21 in Figure 23, columns A to H are all header columns based on the header parser 92, and each has blank cells in rows 5-6 and 8-9, respectively. Through cell completion processing for all headers based on the header parser 92, the values ​​of the nearest higher-level non-blank cells are entered and used to fill the gaps, as shown in Figure 24.

[0203] The cell completion process for all headers based on the header parser 92 can also be applied to headers that indicate rows, and this process can be started by manipulating the edit link 8124 in the header candidate list display area 812. In this way, the server device 1 can perform cell completion processing for all headers in the layout based on the header parser 92 that defines values ​​and headers for those values. This makes the values ​​within cells clearer and results in a more user-friendly integrated table.

[0204] The cell completion process described above is a process of editing the contents of cells in the integrated table for each header candidate. The operations for performing the process of editing the contents of cells in the integrated table for each header candidate (for example, the operations accepted on screen 826 in Figure 23) can be included in the header editing operations.

[0205] Figure 25 is an explanatory diagram illustrating an example of converting a table with index headers and column headers to an integrated table. The tabular file 201 has a sheet 202 containing tabular data (top of Figure 25). The tabular file 201 can be the tabular file stored in the tabular linked data 60, which is selected in step S11 of Figure 6.

[0206] Sheet 202 of the tabular file 201 contains layout-defined data 203, 204, and 205 defined by table parser 95, with "Unopened Bottle" and "Opened Bottle" as index headers and "Be," "As," and "P" as column headers, respectively. The strings "2020," "2021," and "2022" displayed in the upper left corner cell where the index header and column header areas overlap are processed in the header candidate list display area 812 in the same way as headings for table parser 95.

[0207] When server device 1 or terminal device 2 receives a selection of a tabular file, including tabular file 201, in step S11 of Figure 6, for example, it displays a screen 210 for selecting how to convert the table (Figure 25 bottom). Screen 210 is a setting for when both column headers and index headers exist, and allows the user to select one of the following options: "Convert to a 2D table with column names followed by values", "Convert to a 2D table with row names followed by values", "Convert to a 1D table with column names, row names followed by values", and "Convert to a 1D table with row names, column names followed by values".

[0208] "Convert to a 2D table with column names followed by values" means, for example, that the column names "Be," "As," and "P" from tables 203, 204, and 205, which have predefined layouts, will be used as header candidates. "Convert to a 2D table with row names followed by values" means, for example, that the row names "Unopened Bottle" and "Opened Bottle" from tables 203, 204, and 205, which have predefined layouts, will be used as header candidates.

[0209] "Converting to a one-dimensional table in the order of column names, row names, and then values" means, for example, that the column names of each table in the layout-defined data 203, 204, and 205 are used as header candidates for the higher-level header that includes the row name headers in a multi-level header, and the row names are used as header candidates for the lower-level headers of the column name headers. "Converting to a one-dimensional table in the order of row names, column names, and then values" means, for example, that the row names of each table in the layout-defined data 203, 204, and 205 are used as header candidates for the higher-level header that includes the column name headers in a multi-level header, and the column names are used as header candidates for the lower-level headers of the row name headers.

[0210] Figure 26 is an explanatory diagram illustrating an example of converting to a two-dimensional table with column names followed by values. Figure 26 shows an example of a header candidate list and an integrated table when the partitioning unit is set to "sheet". In Figure 26, along with the header candidate list display area 812, the integrated table that is displayed when all header candidates except metadata are selected in the header candidate list display area 812 and the preview button 815 is operated is shown in the preview area 813 below the arrow.

[0211] As shown in the header candidate list display area 812 of this figure, when the server device 1 accepts the selection "Convert to a 2D table in the order of column name followed by value", it lists the headers of each table parser 95, "2020", "2021", and "2022", as header candidates that encompass the other header candidates. Next, in order to display in the order of column name followed by value, the column headers (column names) of each table parser 95, "Be", "As", and "P", are displayed with indentation so that they become header candidates that encompass the respective header candidates "2020", "2021", and "2022". Here, "Convert to a 2D table in the order of column name followed by value" means that one column of the original table is displayed as one row of the integrated table.

[0212] Furthermore, in the integrated table, in order to distinguish and display the index headers (row names) of each table parser 95, header candidates for the "index" header name are displayed in the same order (indentation) as the column headers (column names). Here, the type column 8123 for the "index" header candidate is set to "metadata," but content other than "metadata" that indicates an "index" may also be displayed. Here, the explanation of the header candidate "metadata" in Figures 26 to 29 is the same as the explanation in Figure 12, so redundant explanations are omitted.

[0213] The preview area 813 in Figure 26 shows the integrated table that is displayed when all header candidates except metadata are selected in the header candidate list display area 812. As shown in the integrated table, the division unit is "sheet," but since there is only one sheet, the server device 1 arranges the contents of each table parser 95 contained in the sheet sequentially in a horizontal direction.

[0214] The integrated table header has headers for "2020", "2021", and "2022", and headers consisting of "Be", "As", "P", and "Index" contained within each of the "2020", "2021", and "2022" headers. Server device 1 reflects the contents of the column headers "Be", "As", and "P" of each table parser 95 as the contents of the "Be", "As", and "P" headers. Server device 1 displays "Unopened Bottle" and "Opened Bottle", which are the index headers of each table parser 95, in cells with "Index" as the header name.

[0215] In this example of "converting to a 2D table with column names followed by values," the column headers of the table where Table Parser 95 is installed are kept as they are, and the index header of Table Parser 95 is displayed in a header named "Index" that displays the contents of the index header. This makes it possible to generate an integrated table while maintaining a 2D table similar to the tabular data where Table Parser 95 is installed.

[0216] Thus, when the server device 1 integrates layout-defined data, which is a table with both column headers and index headers, into an integrated table, it accepts a selection to display one column of the layout-defined data as one row of the integrated table, and based on the accepted selection, it displays a preview of the integrated table and a list of header candidates. This makes it possible to generate an integrated table that represents the contents of tabular data, which has one or more table parsers 95 with column headers and index headers, as a two-dimensional table.

[0217] Figure 27 is an explanatory diagram illustrating an example of converting to a two-dimensional table with row names followed by values. Figure 27 shows an example of a header candidate list and an integrated table when the partitioning unit is set to "sheet". In Figure 27, along with the header candidate list display area 812, the integrated table that is displayed when all header candidates except metadata are selected in the header candidate list display area 812 and the preview button 815 is operated is shown in the preview area 813 below the arrow.

[0218] As shown in the header candidate list display area 812 of this figure, when the server device 1 accepts the selection "Convert to a 2D table in the order of row name followed by value", it lists the headers of each table parser 95, "2020", "2021", and "2022", as header candidates that encompass the other header candidates. Next, in order to display in the order of row name followed by value, the index headers (row names) of each table parser 95, "Unopened Bottle" and "Opened Bottle", are displayed with indentation so that they become header candidates that are encompassed by the header candidates "2020", "2021", and "2022", respectively. Here, "Convert to a 2D table in the order of row name followed by value" means that one row of the original table is displayed as one row of the integrated table.

[0219] Furthermore, in the integrated table, to show the differences in column headers (column names) for each table parser 95, header candidates for the "index" header name are displayed in the same order (indentation) as "unopened bottles" and "opened bottles" (index headers (row names)). Here, the type column 8123 for the "index" header candidate is set to "metadata," but it is also acceptable to display content other than "metadata" that indicates an "index."

[0220] The preview area 813 in Figure 27 shows the integrated table that is displayed when all header candidates except metadata are selected in the header candidate list display area 812. As shown in the integrated table, the division unit is "sheet," but since there is only one sheet, the server device 1 arranges the contents of each table parser 95 contained in the sheet sequentially in a horizontal direction.

[0221] The integrated table header has "2020", "2021", and "2022" headers, as well as "Unopened Bottles", "Opened Bottles", and "Index" headers, which are contained within the respective "2020", "2021", and "2022" headers. Server device 1 reflects the contents of the "Unopened Bottles" and "Opened Bottles" index headers of each table parser 95 as the contents of the "Unopened Bottles" and "Opened Bottles" headers, respectively. Server device 1 displays the column headers "Be", "As", and "P" of each table parser 95 in cells with "Index" as the header name.

[0222] In this example of "converting to a 2D table with row names followed by values," the column headers of the table where Table Parser 95 is installed are placed as they are, and the index header of Table Parser 95 is displayed in a header named "Index" that displays the contents of the index header. This makes it possible to generate an integrated table by converting the tabular data where Table Parser 95 is installed into a 2D table with the columns and rows swapped and then joining them.

[0223] Thus, when the server device 1 integrates layout-defined data, which is a table with both column headers and index headers, into an integrated table, it accepts a selection to display the integrated table with each row of the layout-defined data as a row in the integrated table, and based on the accepted selection, it displays a preview of the integrated table and a list of header candidates. This makes it possible to generate an integrated table that represents the contents of tabular data, which has one or more table parsers 95 with column headers and index headers, as a two-dimensional table.

[0224] Figure 28 is an explanatory diagram illustrating an example of converting to a one-dimensional table with column names, row names, and values ​​in that order. Figure 28 shows an example of a header candidate list and an integrated table when the partitioning unit is set to "sheet". In Figure 28, along with the header candidate list display area 812, the integrated table that is displayed when all header candidates except metadata are selected in the header candidate list display area 812 and the preview button 815 is operated is shown in the preview area 813 below the arrow.

[0225] As shown in the header candidate list display area 812 of this figure, when the server device 1 accepts the selection "Convert to a one-dimensional table in the order of column name, row name, then value", it lists the headers of each table parser 95, "2020", "2021", and "2022", as header candidates that encompass the other header candidates. Next, in order to display in the order of "Column name, row name, then value", the column headers (column names) of each table parser 95, "Be", "As", and "P", are displayed with indentation so that they become header candidates that are encompassed by the header candidates "2020", "2021", and "2022", respectively. Here, "Convert to a one-dimensional table in the order of column name, row name, then value" means arranging the values ​​in the layout-defined data of the original table one-dimensionally and displaying each layout-defined data as one row.

[0226] Next, to display the row names, the index headers (row names) "Unopened Bottle" and "Opened Bottle" are displayed for each column header (column name) "Be", "As", and "P", respectively. More specifically, "Unopened Bottle" and "Opened Bottle" are connected to each column header (column name) "Be", "As", and "P" with a "." (period) to create the header names for the header candidates. For example, the header names would be "Be.Unopened Bottle", "Be.Opened Bottle", "As.Unopened Bottle", and so on.

[0227] The preview area 813 in Figure 28 shows the integrated table that is displayed when all header candidates except metadata are selected in the header candidate list display area 812. As shown in the integrated table, the division unit is "sheet," but since there is only one sheet, the server device 1 arranges the contents of each table parser 95 contained in the sheet sequentially in a horizontal direction.

[0228] The integrated table header has "2020", "2021", and "2022" headers, and "Be", "As", and "P" headers that are contained within each of the "2020", "2021", and "2022" headers. Furthermore, the integrated table header also has "Unopened Bottle" and "Opened Bottle" headers that are contained within each of the "Be", "As", and "P" headers. Server device 1 reflects the contents of each table parser 95 as the contents of the "Unopened Bottle" and "Opened Bottle" headers for each of the "Be", "As", and "P" headers.

[0229] In this example, where the data is converted to a two-dimensional table with column names, row names, and values ​​in that order, the column headers and index headers of the table where Table Parser 95 is installed are superimposed to form the header of the integrated table. This makes it possible to generate an integrated table that represents the contents of the tabular data where Table Parser 95 is installed as a one-dimensional table.

[0230] In this way, when the server device 1 integrates layout-defined data, which is a table with both column headers and index headers, into an integrated table, it accepts a selection to display the integrated table by arranging the values ​​in the layout-defined data one-dimensionally, with each layout-defined data item representing one row. Based on the accepted selection, it displays a preview of the integrated table and a list of header candidates. This makes it possible to generate an integrated table that represents the contents of tabular data, which has one or more table parsers 95 with column headers and index headers, as a one-dimensional table.

[0231] Figure 29 is an explanatory diagram illustrating an example of converting to a one-dimensional table with row names, column names, and values ​​in that order. Figure 29 shows an example of a header candidate list and an integrated table when the partitioning unit is set to "sheet". In Figure 29, along with the header candidate list display area 812, the integrated table that is displayed when all header candidates except metadata are selected in the header candidate list display area 812 and the preview button 815 is operated is shown in the preview area 813 below the arrow.

[0232] As shown in the header candidate list display area 812 of this figure, when the server device 1 accepts the selection "Convert to a one-dimensional table in the order of row name, column name, then value", it lists the headings of each table parser 95, "2020", "2021", and "2022", as header candidates that encompass the other header candidates. Next, in order to display in the order of "row name, column name, then value", the index headers (row names) of each table parser 95, "unopened bottle" and "opened bottle", are displayed with indentation so that they become header candidates that are encompassed by the header candidates "2020", "2021", and "2022", respectively. Here, "Convert to a one-dimensional table in the order of row name, column name, then value" means arranging the values ​​in the layout-defined data of the original table one-dimensionally and displaying each layout-defined data as one row.

[0233] Next, to display the row names, the column headers (column names) "Be," "As," and "P" are displayed for each index header (row name) "Unopened Bottle" and "Opened Bottle," respectively. More specifically, the column headers (column names) "Be," "As," and "P" are connected with a "." (period) for each index header (row name) "Unopened Bottle" and "Opened Bottle," respectively, to form the header names of the header candidates. For example, the header names would be "Unopened Bottle.Be," "Unopened Bottle.As," "Unopened Bottle.P," "Opened Bottle.Be," "Opened Bottle.As," "Opened Bottle.P," and so on.

[0234] The preview area 813 in Figure 29 shows the integrated table that is displayed when all header candidates except metadata are selected in the header candidate list display area 812. As shown in the integrated table, the division unit is "sheet," but since there is only one sheet, the server device 1 arranges the contents of each table parser 95 contained in the sheet sequentially in a horizontal direction.

[0235] The integrated table header has headers for "2020", "2021", and "2022", as well as headers for "Unopened Bottles" and "Opened Bottles" that are contained within the respective "2020", "2021", and "2022" headers. In addition, the "Unopened Bottles" and "Opened Bottles" headers of the integrated table have headers for "Be", "As", and "P" that are contained within the respective "Unopened Bottles" and "Opened Bottles" headers. Server device 1 reflects the "Be", "As", and "P" contents of each table parser 95 as the header contents for the "Unopened Bottles" and "Opened Bottles" headers, respectively.

[0236] In this example, where the data is converted to a two-dimensional table with column names, row names, and values ​​in that order, the column headers and index headers of the table where Table Parser 95 is installed are superimposed to form the header of the integrated table.

[0237] In this way, when the server device 1 integrates layout-defined data, which is a table with both column headers and index headers, into an integrated table, it accepts a selection to display the integrated table by arranging the values ​​in the layout-defined data one-dimensionally, with each layout-defined data item representing one row. Based on the accepted selection, it displays a preview of the integrated table and a list of header candidates. This makes it possible to generate an integrated table that represents the contents of tabular data, which has one or more table parsers 95 with column headers and index headers, as a one-dimensional table.

[0238] The process of converting a table with both column headers and index headers into a one-dimensional or two-dimensional table, as described above, is a process of editing the format of the integrated table for each header candidate. The operations for editing the format of the integrated table for each header candidate (for example, the operations accepted on screen 210 in Figure 25) can be included in the header editing operations.

[0239] In the above configuration, program 1P and tabular linked data 60 are stored in the storage unit 14 of server device 1, and the control unit 11 of server device 1 executes the processing of program 1P. However, for example, program 1P and tabular linked data 60 may be stored in the storage unit 24 of terminal device 2, and the control unit 21 of terminal device 2 may execute the processing of program 1P in a standalone manner without using the network 3. Alternatively, part of program 1P may be executed in terminal device 2, and the other part of program 1P may be executed in server device 1, so that terminal device 2 and server device 1 operate in cooperation.

[0240] According to the program 1P, the information processing method related to program 1P, and the information processing device (server device) 1 in the form of this disclosure, the convenience of processing that uses tabular data and a layout that defines the relationships between each cell of that tabular data can be further enhanced.

[0241] Incidentally, the program of Program 1P can be referred to as a program product, software, or software product, and these may be provided on a recording medium or in a form distributed via a communication network.

[0242] All aspects of the embodiments of the present disclosure are illustrative and not restrictive. The scope of the present invention is not shown by the above disclosure but is indicated by the claims, and it is intended that all modifications within the meaning and scope equivalent to the claims be included.

[0243] Also, the sequences shown in each of the above embodiments are not limited, and within a non - contradictory range, each processing procedure may change its order and be executed, or a plurality of processes may be executed in parallel. The subject of each process is not limited, and within a non - contradictory range, another device may execute the process of each device.

[0244] The matters described in each embodiment can be combined with each other. Also, the independent claims and dependent claims described in the claims can be combined with each other in all possible combinations regardless of the citation form. Furthermore, in the claims, although multi - claims that cite two or more claims do not use the form of further - citing multi - claims (multi - multi - claims), a combination form using the form of multi - multi - claims that cite all upper - level claims may be used.

Explanation of Reference Numerals

[0245] 1 Information processing device (server device) 11 Control unit 12 Communication unit 13 Reading unit 14 Storage unit 15 Portable storage medium 19 Bus 1P Program (program product) 2 Information processing terminal (terminal device) 21 Control unit 22 Communication unit 23 Reading Unit 24 Memory Unit 25 Portable Memory Medium 26 Display Unit 27 Input Unit 29 Bus 3 Network 60 Tabular Linkage Data 61 Management File 62 Tabular File Storage Unit 63 Layout File Storage Unit 81 Screen 811 Data Division Unit Selection Area 812 Header Candidate List Display Area 8121 Header Name Column 8122 Count Column 8123 Type Column 8124 Edit Link 813 Preview Area 814 Save Button 815 Preview Button 816 Setting Load Button 92 Heading Parser 93 Order Parser 95 Table Parser 951 Entire Table Part 952 Table Data Part

Claims

1. It accepts the selection of a splitting unit to extract layout-defined data, which is tabular data to which a layout that defines the relationships between multiple cells is applied. Output a list of header candidates for the integrated table, which combines the multiple layout-defined data extracted for each division unit. The system accepts header editing operations on the outputted list of header candidates. Based on the list of header candidates on which the header editing operation has been performed, the integrated table is generated. When generating the integrated table, the division unit and the header editing operation are saved in association with the integrated table. A program that instructs a computer to perform a process.

2. The header editing operation includes operations for editing the format or cell contents of the integrated table for each header candidate. The program according to claim 1.

3. The output list of header candidates accepts a change in the division unit. Output a list of header candidates for the integrated table, which combines the multiple layout-defined data extracted for each modified division unit. The program according to claim 1.

4. The system accepts one of the following as the partitioning unit: a sheet containing the tabular data, a file having one or more of the sheets, or a table which is the layout-defined data defined as a table within the tabular data. The program according to claim 1.

5. The system accepts the following operations as header editing operations: moving a header candidate to a higher or lower position in the output list of header candidates, or selecting a header from the list of header candidates to display in the integrated table. The program according to claim 1.

6. By moving one of the header candidates to a higher or lower position than another header candidate, The integrated table is generated, which displays the first header candidate in a column to the left or right of the other header candidates, respectively. The program according to claim 5.

7. On the screen displaying the list of header candidates, the saved division units and header editing operations are retrieved and applied to the screen displaying the list of header candidates. The program according to claim 1.

8. Along with the screen displaying the list of header candidates, a preview of the integrated table is output based on the accepted selection of the division unit or the header editing operation. The program according to claim 1.

9. It accepts the selection of a splitting unit to extract layout-defined data, which is tabular data to which a layout that defines the relationships between multiple cells is applied. Output a list of header candidates for the integrated table, which combines the multiple layout-defined data extracted for each division unit. The system accepts header editing operations on the outputted list of header candidates. Based on the list of header candidates on which the header editing operation has been performed, the integrated table is generated. When generating the integrated table, the division unit and the header editing operation are saved in association with the integrated table. Information processing methods.

10. It includes a control unit, and the control unit is It accepts the selection of a splitting unit to extract layout-defined data, which is tabular data to which a layout that defines the relationships between multiple cells is applied. Output a list of header candidates for the integrated table, which combines the multiple layout-defined data extracted for each division unit. The system accepts header editing operations on the outputted list of header candidates. Based on the list of header candidates on which the header editing operation has been performed, the integrated table is generated. When generating the integrated table, the division unit and the header editing operation are saved in association with the integrated table. Information processing device.