Apparatus for determining columns to be expanded or contracted, method for determining columns to be expanded or contracted, and program for determining columns to be expanded or contracted

The apparatus, method, and program automatically determine column expansions or contractions in response to header cell resizing, addressing the inefficiencies of manual configuration in existing systems and ensuring correct cell resizing in tables.

JP7807330B2Active Publication Date: 2026-01-27OBIC CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
JP2022103944
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2022-06-28
Publication Date
2026-01-27
Estimated Expiration
2042-06-28

AI Technical Summary

Technical Problem

Existing systems require manual and time-consuming configuration to determine which columns in a table should expand or contract when a header cell is resized, particularly in multi-tiered tables, leading to unintended cell expansions.

Method used

An apparatus, method, and program that automatically determine which columns in a table's detail section should expand or contract based on cell type and operator input, prioritizing columns with larger numbers and allowing pre-designation of preferred columns for expansion or contraction.

Benefits of technology

Facilitates efficient and appropriate column expansion or contraction in response to header cell resizing, reducing manual effort and ensuring intended cells are resized correctly.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007807330000001
    Figure 0007807330000001
  • Figure 0007807330000002
    Figure 0007807330000002
  • Figure 0007807330000003
    Figure 0007807330000003
Patent Text Reader

Abstract

To provide a device capable of appropriately determining which column of a cell in a detailed section is to be expanded or contracted in a lateral direction as a target when a header section cell constituted by connecting cells of a minimum unit is expanded or contracted in the lateral direction in a table by operation of an operator.SOLUTION: (i) When there is only one expansion and contraction candidate column, the one column is determined as an expansion and contraction target column of a detail section. (ii) Meanwhile, when there are two or more expansion and contraction candidate columns, starting from a column with the largest column number among expansion and contraction candidate columns, it is determined whether or not at least one cell that needs to be expanded or contracted exists in the detail section belonging to the column, (ii-1) a column determined to exist at the first time is determined as an expansion and contraction target column, (ii-2) whereas when a column that can be determined to exist does not appear at the time of completion of the determination of the column having the second smallest column number among the expansion and contraction candidate columns, the column having the smallest column number among the expansion and contraction candidate columns is determined as the expansion and contraction target column in the detail section.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to an apparatus for determining a column to be expanded or contracted, a method for determining a column to be expanded or contracted, and a program for determining a column to be expanded or contracted. [Background technology]

[0002] Patent document 1 discloses a display area control device, a display area control method, and a program that automatically updates the display areas of the remaining data columns when the display area of ​​one of multiple data columns is updated (see paragraph 0001 of Patent document 1). [Prior art documents] [Patent documents]

[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2011-2924 Summary of the Invention [Problem to be solved by the invention]

[0004] In tables such as Excel, header cells are often made up of the smallest unit of cells combined. For example, in the table in Figure 3, the first and second columns are combined (header cell "Office"), the third and fourth columns are combined (header cell "Department"), and the fifth and sixth columns are combined (header cell "Contact Person").

[0005] In this case, when a header cell is made up of several cells, for example, suppose the operator drags the right border of the header cell "Establishment" to the right with the mouse, as shown in Figure 4. In this case, it is desirable that the right border (bold line portion) of the cell "Establishment Code / Name" belonging to the first column of the details section should extend to the right, as shown in Figure 5. This is because by widening the width of the "Establishment Code / Name" cell, the establishment name will be fully visible without being hidden. However, in reality, as shown in Figure 6, the right border (bold line portion) of the cell "Search Button" belonging to the second column of the details section often extends to the right.

[0006] In order to prevent inappropriate cell expansion like this, it was previously necessary to set the target column for expansion / contraction for each header cell. For example, in the example above, it was necessary to set the following: "When the right border of the header 'Establishment' is dragged with the mouse, the 'Establishment Code / Name' cell will expand / contract."

[0007] However, setting the columns to be stretched or contracted for each header cell in this way requires a great deal of time and effort, and this problem is particularly pronounced in the case of a multi-tiered table such as that shown in Figure 7.

[0008] The present invention has been made in consideration of the above-mentioned problems, and aims to provide a device, a method, and a program for determining a column to be stretched or shrunk that can appropriately determine which column of cells in the detail section to stretch or shrunk horizontally when a header cell, which is formed by combining the smallest unit of cells in a table made up of cells, is stretched or shrunk horizontally by an operator's operation. [Means for solving the problem]

[0009] In order to solve the above-mentioned problems and achieve the object, the device for determining a column to be stretched or contracted according to the present invention is capable of appropriately determining which column of cells in a detail section should be stretched or contracted horizontally when a header section cell formed by combining minimum unit cells in a table made up of cells is stretched or contracted horizontally by an operation of an operator, and the control unit includes: a cell-by-cell stretch / contract necessity determination means for determining whether or not stretching or contraction is necessary for each of the minimum unit cells; a stretch / contract candidate column identification means for identifying a column to which the minimum unit cell constituting the stretched or contracted header section cell belongs as a stretch / contract candidate column in the detail section; and (i) when there is only one stretch / contract candidate column identified by the stretch / contract candidate column identification means. (ii) on the other hand, if there are two or more candidate columns to be stretched or contracted identified by the candidate column to be stretched or contracted, the candidate columns to be stretched or contracted identified by the candidate column to be stretched or contracted are determined, starting with the column with the largest column number, to determine whether there is any cell in the specific section that belongs to that column that needs to be stretched or contracted, and (ii-1) determine the first column that can be determined to exist as the column to be stretched or contracted in the specific section; and (ii-2) if the column that can be determined to exist has not appeared by the end of determination of the column with the second smallest column number among the candidate columns to be stretched or contracted, determine the column with the smallest column number among the candidate columns to be stretched or contracted as the column to be stretched or contracted in the specific section.

[0010] In addition, in the device for determining columns to be expanded or contracted according to the present invention, the means for determining whether or not each cell needs to expand or contract is characterized in that it determines that the smallest unit cell is a cell that does not need to be expanded or contracted if the smallest unit cell is a button cell, a text input cell in which the upper limit value for the number of characters or numbers in the input text is less than a specified value, or a cell that is combined with a cell with a column number one smaller.

[0011] In addition, in the device for determining a column to be stretched or contracted according to the present invention, the column to be stretched or contracted determination means is characterized in that, if there is a column pre-designated by an operator as a column that should be stretched or contracted preferentially among the candidate columns to be stretched or contracted identified by the candidate column to be stretched or contracted means, the pre-designated column is preferentially determined as the column to be stretched or contracted.

[0012] In the device for determining a column to be expanded or contracted according to the present invention, the operator's operation is a drag operation using a mouse.

[0013] Furthermore, the device for determining columns to be expanded or contracted according to the present invention is characterized in that columns with larger column numbers are columns located further to the right in the table.

[0014] In addition, in the device for determining a column to be stretched or contracted according to the present invention, the control unit is further characterized by comprising: a stretching width etc. specifying means for specifying a header section cell that has been stretched or contracted horizontally by an operator's operation and the width of the stretching or contraction in the horizontal direction; and a column stretching or contracting means for stretching or contracting a column to be stretched or contracted in the detail section determined by the column to be stretched or contracted by the stretching width etc. specifying means for the header section cell specified by the stretching width etc. specifying means, by the stretching width etc. specified by the stretching width etc. specifying means.

[0015] Furthermore, in a method for determining a column to be stretched or contracted according to the present invention, when a header cell formed by combining minimum unit cells in a table made up of cells is stretched or contracted horizontally by an operator's operation, it is possible to appropriately determine which column of cells in the detail section should be stretched or contracted horizontally. The method for determining a column to be stretched or contracted is executed by an information processing device having a control unit, and includes a cell-by-cell stretch / contract necessity determination step executed by the control unit for determining whether or not stretching or contraction is necessary for each of the minimum unit cells; a stretch / contract candidate column identification step for identifying a column to which the minimum unit cell constituting the stretched or contracted header cell belongs as a stretch / contract candidate column in the detail section; and (i) when there is only one stretch / contract candidate column identified in the stretch / contract candidate column identification step. (ii) if there are two or more candidate columns to be stretched or contracted in the candidate column identification step, the step of determining whether there is any cell in the detail portion that needs to be stretched or contracted is performed for each of the candidate columns to be stretched or contracted in the candidate column identification step, starting with the column with the largest column number; (ii-1) determining the first column that can be determined to exist as the column to be stretched or contracted in the detail portion; and (ii-2) if the column that can be determined to exist has not appeared by the time the determination of the column with the second smallest column number among the candidate columns to be stretched or contracted has been completed, determining the column with the smallest column number among the candidate columns to be stretched or contracted as the column to be stretched or contracted in the detail portion.

[0016] Furthermore, in a program for determining a column to be stretched or contracted according to the present invention, when a header cell formed by combining minimum unit cells in a table made up of cells is stretched or contracted horizontally by an operation of an operator, the program for determining a column to be stretched or contracted in the horizontal direction in a detail section can be executed by an information processing device having a control unit, and the program for causing the control unit to execute includes a cell-by-cell stretch / contract necessity determination step for determining whether or not stretching or contraction is necessary for each of the minimum unit cells, a stretch / contract candidate column identification step for identifying a column to which the minimum unit cell constituting the stretched or contracted header cell belongs as a stretch / contract candidate column in the detail section, and (i) the stretch / contract candidate column identified in the stretch / contract candidate column identification step (ii) if there is only one column, the one column is determined as the column to be stretched or contracted in the detail portion; (ii) on the other hand, if there are two or more candidate columns to be stretched or contracted identified in the candidate column to be stretched or contracted step, the candidate columns to be stretched or contracted identified in the candidate column to be stretched or contracted step are sequentially determined, starting with the column with the largest column number, to determine whether there is any cell in the detail portion that needs to be stretched or contracted, and (ii-1) the column that is first determined to exist is determined as the column to be stretched or contracted in the detail portion; and (ii-2) if the column that can be determined to exist has not appeared by the time the determination of the column with the second smallest column number among the candidate columns to be stretched or contracted has been completed, the column with the smallest column number among the candidate columns to be stretched or contracted is determined as the column to be stretched or contracted in the detail portion. [Effects of the Invention]

[0017] According to the present invention, when a header cell, which is formed by combining the smallest unit of cells, in a table made up of cells is expanded or contracted horizontally by an operator's operation, it is possible to appropriately determine which column of cells in the detail section will be expanded or contracted horizontally. [Brief explanation of the drawings]

[0018] [Figure 1] FIG. 1 is a block diagram showing an example of the configuration of a device for determining a column to be expanded or contracted. [Figure 2]FIG. 2 is a diagram showing an example of a single-stage table. [Figure 3] FIG. 3 is a diagram showing an example of a single-stage table with column numbers assigned. [Figure 4] FIG. 4 is a diagram showing an example of dragging the header portion in a single-column table. [Figure 5] FIG. 5 is a diagram showing an example of desirable expansion and contraction of the data section in a single-column table. [Figure 6] FIG. 6 shows an example of undesirable expansion and contraction of the data portion in a single-column table. [Figure 7] FIG. 7 is a diagram illustrating an example of a multi-tiered table. [Figure 8] FIG. 8 is a diagram showing an example of dragging a header section in a multi-tiered table. [Figure 9] FIG. 9 is a diagram showing an example of desirable expansion and contraction of the data section in a multi-tiered table. [Figure 10] FIG. 10 is a diagram showing an example of undesirable expansion and contraction of the data section in a multi-column table. [Figure 11] FIG. 11 is a diagram showing another example of dragging the header portion in a multi-tiered table. [Figure 12] FIG. 12 is a diagram showing an example of desirable expansion and contraction of the data section in a multi-tiered table. [Figure 13] FIG. 13 is a diagram showing an example of undesirable expansion and contraction of the data section in a multi-column table. [Figure 14] FIG. 14 is a diagram showing an example of a table summarizing expandable items in the data section. [Figure 15] FIG. 15 is a diagram illustrating an example of a multi-tiered table. [Figure 16] FIG. 16 is a diagram showing an example of a button cell. [Figure 17] FIG. 17 shows an example of a text input cell that does not need to be expanded or contracted. [Figure 18] FIG. 18 is a diagram showing an example of a cell that is merged with a cell to the left of itself. [Figure 19] FIG. 19 is a diagram showing an example of how to specify a column to be expanded or contracted (a basic case). [Figure 20] FIG. 20 is a diagram illustrating an example of a multi-tiered table. [Figure 21] FIG. 21 is a diagram showing an example of how to specify a column to be expanded or contracted (exceptional case). [Figure 22] FIG. 22 is a diagram illustrating an example of a flowchart of the preliminary determination process for the data portion cells. [Figure 23] FIG. 23 is a diagram illustrating an example of a flowchart of a pre-determination process for a header cell. [Figure 24] FIG. 24 is a diagram showing an example of a flowchart of a column expansion / contraction process when the right boundary is dragged. [Figure 25] FIG. 25 is a diagram illustrating an example of a multi-tiered table. [Figure 26] FIG. 26 is a diagram showing an example of header cell definition data. [Figure 27] FIG. 27 is a diagram showing an example of the data section cell definition data. [Figure 28] FIG. 28 is a diagram showing an example of exception specification data. [Figure 29] FIG. 29 is a diagram showing an example of the data portion cell definition data before the process of determining whether or not expansion or contraction is necessary. [Figure 30] FIG. 30 is a diagram showing an example of the data-section cell definition data after the process of determining whether or not expansion or contraction is necessary. [Figure 31] FIG. 31 is a diagram showing an example of determining a column to be expanded or contracted for the header cell "office." [Figure 32] FIG. 32 is a continuation of the diagram showing an example of determining the column to be expanded or contracted for the header cell "office". [Figure 33] FIG. 33 is a diagram showing an example of determining the column to be expanded or contracted for the header cell "department." [Figure 34] FIG. 34 is a diagram showing an example of determining a column to be expanded or contracted for a header cell "XXX". [Figure 35] FIG. 35 is a continuation of the diagram showing an example of determining the column to be expanded or contracted for the header cell "XXX". [Figure 36]FIG. 36 is a diagram showing an example of determining a column to be expanded or contracted for the header cell "Person in Charge Email Address." [Figure 37] FIG. 37 is a diagram showing an example of determining the column to be expanded or contracted for the header cell "Note 2." [Figure 38] FIG. 38 is a continuation of the diagram showing an example of determining the column to be expanded or contracted for the header cell "Note 2." [Figure 39] FIG. 39 is a diagram showing an example of header cell definition data in which the determined target columns for expansion / contraction are stored. [Figure 40] FIG. 40 is a diagram showing an example of determining the column to be expanded or contracted for the header cell "Person in Charge Email Address" when no exception designation data is set. [Figure 41] FIG. 41 is a continuation of the diagram showing an example of determining the column to be expanded or contracted for the header cell "responsible person's email address" when no exception designation data is set. [Figure 42] FIG. 42 shows an example of mouse dragging on the right boundary of the header cell. [Figure 43] FIG. 43 is a diagram showing an example of extending the width of the column with column number "3." [Figure 44] FIG. 44 is a diagram showing an example of extending the width of the column with column number "5." DETAILED DESCRIPTION OF THE INVENTION

[0019] Hereinafter, an embodiment of an apparatus for determining a sequence to be expanded or contracted, a method for determining a sequence to be expanded or contracted, and a program for determining a sequence to be expanded or contracted according to the present invention will be described in detail with reference to the accompanying drawings. Note that the present invention is not limited to the embodiment.

[0020] [1. Background etc.] In this section, the background, the problems, the solution provided by this embodiment, and exceptional cases of this embodiment will be explained in sections.

[0021] [1-1. Background] In a table, as shown in Figure 2, the horizontal cell grouping often differs between the header section and the data section.

[0022] When attempting to represent a table in the HTML structure of the Web, if the cells are grouped differently in the header and data sections, a common method is to divide the columns and rows that make up the table into the smallest units into a grid and change the grouping by combining the necessary parts, as shown in Figure 3. In the example table in Figure 3, the table consists of seven columns, but in the header section, columns 1 and 2 are combined, columns 3 and 4 are combined, and columns 5 and 6 are combined.

[0023] In this embodiment, the terms are defined as follows. ·Table···A table that is divided into a grid-like structure in spreadsheet software, word processing software, web pages, etc. ·Cell···Each square that makes up a table. Column: A vertical grouping of elements in a table. Row: A horizontal collection of elements in a table. ·Header section··The area that displays items. ·Data section (details section)···The area that displays specific information. Single-column table: A table whose header section consists of one column, and whose data section also consists of one column (see Figure 2). Multi-column table: A table in which the header section is made up of multiple columns, and each row in the data section is also made up of multiple columns (see Figure 7). This type is used when you want to display a lot of information in one table or when the horizontal display area is limited.

[0024] Here, when dragging an item with a header to the right in a single-stage table or a multi-stage table, the following problems have conventionally occurred.

[0025] First, a single-column table will be described. FIG. 3 is a diagram showing an example of a single-column table. For the single-column table shown in FIG. 3, when the right border of the header section "Establishment" is dragged to the right with the mouse as shown in FIG. 4, it is desirable that the right border (bold line portion) of the "Establishment Code / Name" cell should extend as shown in FIG. 5. However, in the past, as shown in FIG. 6, the right border (bold line portion) of the "Search Button" cell, which coincides with the right border of the header section "Establishment", extended. Thus, there was a problem in that the search button cell extended to the right even though the user dragged the right border of the header section "Establishment" to make the hidden establishment name visible. Extending the search button cell to the right is meaningless because no characters become visible.

[0026] Next, a multi-stage table will be described. FIG. 7 is a diagram showing an example of a multi-stage table. When the right boundary of the header section "Establishment" in the multi-stage table of FIG. 7 is dragged to the right with the mouse as shown in FIG. 8, it is desirable that the right boundary (bold line portion) of the cell for "Establishment Code / Name" and the cell for "Warehouse Code / Name" should extend as shown in FIG. 9. However, in the past, the right boundary (bold line portion) of the cell for "Search Button," which coincides with the right boundary of the header section "Establishment," extended as shown in FIG. 10.

[0027] Furthermore, in the multi-tiered table of Figure 7, when the right border of the header "Person in Charge" is dragged to the right with the mouse as shown in Figure 11, it is desirable that the right border (bold line) of the cell for "Person in Charge Code / Name" should also extend as shown in Figure 12. However, in the past, the right border (bold line) of the cell for "Search Button," which coincides with the right border of the header "Person in Charge," extended as shown in Figure 13.

[0028] Here, as shown in Figure 13, when the right border (thick line) of the "Search Button" cell is stretched, the "Contact Person Email Address" cell and the "Note 2" cell also stretch, which at first glance seems to be beneficial. However, these two cells also stretch when the right border (thick line) of the "Contact Person Code / Name" cell is stretched, as shown in Figure 12. In other words, as shown by comparison in the table in Figure 14, the "Contact Person Email Address" cell and the "Note 2" cell stretch regardless of whether the "Search Button" cell or the "Contact Person Code / Name" cell is stretched, so it is preferable to stretch the "Contact Person Code / Name" cell rather than the "Search Button" cell, as this makes the contact person's name more visible.

[0029] As explained above in this section [1-1], in the past, there was a problem where dragging a cell in the header section would cause unintended cells in the data section (for example, the "search button" cell) to expand or contract.

[0030] [1-2. Issues] To prevent such unintended expansion and contraction of cells, application developers have conventionally specified the expansion and contraction positions of cells one by one.

[0031] In the example of the single-stage table in Figure 3, - When you drag the right border of the header "Establishment" with the mouse, the "Establishment Code / Name" cell will expand or contract. - When you drag the right border of the header section "Department" with the mouse, the "Department Code / Name" cell will expand or contract. - When you drag the right border of the header "Contact Person" with the mouse, the "Contact Person Code / Name" cell will expand or contract. Application developers had to manually configure these settings one by one.

[0032] In the example of the multi-tiered table in Figure 7, - When you drag the right border of the header "Establishment" with the mouse, the "Establishment Code / Name" cell will expand or contract. - When you drag the right border of the header section "Department" with the mouse, the "Department Code / Name" cell will expand or contract. - When you drag the right border of the header "Contact Person" with the mouse, the "Contact Person Code / Name" cell will expand or contract. - When you drag the right border of the header "Warehouse" with the mouse, the "Warehouse Code / Name" cell will expand or contract. Application developers had to manually configure these settings one by one.

[0033] However, as the amount of information displayed in a table increases, the number of locations where expansion and contraction positions must be specified also increases, which can be a hassle. In particular, with multi-tiered tables, it can be time-consuming for application developers to determine the appropriate expansion and contraction positions, and when the layout of cells in the table is changed, the application developer must reconsider the expansion and contraction positions, which can be time-consuming every time a change is made.

[0034] [1-3. Solution according to this embodiment] Therefore, in this embodiment, it is possible to optimize the expansion / contraction position by automatically determining which cells do not need to be expanded / contracted. Furthermore, as a prerequisite for this determination, when the draggable portion of the header section is dragged, it is possible to identify columns included in the dragged block of header section cells as expansion / contraction candidate columns.

[0035] A method for identifying candidate columns for resizing will be explained using FIG. 15. In FIG. 15, the table is divided into seven columns. As shown in FIG. 15, when the right boundary of the header section "Office" is dragged, the candidate columns for resizing are columns 1 and 2. Also, as shown in FIG. 15, when the right boundary of the header section "Contact Person's Email Address" is dragged, the candidate columns for resizing are columns 3 to 6.

[0036] The identified candidate columns are traced from right to left, and when a column that does not require stretching is found, that column is designated as the column to be stretched. Note that if all cells in the data section of that column do not require stretching, that column is designated as not requiring stretching.

[0037] The cells that do not require expansion and contraction are, for example, the following three types of cells.

[0038] The first type of cell that does not need to be stretched or contracted is a button cell as shown in Fig. 16. A button cell is considered to be not need to be stretched or contracted because the width of the icon or text does not change depending on the user's operation.

[0039] The second type of cell that does not need to be stretched or contracted is a text input cell whose maximum input width is equal to or less than the default column width, as shown in Figure 17. For example, if the maximum number of characters that can be input into the "Department Code" cell in the data section is 10 half-width characters and the default width of the department code column is 11 half-width characters, the "Department Code" cell in the data section does not need to be stretched or contracted, and is therefore considered to be non-stretchable.

[0040] The third type of cells that do not need to be stretched or contracted are cells that are merged with cells to the left of them, as shown in Figure 18. In the table in Figure 18, the cells indicated by dotted hatching are cells that are merged with cells to the left of them.

[0041] Based on the premise of the three types of cells that do not need to be stretched or contracted as explained above, referring to the table in Figure 18, all cells in the data section of columns 2, 4, and 6 correspond to one of the three types of cells that do not need to be stretched or contracted. Therefore, columns 2, 4, and 6 are considered to be columns that do not need to be stretched or contracted.

[0042] For example, as shown in Figure 19, if you drag the right boundary of the header "Office" (candidate columns for expansion / contraction = columns 1 and 2), column 2 does not need to be expanded / contracted, so column 1 becomes the column to be expanded / contracted. Also, as shown in Figure 19, if you drag the right boundary of the header "Contact email address" (candidate columns for expansion / contraction = columns 3 to 6), column 6 does not need to be expanded / contracted, so column 5 becomes the column to be expanded / contracted.

[0043] In this way, when many cells are merged, if the overall width ultimately increases, it is a matter of implementation as to which cells to expand internally, but the judgment can be simplified by making the judgment from the right column.

[0044] [1-4. Exceptional cases of this embodiment] As explained in [1-3] above, the principle is to trace the candidate columns for stretching from right to left, and when a column that does not need to be stretched appears, that column is designated as the column to be stretched. However, this principle is based on the fact that in many cases, cells that do not need to be stretched, such as button cells, are placed to the right of the block.

[0045] However, there are exceptions (exceptional cases) where a column needs to be stretched or contracted preferentially regardless of this rule. In this embodiment, in such exceptions, the application developer can individually set columns to be stretched or contracted.

[0046] For example, in the table shown in Figure 20, if the application developer wants to prioritize resizing the cell in column 3 (Note 1) over the cell in column 5 (Note 2), by setting column 3 to "resize first," the determination of the column to be resized as described in [1-3] will not be performed, and column 3 will be prioritized. Therefore, as shown in Figure 21, when dragging the right side of the header "Person in Charge Email Address," the candidate columns to be resized are columns 3 to 6, but the system does not trace from column 6 to the left, and column 3 is forcibly selected as the target column to be resized. Note that if there are multiple columns with the "resize first" setting among the candidate columns, the rightmost column among the multiple columns with this setting may be prioritized, or all of the multiple columns with this setting may be resized equally. Specific configurations and operations are described below.

[0047] [2. Configuration] An example of the configuration of the expansion / contraction target sequence determination device 100 according to this embodiment will be described with reference to Fig. 1. Fig. 1 is a block diagram showing an example of the configuration of the expansion / contraction target sequence determination device 100.

[0048] The expansion / contraction target sequence determination device 100 is a commercially available desktop personal computer. Note that the expansion / contraction target sequence determination device 100 is not limited to a stationary information processing device such as a desktop personal computer, but may also be a portable information processing device such as a commercially available notebook personal computer, PDA (Personal Digital Assistant), smartphone, or tablet personal computer.

[0049] The expansion / contraction target sequence determination device 100 includes a control unit 102, a communication interface unit 104, a storage unit 106, and an input / output interface unit 108. The units included in the expansion / contraction target sequence determination device 100 are connected to each other so as to be able to communicate with each other via any communication path.

[0050] The communication interface unit 104 communicably connects the expansion / contraction target sequence determination device 100 to the network 300 via a communication device such as a router and a wired or wireless communication line such as a dedicated line. The communication interface unit 104 has a function of communicating data with other devices via the communication line. Here, the network 300 has a function of connecting the expansion / contraction target sequence determination device 100 and the server 200 so that they can communicate with each other, and is, for example, the Internet or a LAN (Local Area Network). Note that data such as various masters described below may be stored in the server 200, for example.

[0051] An input device 112 and an output device 114 are connected to the input / output interface unit 108. The output device 114 may be a monitor (including a home television), a speaker, or a printer. The input device 112 may be a keyboard, a mouse, a microphone, or a monitor that cooperates with a mouse to achieve a pointing device function. In the following, the output device 114 may be referred to as the monitor 114, and the input device 112 may be referred to as the keyboard 112 or the mouse 112.

[0052] Various databases, tables, files, etc. are stored in the storage unit 106. Computer programs that work in conjunction with the OS (Operating System) to issue commands to the CPU (Central Processing Unit) to perform various processes are recorded in the storage unit 106. The storage unit 106 can be, for example, a memory device such as RAM (Random Access Memory) or ROM (Read Only Memory), a fixed disk device such as a hard disk, a flexible disk, an optical disk, etc.

[0053] The storage unit 106 includes, for example, header cell definition data 106a, data cell definition data 106b, and exception specification data 106c.

[0054] The header cell definition data 106a is data for managing the columns to be stretched or contracted for each header cell. As shown in Fig. 26, the header cell definition data 106a includes, for example, header cell identification data (cell title), a column number, a column number, the number of columns to be combined, and the column number of the column to be stretched or contracted for each header cell (the column number to be stretched or contracted when the right part is dragged). Note that the column number of the column to be stretched or contracted for each header cell (the column number to be stretched or contracted when the right part is dragged) is blank in the initial state, but the column number value is stored by the process described in (2) of [3-1] and (2) of [4-1] below.

[0055] The data section cell definition data 106b is data for managing whether each data section cell needs to be expanded or contracted. As shown in Fig. 27, the data section cell definition data 106b includes, for example, data section cell identification data (cell identification name), cell type, row number, column number, and whether each data section cell needs to be expanded or contracted. Note that the expansion or contraction requirement for each data section cell is blank in the initial state, but "yes" or "no" is stored by the process described in (1) of [3-1] and (1) of [4-1] below.

[0056] The exception designation data 106c is data for setting a column that should be given priority for expansion or contraction. In the exception designation data 106c of Figure 28, for a table called Table 1, the "third column" is set as the column that should be given priority for expansion or contraction. It is also possible to set not just one column but multiple columns as the column that should be given priority for expansion or contraction. In this case, the rightmost column of the multiple columns may be given priority for expansion or contraction, or the multiple columns may be expanded or contracted equally.

[0057] The control unit 102 is a CPU or the like that performs overall control of the expansion / contraction target column determination device 100. The control unit 102 has an internal memory for storing control programs such as an OS, programs that define various processing procedures, required data, etc., and executes various information processing operations based on these stored programs.

[0058] The control unit 102 functionally and conceptually comprises, for example, (1) a cell-by-cell stretching necessity determination unit 102a as a cell-by-cell stretching necessity determination means for determining whether stretching is necessary for each of the minimum unit cells, (2) a stretching candidate column identification unit 102b as a stretching candidate column identification means for identifying columns to which the minimum unit cells constituting the stretched header section cells belong as stretching candidate columns in the detail section, and (3) (i) if there is only one stretching candidate column identified by the stretching candidate column identification means, it determines that one column as the column to be stretched in the detail section, and (ii) if there are two or more stretching candidate columns identified by the stretching candidate column identification means, it determines, in order from the column with the largest column number among the stretching candidate columns identified by the stretching candidate column identification means, whether there is at least one cell in the detail section belonging to that column that needs to be stretched, (ii-1) The column that can be determined to exist for the first time is determined as the column to be stretched or contracted in the detail portion, and in contrast, (ii-2) if the column that can be determined to exist does not appear at the time of completion of determination of the column with the second smallest column number among the stretch / contract candidate columns, the column with the smallest column number among the stretch / contract candidate columns is determined as the column to be stretched or contracted in the detail portion. The system is equipped with: (4) a stretch / contract width etc. specifying unit 102d as a stretch / contract width etc. specifying means for specifying a header section cell that has been stretched or contracted horizontally by an operator's operation and the stretch width in the horizontal direction; and (5) a column stretching unit 102e as a column stretching means for stretching or contracting the column to be stretched or contracted in the detail portion determined by the column to be stretched or contracted determination means for the header section cell specified by the stretch / contract width etc. specifying means by the stretch width etc.

[0059] Here, according to the device 100 for determining columns to be stretched or contracted in this embodiment, when a header cell, which is formed by combining the smallest unit of cells in a table made up of cells, is stretched or contracted horizontally by an operator's operation, it is possible to appropriately determine which column of cells in the detail section will be stretched or contracted horizontally.

[0060] The cell-by-cell resizing necessity determination unit 102a determines whether or not resizing is necessary for each of the minimum unit cells. Specifically, the cell-by-cell resizing necessity determination unit 102a determines that the minimum unit cell does not need to be resized if the minimum unit cell is a button cell, a text input cell in which the upper limit of the number of characters or numbers in the input text is equal to or less than a specified value, or a cell that is combined with a cell that is one column smaller.

[0061] The resizing candidate sequence identifying unit 102b identifies a sequence to which a minimum unit cell constituting the resized header cell belongs as a resizing candidate sequence in the detail portion.

[0062] (i) If there is only one candidate column for stretching or shrinking identified by the candidate column for stretching or shrinking identification unit 102b (= if, in step SB5 of Figure 23, the process proceeds to Yes the first time, rather than proceeding to No and then returning to SB5 again in a loop), the column to be stretched or shrinked is determined by the column determination unit 102c to be the column to be stretched or shrinked in the detail portion.

[0063] (ii) On the other hand, if there are two or more candidate columns for resizing / scaling identified by the candidate column for resizing / scaling identification unit 102b (= if the process proceeds to No in step SB5 of Figure 23), the candidate column for resizing / scaling identification unit 102c determines, starting with the column with the largest column number among the candidate columns for resizing / scaling identified by the candidate column for resizing / scaling identification unit 102b, whether there is any cell in the detail section belonging to that column that needs to be resized or scalable, and (ii-1) determines the column that it can first determine to exist as the column to be rescaled or scalable in the detail section (= if the process proceeds to No in step SB7 of Figure 23).On the other hand, (ii-2) if the column that it can determine to exist does not appear at the time the process has finished determining the column with the second smallest column number among the candidate columns for resizing / scaling (= if the process proceeds to No in step SB5 of Figure 23 and then returns to Yes in a loop that returns to SB5), it determines the column with the smallest column number among the candidate columns for resizing / scaling as the column to be rescaled or scalable in the detail section.

[0064] If the candidate columns identified by the candidate column identification unit 102b include a column that has been designated by the operator as a column to be preferentially expanded or contracted, the expansion / contraction target column determination unit 102c preferentially determines the designated column as the column to be expanded or contracted. This pre-setting can be performed using the exception designation data 106c, as described above.

[0065] The expansion / contraction width specifying unit 102d specifies the header cell expanded or contracted in the horizontal direction by the operator's operation and the expansion / contraction width in the horizontal direction.

[0066] The column stretching unit 102e stretches or shrinks the column to be stretched or shrinked in the detail section determined by the column to be stretched or shrinked determination unit 102c for the header section cell determined by the stretch width etc. determination unit 102d by the stretch width determined by the stretch width etc. determination unit 102d.

[0067] The operation by the operator is, for example, a drag operation using a mouse. Also, a column with a larger column number is, for example, a column further to the right in the table.

[0068] [3. Processing flow] This section explains the process flow according to this embodiment using flowcharts. The following [3-1] explains the preliminary determination flow, and the following [3-2] explains the flow when the user drags the right boundary of a header cell.

[0069] [3-1. Pre-judgment flow] In this section, the pre-determination flow is explained with reference to Figures 22 and 23. Pre-determination refers to determining in advance the column number that will expand or contract when the right part of each header cell is dragged. Note that "pre-determination" here does not refer to when the user drags the right part of the header, but to prior processing, such as when the screen is launched or when the program is compiled (when the source code is converted into binary data that the PC can process).

[0070] (1) Processing flow for data section cells First, the processing flow for data portion cells will be described with reference to the flowchart in Fig. 22. When processing for data portion cells is started (START in Fig. 22), the cell-by-cell expansion / contraction necessity determination unit 102a determines whether expansion / contraction is necessary for the data portion cells in an arbitrary order (step SA1 in Fig. 22).

[0071] Specifically, the cell expansion / contraction necessity determining unit 102a determines whether the cell being processed is Button Cell - Text input cells whose maximum input width is less than the default column width A cell that is merged with a cell to the left of itself If the cell corresponds to any of the above, the cell being processed is determined to be a "cell that does not require expansion or contraction," and "no" is set as the expansion or contraction requirement in the data section cell definition data 106b.

[0072] When the determination of whether or not expansion is necessary for all data portion cells is completed, the processing for the data portion cells is completed (end of FIG. 22).

[0073] (2) Processing flow for header cells Next, the processing flow for header cells will be described with reference to the flowchart in Fig. 23. When processing for header cells is started (START in Fig. 23), the expansion / contraction candidate column identifying unit 102b identifies and lists columns that are candidates for expansion / contraction (step SB1 in Fig. 23).

[0074] Specifically, the extension / resize candidate sequence identifying unit 102b determines the column in which it is located as an extension / resize candidate sequence, or if it is a header that is joined across multiple columns, determines the joined columns as an extension / resize candidate sequence. For example, in the case of the header cell of "Person in Charge Email Address" in the table shown in Figure 15, since "Person in Charge Email Address" spans columns 3 to 6, the extension / resize candidate sequences are columns 3 to 6.

[0075] Next, the stretching target column determination unit 102c determines whether or not there is a column designated as "stretching with priority" among the stretching candidate columns (step SB2 in FIG. 23). If there is a column designated as "stretching with priority" (step SB2 in FIG. 23: Yes), the stretching target column determination unit 102c sets the designated column number as the "column number to be stretched when right-hand dragging" in the header cell definition data 106a (step SB3 in FIG. 23).

[0076] On the other hand, if there is no column designated as "preferentially stretchable" (step SB2 in FIG. 23: No), the stretchable column determination unit 102c processes the stretchable column candidate columns from right to left (step SB4 in FIG. 23). Note that in this example, the column number increases by 1 when one column is shifted to the right. Therefore, "processing from right to left" in this example means that processing starts with the column with the highest column number among the stretchable column candidate columns, and the processing target is changed by decreasing the column number by 1.

[0077] Specifically, the resizing target column determination unit 102c first determines whether the column being processed is the leftmost column among the resizing candidate columns (step SB5 in FIG. 23). If it is the leftmost column (step SB5 in FIG. 23: Yes), the resizing target column determination unit 102c sets the column number of the column being processed (= the leftmost column) as the "column number to be resized when the right part is dragged" in the header cell definition data 106a (step SB6 in FIG. 23).

[0078] On the other hand, if it is not the leftmost column (step SB5 in FIG. 23: No), the stretching / resize target column determination unit 102c determines whether all cells in the column being processed do not need to be stretched or resized (step SB7 in FIG. 23). If all cells do not need to be stretched or resized (step SB7 in FIG. 23: No), in other words, if there is at least one cell that needs to be stretched or resized, the stretching / resize target column determination unit 102c sets the column number of the column being processed as the "column number to be stretched or resized when the right part is dragged" in the header cell definition data 106a (step SB8 in FIG. 23).

[0079] On the other hand, if all the cells do not require expansion or contraction (step SB7 in FIG. 23: Yes), the expansion or contraction target column determination unit 102c performs the process of step SB5 again on the column immediately to the left.

[0080] After the processing of step SB3, step SB6, or step SB8 is completed, the expansion / contraction target column determination unit 102c determines whether or not the processing for all header cells has been completed (step SB9 in FIG. 23). If the processing for all header cells has been completed (step SB9 in FIG. 23: Yes), the processing for the header cells is completed (END in FIG. 23).

[0081] On the other hand, if the processing has not yet been completed for all the header cells (step SB9 in FIG. 23: No), the process returns to step SB1, and columns that are candidates for expansion / contraction are identified for the unprocessed header cells.

[0082] [3-2. Flow when the user drags the right border of a header cell] This section explains the flow when the user drags the right boundary of a header cell, using Figure 24. When a column header cell is dragged, the column to be stretched or contracted, which corresponds to the dragged column header and was determined in [3-1], will be stretched or contracted.

[0083] When the process is started by dragging the right boundary of the header cell (Start in FIG. 24), the stretch width etc. specifying unit 102d specifies the dragged header cell and the horizontal drag width (including the left and right directions) (Step SC1 in FIG. 24).

[0084] Next, the stretch width etc. specifying unit 102d refers to the header cell definition data 106a and acquires the "column number to be stretched or shortened when the right part is dragged" for the header cell identified in step SC1 (step SC2 in FIG. 24). The acquired column number is designated as "X."

[0085] Next, the column stretching unit 102e changes the width of the column with column number "X" acquired in step SC2 in accordance with the horizontal drag width (including the left and right directions) identified in step SC1 (step SC3 in FIG. 24). Note that when the right boundary of the header cell is dragged "to the right," the column stretching unit 102e "extends" the column width by the same amount as the horizontal drag width, and when the right boundary of the header cell is dragged "to the left," the column width is "shortened" by the same amount as the horizontal drag width.

[0086] As a result of the above process, all cells in column number "X" expand or contract by the same width as the dragged header cell (step SC4 in FIG. 24).

[0087] This completes the process for dragging the right boundary (end of FIG. 24).

[0088] [4. Specific examples of processing] This section describes specific examples of processing according to this embodiment. In the following [4-1], a specific example of the pre-determination processing is described, and in the following [4-2], a specific example of the processing when the user drags the right boundary of a header cell is described.

[0089] (Prerequisite) Here, prerequisites such as prior data setting will be explained. In this section, processing will be performed on a table called Table 1 shown in Fig. 25. It is assumed that header section cell definition data 106a shown in Fig. 26 is set as information for defining header section cells in the table shown in Fig. 25. It is also assumed that data section cell definition data 106b shown in Fig. 27 is set as information for defining data section cells in the table shown in Fig. 25.

[0090] The header section cell definition data 106a in Fig. 26 is in the initial state, so the column "column number to expand / contract when right section is dragged" is blank, but the column number is stored in the blank column by the process described in (2) of [4-1] below. Also, the data section cell definition data 106b in Fig. 27 is in the initial state, so the column "whether to expand / contract" is blank, but the process described in (1) of [4-1] below stores "yes" or "no" in the blank column.

[0091] In this section, it is assumed that the exception designation data 106c is set to the content shown in Fig. 28. In the exception designation data 106c of Fig. 28, for Table 1, the "third column" is set as the column that should be expanded or contracted with priority.

[0092] [4-1. Pre-determination process] This section explains the preliminary determination process in detail.

[0093] (1) Processing of data cells When processing for the data section cells begins (Start in Figure 22), the cell-by-cell expansion / contraction necessity determination unit 102a determines whether expansion / contraction is necessary for each data section cell in the table called Table 1 shown in Figure 25 (i.e., for each row in the data section cell definition data 106b in Figure 29) (Step SA1 in Figure 22).

[0094] That is, the cell expansion / contraction necessity determining unit 102a determines whether each cell is Button Cell - Text input cells whose maximum input width is less than the default column width A cell that is merged with a cell to the left of itself If the cell corresponds to any of the above, the cell being processed is determined to be a "cell that does not require expansion or contraction," and "no" is set as the expansion or contraction requirement in the data section cell definition data 106b.

[0095] For example, in the data section cell definition data 106b in Fig. 29, the cell in the first row (column number = 1, column number = 1) is of type "Code / Name", and therefore does not fall into any of the above three cell types. Therefore, the cell-specific expansion / contraction necessity determination unit 102a sets "Needed" as the expansion / contraction necessity of the cell, as shown in the data section cell definition data 106b in Fig. 30.

[0096] In contrast, in the data-section cell definition data 106b of FIG. 29, the cell in the second row (column number = 1, column number = 2) is of type "button," and therefore corresponds to a button cell. Therefore, the cell-specific resizing necessity determination unit 102a sets "no" as the resizing necessity of the cell, as shown in the data-section cell definition data 106b of FIG. 30. Also, in the data-section cell definition data 106b of FIG. 29, the cell in the ninth row (column number = 2, column number = 2) is of type "joined to its left," and therefore corresponds to a cell that is joined to the cell to its left. Therefore, the cell-specific resizing necessity determination unit 102a sets "no" as the resizing necessity of the cell, as shown in the data-section cell definition data 106b of FIG. 30.

[0097] This completes the processing for the data section cell (end of FIG. 22).

[0098] In this way, the cell-by-cell expansion / contraction necessity determination unit 102a determines whether expansion / contraction is necessary for all data section cells, and ``Yes'' or ``No'' is stored in the expansion / contraction necessity column, as shown in the data section cell definition data 106b in Figure 30.

[0099] (2) Processing of header cells When processing of header cells begins (START in FIG. 23), extension / contraction candidate sequence identification unit 102b identifies extension / contraction candidate sequences for each header cell, and extension / contraction target sequence determination unit 102c determines extension / contraction target sequences for each header cell. The following describes, in this order, the identification of extension / contraction candidate sequences and the determination of extension / contraction target sequences for the 10 cells "Office," "Department," "Person in Charge," "XX," "●●," "Person in Charge Email Address," "△△," "Warehouse," "Note 1," and "Note 2."

[0100] (2-1) Processing of the header cell "Establishment" 31, the column number for the header cell "Office" is 1, and the number of combined columns is 2. Therefore, the column number determining unit 102b determines two columns counting from column number 1, i.e., the first and second columns, as columns to be extended or resized (step SB1 in FIG. 23).

[0101] Next, referring to "Determine whether there is a column designated as 'to be stretched or contracted preferentially' among the stretching candidates" in Fig. 31, the column to be stretched or contracted preferentially in Table 1 is "column 3." Therefore, the stretching target column determination unit 102c determines that there is no column to be stretched or contracted preferentially among columns 1 and 2, which are the stretching candidate columns (step SB2 in Fig. 23: No).

[0102] Next, the resizing target column determination unit 102c processes the first and second columns, which are candidate columns for resizing, from right to left (step SB4 in FIG. 23).

[0103] The expansion / contraction target column determination unit 102c determines whether the second column is the leftmost column among the first and second columns, which are expansion / contraction candidate columns (step SB5 in FIG. 23). The expansion / contraction target column determination unit 102c determines that the second column is not the leftmost column (step SB5 in FIG. 23: No).

[0104] Next, the resizing target column determination unit 102c determines whether all of the data section cells in the second column do not need to be resized (step SB7 in FIG. 23). As shown in the table of "Process column number 2" under "Process resizing candidate columns from right to left" in FIG. 32, all of the data section cells in column number 2 have a "No" for whether they need to be resized or not, so the resizing target column determination unit 102c determines that all of the data section cells in the second column do not need to be resized (step SB7 in FIG. 23: Yes), returns to step SB5, and processes the column one column to the left of the second column (=first column).

[0105] The expansion / contraction target column determination unit 102c determines whether the first column is the leftmost column among the first and second columns, which are candidate columns for expansion / contraction (step SB5 in FIG. 23). The expansion / contraction target column determination unit 102c determines that the first column is the leftmost column (step SB5 in FIG. 23: Yes).

[0106] Therefore, the column determination unit 102c stores "1," the column number of the leftmost column, in the "Column number to be stretched or shrunk when dragging the right side" field for "Office" in the header cell definition data 106a, as shown in the table for "Process column number 1" under "Process candidate columns for stretching or shrunk from right to left" in Figure 32 (step SB6 in Figure 23).

[0107] Through the process described in this section (2-1), the expansion / contraction target column determination unit 102c determines the expansion / contraction target column as the "first column" when the header cell "office" is dragged.

[0108] After step SB6 is completed, it is determined whether or not processing has been completed for all header cells (step SB9 in FIG. 23). Since processing has not yet been completed (step SB9 in FIG. 23: No), the process returns to step SB1, and processing is performed for the next header cell, "department."

[0109] (2-2) Processing the header cell "Department" Referring to "Determine columns as extension / retraction candidates" in Figure 33, the header cell "Department" has a column number of 3 and a column combination number of 2. Therefore, extension / retraction candidate column identification unit 102b identifies two columns counting from column number 3, i.e., the third and fourth columns, as extension / retraction candidate columns (step SB1 in Figure 23).

[0110] Next, referring to "Determine whether there is a column designated as 'to be stretched or contracted preferentially' among the stretching candidates" in Fig. 33, the column to be stretched or contracted preferentially in Table 1 is "column 3." Therefore, the stretching target column determination unit 102c determines that there is a column to be stretched or contracted preferentially among columns 3 and 4, which are the stretching candidate columns (step SB2 in Fig. 23: Yes).

[0111] Therefore, the column determination unit 102c stores "3", the column number of the column to be stretched or contracted preferentially, in the "Column number to be stretched or contracted when dragging the right part" field for "Department" in the header cell definition data 106a, as shown in the table "Determine whether there is a column designated as 'stretched or contracted preferentially' among the stretching candidates" in Figure 33 (step SB3 in Figure 23).

[0112] As described above, by the process described in this section (2-2), the expansion / contraction target column determination unit 102c determines the expansion / contraction target column as the "third column" when the header cell "department" is dragged.

[0113] After step SB3 is completed, it is determined whether or not the processing for all header cells has been completed (step SB9 in FIG. 23). Since the processing has not been completed yet (step SB9 in FIG. 23: No), the process returns to step SB1 and the processing for the next header cell "Person in Charge" is executed.

[0114] (2-3) Processing the header cell "Contact Person" Although the description of the processing for the header cell "Person in Charge" is omitted, the expansion / contraction target column determination unit 102c determines that the expansion / contraction target column when the header cell "Person in Charge" is dragged is the "fifth column."

[0115] After processing for the header cell "Person in Charge" is completed, it is determined whether processing for all header cells has been completed (step SB9 in FIG. 23). Since processing has not yet been completed (step SB9 in FIG. 23: No), the process returns to step SB1, and processing for the next header cell "XXX" is executed.

[0116] (2-4) Processing of header cell "XX" 34, "Determining columns as extension / resize candidates," the header cell "XX" has a column number of 7 and a column combination number of 1. Therefore, the extension / resize candidate column identification unit 102b identifies the column one column from column number 7, i.e., the seventh column, as an extension / resize candidate column (step SB1 in FIG. 23).

[0117] Next, referring to "Determine whether there is a column designated as 'to be stretched or contracted preferentially' among the stretching candidates" in Fig. 34, the column to be stretched or contracted preferentially in Table 1 is "column 3." Therefore, the stretching target column determination unit 102c determines that there is no column to be stretched or contracted preferentially among column 7, which is a stretching candidate column (step SB2 in Fig. 23: No).

[0118] Next, the resizing target column determination unit 102c processes the seventh column, which is a candidate column for resizing, from right to left (step SB4 in FIG. 23).

[0119] The expansion / contraction target column determination unit 102c determines whether the seventh column is the leftmost column among the seventh columns that are expansion / contraction candidate columns (step SB5 in FIG. 23). The expansion / contraction target column determination unit 102c determines that the seventh column is the leftmost column (step SB5 in FIG. 23: Yes).

[0120] Therefore, the column determination unit 102c stores the column number of the leftmost column, "7," in the "Column number to be stretched or shrunk when dragging the right side" field for "Office" in the header cell definition data 106a, as shown in the table for "Process column number 7" under "Process candidate columns for stretching or shrunk from right to left" in Figure 35 (step SB6 in Figure 23).

[0121] Through the process described in this section (2-4), the expansion / contraction target column determination unit 102c determines the expansion / contraction target column as the "seventh column" when the header cell "XX" is dragged.

[0122] After step SB6 is completed, it is determined whether or not processing has been completed for all header cells (step SB9 in FIG. 23). Since processing has not yet been completed (step SB9 in FIG. 23: No), the process returns to step SB1, and processing is performed for the next header cell "●●".

[0123] (2-5) Processing of header cell "●●" Although the description of the processing for the header cell "●●" is omitted, the expansion / contraction target column determination unit 102c determines the expansion / contraction target column as the "first column" when the header cell "●●" is dragged.

[0124] After processing of the header cell "●●" is completed, it is determined whether processing of all header cells has been completed (step SB9 in FIG. 23). Since processing has not yet been completed (step SB9 in FIG. 23: No), the process returns to step SB1, and processing of the next header cell "Person in Charge Email Address" is executed.

[0125] (2-6) Processing the header cell "Contact email address" 36, the column number of the header cell "responsible person's email address" is 3, and the number of combined columns is 4. Therefore, the column number determination unit 102b determines four columns counting from column number 3, i.e., the third to sixth columns, as columns to be extended or resized (step SB1 in FIG. 23).

[0126] Next, referring to "Determine whether there is a column designated as 'to be stretched or contracted preferentially' among the stretching candidates" in Fig. 36, the column to be stretched or contracted preferentially in Table 1 is "column 3." Therefore, the stretching target column determination unit 102c determines that there is a column to be stretched or contracted preferentially among columns 3 to 6, which are the stretching candidate columns (step SB2 in Fig. 23: Yes).

[0127] Therefore, the column determination unit 102c stores "3", the column number of the column to be stretched or contracted preferentially, in the "Column number to be stretched or contracted when dragging the right part" field for "Person in charge email address" in the header cell definition data 106a, as shown in the table "Determine whether there is a column designated as 'stretched or contracted preferentially' among the stretching candidates" in Figure 36 (step SB3 in Figure 23).

[0128] Through the process described in this section (2-6), the expansion / contraction target column determination unit 102c determines the expansion / contraction target column as the "third column" when the header cell "responsible person's email address" is dragged.

[0129] After step SB3 is completed, it is determined whether or not processing has been completed for all header cells (step SB9 in FIG. 23). Since processing has not yet been completed (step SB9 in FIG. 23: No), the process returns to step SB1, and processing is performed for the next header cell "△△".

[0130] (2-7) Processing of header cell "△△" Although the description of the processing for the header cell "ΔΔ" is omitted, the expansion / contraction target column determination unit 102c determines that the expansion / contraction target column when the header cell "ΔΔ" is dragged is the "seventh column."

[0131] After processing of the header cell "△△" is completed, it is determined whether processing of all header cells has been completed (step SB9 in FIG. 23). Since processing has not yet been completed (step SB9 in FIG. 23: No), the process returns to step SB1, and processing of the next header cell "warehouse" is executed.

[0132] (2-8) Processing the header cell "Warehouse" Although the description of the processing for the header cell "warehouse" is omitted, the expansion / contraction target column determination unit 102c determines that the expansion / contraction target column when the header cell "warehouse" is dragged is the "first column."

[0133] After processing for the header cell "Warehouse" is completed, it is determined whether processing for all header cells has been completed (step SB9 in FIG. 23). Since processing has not yet been completed (step SB9 in FIG. 23: No), the process returns to step SB1, and processing is performed for the next header cell "Note 1."

[0134] (2-9) Processing of header cell "Note 1" Although the description of the processing for the header cell "Note 1" is omitted, the extension / retraction target column determination unit 102c determines that the extension / retraction target column when the header cell "Note 1" is dragged is the "third column."

[0135] After processing of the header cell "Note 1" is completed, it is determined whether processing of all header cells has been completed (step SB9 in FIG. 23). Since processing has not yet been completed (step SB9 in FIG. 23: No), the process returns to step SB1, and processing of the next header cell "Note 2" is executed.

[0136] (2-10) Processing of header cell "Note 2" 37, the header cell "Note 2" has a column number of 5 and a column combination number of 3. Therefore, the extension / retraction candidate column identification unit 102b identifies three columns counting from column number 5, i.e., the fifth to seventh columns, as extension / retraction candidate columns (step SB1 in FIG. 23).

[0137] Next, referring to "Determine whether there is a column designated as 'to be stretched or contracted preferentially' among the stretching candidates" in Fig. 37, the column to be stretched or contracted preferentially in Table 1 is "column 3." Therefore, the stretching target column determination unit 102c determines that there is no column to be stretched or contracted preferentially among columns 5 to 7, which are the stretching candidate columns (step SB2 in Fig. 23: No).

[0138] Next, the expansion / contraction target column determination unit 102c processes the fifth to seventh columns, which are expansion / contraction candidate columns, from right to left (step SB4 in FIG. 23).

[0139] The expansion / contraction target column determination unit 102c determines whether the seventh column is the leftmost column among the fifth to seventh columns, which are candidate columns for expansion / contraction (step SB5 in FIG. 23). The expansion / contraction target column determination unit 102c determines that the seventh column is not the leftmost column (step SB5 in FIG. 23: No).

[0140] Next, the resizing target column determination unit 102c determines whether all of the data section cells in the seventh column do not need to be resized (step SB7 in FIG. 23). As shown in the table of "Process column number 7" under "Process resizing candidate columns from right to left" in FIG. 38, the resizing / non-resize requirement for the data section cells in column number 7 is not all "No," so the resizing target column determination unit 102c determines that not all of the data section cells in the seventh column do not need to be resized (step SB7 in FIG. 23: No).

[0141] Therefore, the stretching target column determination unit 102c stores "7", the column number of the column currently being processed, in the "Column number to stretch when dragging the right part" field for "Note 2" in the header cell definition data 106a, as shown in the table for "Process column number 7" under "Process stretching candidate columns from right to left" in Figure 38 (step SB8 in Figure 23).

[0142] Through the process described in this section (2-10), the expansion / contraction target column determination unit 102c determines the expansion / contraction target column as the "seventh column" when the header cell "Note 2" is dragged.

[0143] After step SB8 is completed, it is determined whether or not processing has been completed for all header cells (step SB9 in FIG. 23). Since processing for all header cells has been completed with the processing for "Note 2" (step SB9 in FIG. 23: Yes), all processing for header cells is completed (END in FIG. 23).

[0144] (2-11) Summary and Comparative Examples In this way, the stretching target column determination unit 102c determines the stretching target columns for all header cells, and the column numbers of the stretching target columns are stored in the column of "column numbers to be stretched when right-hand dragging" as shown in the header cell definition data 106a in Figure 39. This completes all of the pre-determination processing in this item [4-1].

[0145] As a comparative example, let us assume that the exception specification data 106c does not specify a column to be preferentially stretched or shrunk. In this case, the stretching / shrunk column determination unit 102c determines the "fifth column" as the column to be stretched or shrunk for the header cell "Person in Charge Email Address," as shown in FIGS. 40 and 41.

[0146] [4-2. What to do when the user drags the right border of a header cell] This section explains in detail what happens when the user drags the right border of a header cell.

[0147] As shown in FIG. 42, when the process is started by the user dragging the right boundary of the header cell "Person in Charge Email Address" (Start in FIG. 24), the stretch width etc. determination unit 102d determines that the dragged header cell is the right boundary of the header cell "Person in Charge Email Address" and also determines that the cell has been dragged to the right by, for example, 100px (step SC1 in FIG. 24).

[0148] Next, the stretch width etc. determination unit 102d refers to the header cell definition data 106a in Figure 39 and obtains "3" as the "column number to be stretched when dragging the right side" for the dragged header cell "responsible person's email address" (step SC2 in Figure 24).

[0149] As a comparative example, if the column that should be preferentially stretched or contracted is not set in the exception specification data 106c, as explained in (2-11), "5" is stored in the "column number to be stretched or contracted when right-hand dragging" for "responsible person's email address" in the header cell definition data 106a. Therefore, the stretch width etc. specifying unit 102d acquires "5" as the "column number to be stretched or contracted when right-hand dragging" for the dragged header cell "responsible person's email address" (step SC2 in FIG. 24).

[0150] Next, as shown in FIG. 43, the column expanding / contracting unit 102e expands the width of the column with column number "3" acquired in step SC2 by 100 px, which is the horizontal drag width identified in step SC1 (step SC3 in FIG. 24).

[0151] Incidentally, as a comparative example, if the exception specification data 106c does not specify a column to be stretched or contracted preferentially, the column stretching unit 102e stretches the horizontal width of the column with column number "5" acquired in step SC2 by 100px, which is the horizontal drag width identified in step SC1, as shown in FIG. 44 (step SC3 in FIG. 24).

[0152] As a result of the above process, all cells in column number "3" expand or contract by the same width as the dragged header cell "Person in Charge Email Address" (step SC4 in Figure 24). In other words, as shown in Figure 43, the header cells "Department", "Person in Charge Email Address", and "Note 1", as well as the data cells "Department Code / Name", "Person in Charge Email Address", and "Note 1", expand by 100px.

[0153] As a comparative example, if the exception specification data 106c does not specify which column should be preferentially expanded or contracted, all cells in column number "5" will expand or contract by the same width as the dragged header cell "Person in Charge Email Address" (step SC4 in FIG. 24). In other words, as shown in FIG. 44, the header cells "Person in Charge," "Person in Charge Email Address," and "Note 2," as well as the data cells "Person in Charge Code / Name," "Person in Charge Email Address," and "Note 2," will expand by 100px.

[0154] In this way, if "3" is set as the column that should be stretched or contracted preferentially in the exception designation data 106c, all cells in column number "3" will stretch, as shown in Figure 43, and no characters will be hidden in "Department Code / Name." In contrast, if "3" is not set as the column that should be stretched or contracted preferentially in the exception designation data 106c, part of "B3001 Kitanagoya Group 1" will be hidden, as shown in Figure 44. For this reason, if there is a column that you want to stretch or contract preferentially because it has a large number of characters, it is preferable to set the column number of the column you want to stretch or contract in the exception designation data 106c.

[0155] This completes the process when the user drags the right boundary of a header cell (end of Figure 24). This completes all the processes in this section [4-2] when the user drags the right boundary of a header cell.

[0156] [5. Summary of this embodiment] As explained above, according to the device 100 for determining columns to be stretched or contracted in this embodiment, when a header cell formed by combining the smallest unit cells in a table made up of cells is stretched or contracted horizontally by an operator's operation, it is possible to appropriately determine which column of cells in the detail section will be stretched or contracted horizontally (=the column to be stretched or contracted).

[0157] Furthermore, the device 100 for determining a sequence to be expanded or contracted according to this embodiment can expand or contract the determined sequence to be expanded or contracted.

[0158] In conventional table development, in order to achieve the stretch position expected by the user, the developer had to specify whether or not to stretch each column, which resulted in problems such as the need to make non-intuitive settings, and the need to re-specify whether or not to stretch each column when changing the table layout.

[0159] Therefore, in this embodiment, for example, in a table structure on a screen detail layout, when the presence or absence of cell merging or the merging range differs between the header section and the data section, the cell expansion / contraction position in the detail section corresponding to the border expansion / contraction operation of the header merge column can be automatically determined, thereby eliminating the need to specify each header or column individually. This improves application development productivity while also making it possible to flexibly respond to layout changes due to customization, etc.

[0160] Specifically, in this embodiment, In principle, the first column from the right side, skipping candidates that do not need to be stretched, is set as the column to be stretched. -Even in exceptional cases where settings are required for individual columns, it is now possible to configure only the minimum number of columns required.

[0161] As a result, this embodiment can significantly improve both the efficiency and flexibility of table development in no-code or low-code development, where detailed coding is not possible. In low-code development, applications are developed through settings, but generally, increasing the number of settings increases the degree of freedom, but this increases the cost of setting up and can lead to quality differences depending on the worker. According to this embodiment, optimal control can be performed without increasing the number of settings, thereby ensuring quality and improving productivity.

[0162] [6. Contribution to the United Nations-led Sustainable Development Goals (SDGs)] This embodiment can contribute to improving business efficiency and promoting appropriate management decisions by companies, thereby contributing to the achievement of SDGs Goals 8 and 9.

[0163] Furthermore, this embodiment can contribute to reducing waste and promoting paperless and electronic systems, thereby contributing to the achievement of SDGs Goals 12, 13, and 15.

[0164] Furthermore, this embodiment can contribute to strengthening control and governance, which can contribute to the achievement of Goal 16 of the SDGs.

[0165] 7. Other Embodiments The present invention may be implemented in various different embodiments other than those described above within the scope of the technical concept set forth in the claims.

[0166] For example, among the processes described in the embodiments, all or part of the processes described as being performed automatically can be performed manually, or all or part of the processes described as being performed manually can be performed automatically using known methods.

[0167] Furthermore, the processing procedures, control procedures, specific names, information including parameters such as registered data and search conditions for each process, screen examples, and database configurations shown in this specification and drawings can be changed as desired unless otherwise specified.

[0168] Furthermore, with regard to the device 100 for determining a sequence to be expanded or contracted, the components shown in the figure are conceptual functional elements, and the device does not necessarily have to be physically configured as shown in the figure.

[0169] For example, all or any part of the processing functions of the expansion / contraction target sequence determination device 100, particularly the processing functions performed by the control unit, may be implemented by a CPU and a program interpreted and executed by the CPU, or may be implemented as hardware using wired logic. The program is recorded on a non-transitory, computer-readable recording medium containing programmed instructions for causing an information processing device to execute the processes described in this embodiment, and is mechanically read by the expansion / contraction target sequence determination device 100 as needed. That is, a computer program for providing instructions to the CPU in cooperation with the OS and performing various processes is recorded in a storage unit such as a ROM or HDD (Hard Disk Drive). This computer program is executed by being loaded into RAM, and cooperates with the CPU to form the control unit.

[0170] This computer program may be stored in an application program server connected to the expansion / contraction target sequence determination device 100 via any network, and all or part of it may be downloaded as needed.

[0171] Furthermore, the program for executing the processes described in this embodiment may be stored in a non-transitory computer-readable recording medium or configured as a program product. Here, the term "recording medium" includes any "portable physical medium" such as a memory card, a Universal Serial Bus (USB) memory, a Secure Digital (SD) card, a flexible disk, a magneto-optical disk, a ROM, an Erasable Programmable Read Only Memory (EPROM), an Electrically Erasable and Programmable Read Only Memory (EEPROM (registered trademark)), a Compact Disk Read Only Memory (CD-ROM), a Magneto-Optical disk (MO), a Digital Versatile Disk (DVD), and a Blu-ray (registered trademark) disc.

[0172] Furthermore, a "program" is a data processing method written in any language or description method, regardless of the format, such as source code or binary code. Note that a "program" is not necessarily limited to a single structure, but also includes a structure that is distributed as multiple modules or libraries, or a structure that achieves its function by cooperating with a separate program, such as an OS. Note that the specific configuration and reading procedure for reading a recording medium in each device shown in the embodiments, as well as the installation procedure after reading, can use well-known configurations and procedures.

[0173] The various databases stored in the memory unit are storage means such as memory devices such as RAM and ROM, fixed disk devices such as hard disks, flexible disks, and optical disks, and store various programs, tables, databases, and web page files used for various processes and providing websites.

[0174] The expansion / contraction target sequence determination device 100 may be configured as an information processing device such as a known personal computer or workstation, or may be configured as an information processing device connected to any peripheral device. The expansion / contraction target sequence determination device 100 may be realized by installing software (including programs, data, etc.) that causes the device to perform the processing described in this embodiment.

[0175] Furthermore, the specific form of distribution and integration of the devices is not limited to that shown in the drawings, and all or part of them can be configured by functionally or physically distributing and integrating them in any unit depending on various additions or functional loads. In other words, the above-described embodiments can be implemented in any combination, or embodiments can be implemented selectively. [Industrial Applicability]

[0176] The present invention is useful, for example, in the field of table development. [Explanation of symbols]

[0177] 100 Expandable column determination device 102 Control section 102a Cell-by-cell expansion / contraction determination unit 102b Expansion / contraction candidate column identification part 102c: Determining unit for determining columns to be expanded or contracted 102d Specification part for expansion / contraction width, etc. 102e Column extension section 104 Communication interface unit 106 Storage section 106a Header cell definition data 106b Data section cell definition data 106c Exceptional Data 108 Input / Output Interface Section 112 Input Device 114 Output Device 200 servers 300 Network

Claims

1. A device for determining a column to be expanded or contracted, which is equipped with a control unit, can appropriately determine which column of cells in a detail section should be expanded or contracted horizontally when a header cell formed by combining cells of the smallest unit in a table is expanded or contracted horizontally by an operator's operation, The control unit a cell-by-cell expansion / contraction necessity determination means for determining whether expansion / contraction is necessary for each of the minimum unit cells; a stretching candidate column specifying means for specifying a column to which a minimum unit cell constituting the stretched or stretched header cell belongs as a stretching candidate column in the detail section; (i) if there is only one candidate column for resizing / scaling identified by the candidate column for resizing / scaling identification means, it determines the one column as the column to be resized / scaled in the detail portion; (ii) if there are two or more candidate columns for resizing / scaling identified by the candidate column for resizing / scaling identification means, it determines whether there is at least one cell in the detail portion that needs to be resized / scaled among the candidate columns for resizing / scaling identified by the candidate column for resizing / scaling identification means, starting with the column with the largest column number; (ii-1) it determines the first column that it determines to exist as the column to be resized / scaled in the detail portion; and (ii-2) if the column that it determines to exist has not appeared by the time the determination of the column with the second smallest column number among the candidate columns for resizing / scaling is completed, it determines the column with the smallest column number among the candidate columns for resizing / scaling as the column to be resized / scaled in the detail portion. To have The device for determining a column to be stretched or contracted is characterized by the above.

2. The cell-by-cell expansion / contraction necessity determination means If the minimum unit cell is a button cell, a text input cell in which the upper limit of the number of characters or numbers of the input text is equal to or less than a specified value, or a cell that is combined with a cell that is one column smaller, determining that the minimum unit cell is a cell that does not need to be expanded or contracted; 2. The apparatus for determining a column to be expanded or contracted according to claim 1.

3. The means for determining a column to be expanded or contracted is If there is a column designated by an operator in advance as a column to be preferentially stretched or resized among the stretchable or resized candidate columns identified by the stretchable or resized candidate column identifying means, the pre-designated column is preferentially determined as the stretchable or resized column; 2. The apparatus for determining a column to be expanded or contracted according to claim 1.

4. the operator's operation is a drag operation using a mouse; 2. The apparatus for determining a column to be expanded or contracted according to claim 1.

5. The column with the higher column number is the column further to the right in the table, 2. The apparatus for determining a column to be expanded or contracted according to claim 1.

6. The control unit a means for specifying a header cell expanded or contracted in the horizontal direction by an operator's operation and a contraction width etc.; a column expansion / contraction means for expanding or contracting a column to be expanded or contracted in the detail portion determined by said column to be expanded or contracted by the expansion / contraction width specified by said expansion / contraction width specifying means for the header portion cell determined by said expansion / contraction width specifying means; Further comprising:

6. The apparatus for determining a sequence to be expanded or contracted according to claim 1, wherein:

7. A method for determining a column to be expanded or contracted, executed by an information processing device having a control unit, that can appropriately determine which column of cells in a detail section should be expanded or contracted horizontally when a header cell formed by combining minimum unit cells in a table made up of cells is expanded or contracted horizontally by an operator's operation, Executed by the control unit, a cell-by-cell expansion / contraction necessity determination step of determining whether expansion / contraction is necessary for each of the minimum unit cells; a scaling candidate column identifying step of identifying a column to which a minimum unit cell constituting the scaled header cell belongs as a scaling candidate column in the detail section; (i) if there is only one candidate column for resizing / scaling in the step of identifying candidate columns for resizing / scaling, determine the one column as the column to be rescaled in the detail portion; (ii) if there are two or more candidate columns for resizing / scaling in the step of identifying candidate columns for resizing / scaling, determine whether there is any cell in the detail portion that needs to be rescaled among the candidate columns for resizing / scaling in the step of identifying candidate columns for resizing / scaling, starting with the column with the largest column number, and (ii-1) determine the column that is first determined to exist as the column to be rescaled in the detail portion; and (ii-2) if the column that can be determined to exist has not appeared by the time the determination of the column with the second smallest column number among the candidate columns for resizing / scaling has been completed, determine the column with the smallest column number among the candidate columns for resizing / scaling as the column to be rescaled in the detail portion; containing, A method for determining a column to be stretched or contracted, characterized by the above.

8. A program for determining a column to be expanded or contracted, which is executed by an information processing device having a control unit, can appropriately determine which column of cells in a detail section should be expanded or contracted horizontally when a header cell formed by combining cells of the smallest unit in a table is expanded or contracted horizontally by an operator's operation, To cause the control unit to execute a cell-by-cell expansion / contraction necessity determination step of determining whether expansion / contraction is necessary for each of the minimum unit cells; a scaling candidate column identifying step of identifying a column to which a minimum unit cell constituting the scaled header cell belongs as a scaling candidate column in the detail section; (i) if there is only one candidate column for resizing / scaling in the step of identifying candidate columns for resizing / scaling, determine the one column as the column to be rescaled in the detail portion; (ii) if there are two or more candidate columns for resizing / scaling in the step of identifying candidate columns for resizing / scaling, determine whether there is any cell in the detail portion that needs to be rescaled among the candidate columns for resizing / scaling in the step of identifying candidate columns for resizing / scaling, starting with the column with the largest column number, and (ii-1) determine the column that is first determined to exist as the column to be rescaled in the detail portion; and (ii-2) if the column that can be determined to exist has not appeared by the time the determination of the column with the second smallest column number among the candidate columns for resizing / scaling has been completed, determine the column with the smallest column number among the candidate columns for resizing / scaling as the column to be rescaled in the detail portion; containing, A program for determining a sequence to be stretched or contracted, characterized by the above.

Citation Information

Patent Citations

  • Display area control device, display area control method, and program

    JP2011002924A

  • Spreadsheet control program, spreadsheet controller and spreadsheet control method

    JP2012181707A

  • Image forming device, image forming method and image forming program

    JP2013050632A

  • Information processing program, information processing method and information processor

    JP2017174014A

  • Display control system, display control method, and program

    JP2021140549A