JP2015170011A - 表レイアウト生成装置 - Google Patents

表レイアウト生成装置 Download PDF

Info

Publication number
JP2015170011A
JP2015170011A JP2014042811A JP2014042811A JP2015170011A JP 2015170011 A JP2015170011 A JP 2015170011A JP 2014042811 A JP2014042811 A JP 2014042811A JP 2014042811 A JP2014042811 A JP 2014042811A JP 2015170011 A JP2015170011 A JP 2015170011A
Authority
JP
Japan
Prior art keywords
cell
row
table layout
width
column
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014042811A
Other languages
English (en)
Other versions
JP6354214B2 (ja
Inventor
勇 鍋島
Isamu Nabeshima
勇 鍋島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2014042811A priority Critical patent/JP6354214B2/ja
Publication of JP2015170011A publication Critical patent/JP2015170011A/ja
Application granted granted Critical
Publication of JP6354214B2 publication Critical patent/JP6354214B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Document Processing Apparatus (AREA)

Abstract

【課題】同一列の各セルのデータ量が異なる場合に空白部分を減らした表レイアウトを生成することは難しい、という問題を解決すること。【解決手段】同一の行に位置する各セルのデータ量に応じて、当該各セルの列幅を算出する列幅算出部と、列幅算出部により算出された列幅の各セルについて、当該各セルに配置されるデータ量に応じた行の高さをそれぞれ算出し、当該算出した各セルの行の高さに応じて同一の行に位置するセルの行の高さを決定する行高決定部と、列幅算出部により算出される列幅と、行高決定部により決定される各行ごとの行の高さと、各セルのデータ内容と、に従って表レイアウトを生成する表レイアウト生成部と、を備える。【選択図】図1

Description

本発明は、表レイアウト生成装置、表レイアウト生成方法、プログラム、表レイアウト生成システムに関する。
行と列とで構成される表の一つとしてスプレッドシードが知られている。スプレッドシードは表計算ソフトなどで用いられる表であり、縦横に並んだマス目であるセルに文字や数値などを打ち込むことで所定の計算処理などを行うことが出来るように構成されている。
このようなスプレッドシートを生成する技術として、特許文献1が知られている。特許文献1には、フォーマット定義情報とオーバレイ定義情報とを含む帳票からスプレッドシートを作成する技術が記載されている。特許文献1によると、フォーマット定義情報の項目群の距離に基づいて算出されるフォーマット・セル定義情報と、オーバレイ定義情報のオーバレイ(枠、罫線)の座標値の距離に基づいて算出されるオーバレイ・セル定義情報と、に応じて列幅、行幅が算出される。そして、算出した列幅、行幅を設定し、項目又はオーバレイに対応するセルを特定したスプレッドシートを生成する。
特開2010−140122号公報
特許文献1により生成されるスプレッドシートでは、全ての行で列幅の割合は同一となっている。これは、一般的なスプレッドシートでも同様である。このように、スプレッドシートを構成する全ての行で列幅の割合が同一である場合、同一列で行が異なる毎にデータ量が大きく異なると、空白部分(デッドスペース)が多くなってしまうことになる。その結果、スプレッドシートの表示面積が大きくなってしまう、あるいは、特定の表示面積に収めるために文字サイズを縮小する必要がある、などという問題が生じていた。
この問題を回避するためには、例えば、実際に必要な分より多くの列を用意し、データ量の多いセルに複数の列を結合して利用する、という方法が考えられる。また、例えば、表計算以外の文書作成ソフトウェア(Word、PowerPointなど)を利用し、罫線を手動で描画する、という方法が考えられる。
しかしながら、上記方法では、レイアウトの生成を手作業で行うため時間がかかるという問題が生じることになる。また、上記方法で生成した表は、複数の列を結合したセルと、単独のセルをそのまま使用したセルと、を跨ってソートすることが出来ない(スプレッドシートプログラムとしての操作性が維持できない)という問題も生じていた。
このように、同一列の各セルのデータ量が異なる場合に空白部分を減らした表レイアウトを生成することは難しい、という問題が生じていた。
そこで、本発明の目的は、同一列の各セルのデータ量が異なる場合に空白部分を減らした表レイアウトを生成することは難しい、という問題を解決する情報処理システムを提供することにある。
かかる目的を達成するため本発明の一形態である表レイアウト生成装置は、
同一の行に位置する各セルのデータ量に応じて、当該各セルの列幅を算出する列幅算出部と、
前記列幅算出部により算出された列幅の各セルについて、当該各セルに配置される前記データ量に応じた行の高さをそれぞれ算出し、当該算出した各セルの行の高さに応じて同一の行に位置するセルの行の高さを決定する行高決定部と、
前記列幅算出部により算出される列幅と、前記行高決定部により決定される各行ごとの行高と、前記各セルのデータ内容と、に従って表レイアウトを生成する表レイアウト生成部と、
を備える、
という構成を採る。
また、本発明の他の形態である表レイアウト生成方法は、
同一の行に位置する各セルのデータ量に応じて、当該各セルの列幅を変更し、
前記各セルに配置される前記データ量に応じた行の高さをそれぞれ算出し、当該算出した各セルの行の高さに応じて同一の行に位置するセルの行の高さを決定し、
前記列幅と、前記各行ごとの行高と、前記各セルのデータ内容と、に従って表レイアウトを生成する、
という構成を採る。
また、本発明の他の形態であるプログラムは、
表レイアウト生成装置に、
同一の行に位置する各セルのデータ量に応じて、当該各セルの列幅を算出する列幅算出部と、
前記列幅算出部により算出された列幅の各セルについて、当該各セルに配置される前記データ量に応じた行の高さをそれぞれ算出し、当該算出した各セルの行の高さに応じて同一の行に位置するセルの行の高さを決定する行高決定部と、
前記列幅算出部により算出される列幅と、前記行高決定部により決定される各行ごとの行高と、前記各セルのデータ内容と、に従って表レイアウトを生成する表レイアウト生成部と、
を実現させるためのプログラムである。
また、本発明の他の形態である表レイアウト生成システムは、
同一の行に位置する各セルのデータ量に応じて、当該各セルの列幅を算出する列幅算出部と、
前記列幅算出部により算出された列幅の各セルについて、当該各セルに配置される前記データ量に応じた行の高さをそれぞれ算出し、当該算出した各セルの行の高さに応じて同一の行に位置するセルの行の高さを決定する行高決定部と、
前記列幅算出部により算出される列幅と、前記行高決定部により決定される各行ごとの行高と、前記各セルのデータ内容と、に従って表レイアウトを生成する表レイアウト生成部と、
を備える制御装置と、
前記表レイアウト全体の横幅を示す横幅情報を記憶する表レイアウト記憶部を備える記憶装置と、を備え、
前記列幅算出部は、前記表レイアウト記憶部が記憶する前記横幅情報が示す横幅を同一の行に位置する各セルのデータ量に応じてセルごとに分配することで、前記各セルの列幅を算出する、
という構成を採る。
本発明は、以上のように構成されることにより、空白部分を減らした表レイアウトを生成する表レイアウト生成装置を提供することが出来る。
本発明の第1の実施形態に係るスプレッドシート生成システムの構成の一例を示すブロック図である。 図1で示すセル情報記憶部が記憶する内容を説明するための表である。 図1で示すセル情報記憶部が記憶する内容の一例を示す表である。 図1で示す表レイアウト記憶部が記憶可能な内容を説明するための表である。 図1で示す表レイアウト記憶部が記憶内容の一例を示す表である。 スプレッドシート生成システムが生成するスプレッドシートの一例を示す表である。 スプレッドシート生成システムが生成するスプレッドシートを説明するための図である。 本実施形態におけるスプレッドシート生成システムの動作の一例を示すフローチャートである。 本実施形態におけるスプレッドシート生成システムが各セルの横幅を決定する際の動作の一例を示すフローチャートである。 本発明に関連するスプレッドシート生成システムがスプレッドシートを生成する際の動作を示すフローチャートである。 本発明に関連するスプレッドシート生成システムが生成するスプレッドシートの一例を示す表である。 本発明の第1の実施形態に係るスプレッドシート生成システムの構成の一例を示すブロック図である。 本発明の第2の実施形態に係る表レイアウト生成装置の構成の一例を示す概略ブロック図である。 本発明の第3の実施形態に係る表レイアウト生成システムの構成の一例を示す概略ブロック図である。
次に本発明の実施の形態について図面を参照して詳細に説明する。
[第1の実施形態]
本発明の第1の実施形態に係るスプレッドシート生成システム1は、行と列とで構成され縦横に並んだマス目であるセルに文字や数値などを打ち込むことで所定の計算処理などを行うことが出来るスプレッドシート(表レイアウト)を生成するシステムである。本実施形態におけるスプレッドシート生成システム1は、後述するように、同一の行に位置する各セルのデータ量に応じて当該各セルの横幅(列幅)を算出する。そして、スプレッドシート生成システム1は、当該算出した横幅を反映させたスプレッドシートを生成する。
図1を参照すると、本実施形態におけるスプレッドシート生成システム1は、記憶装置2と、制御装置3と、入力部4と、表示部5と、を備えている。
記憶装置2と制御装置3とは、例えば有線で接続されており互いに通信可能なよう構成されている。同様に、制御装置3と入力部4、制御装置3と表示部5、も例えば有線で接続されており通信可能なよう構成されている。なお、各装置間の接続は有線による接続を行う場合に限られない。各装置間は、例えば、無線通信にて通信可能なように構成されていても構わない。
記憶装置2は、ハードディスクなどで構成されるストレージ装置である。図1で示すように、記憶装置2は、セル情報記憶部21と、表レイアウト記憶部22と、を有している。
セル情報記憶部21は、スプレッドシートを構成する各セルのデータの内容を示すデータ内容を、スプレッドシートごとに記憶している。具体的には、図2で示すように、本実施形態におけるセル情報記憶部21は、スプレッドシートを構成する行の番号を示す行番号と列の番号を示す列番号とに対応付けて、当該行番号及び列番号が示すセルに配置されるデータ内容を記憶している。そのため、セル情報記憶部21は、スプレッドシートを構成する行の数(行番号の数)及び列の数(列番号の数)に応じた数のデータ内容を記憶していることになる。
なお、セル情報記憶部21は、必ずしも全てのセルに対してデータ内容を記憶していなくても構わない。つまり、セル情報記憶部21は、セルに対応するデータ内容を記憶していない場合があってもよい(データ内容がないセルがあってもよい)。また、セル情報記憶部21が記憶する内容(データ内容)は、後述する入力部4を介して変更することが出来るように構成することが出来る。
ここで、セル情報記憶部21が記憶するデータ内容の一例を、図3で示す。図3を参照すると、セル情報記憶部21は、例えば、行番号1、列番号1のセルのデータ内容として文字「あ」を10文字記憶している。また、行番号1、列番号2のセルのデータ内容として文字「い」を50文字、行番号1、列番号3のセルのデータ内容として文字「う」を100文字記憶している。同様に、セル情報記憶部21は、行番号2、列番号1のセルのデータ内容として文字「い」を50文字、行番号2、列番号2のセルのデータ内容として文字「う」を100文字、行番号2、列番号3のセルのデータ内容として文字「あ」を10文字記憶している。さらに、セル情報記憶部21は、行番号3、列番号1のセルの内容として文字「う」を100文字、行番号3、列番号2のセルの内容として文字「あ」を10文字、行番号3、列番号3のセルの内容として文字「い」を50文字記憶している。
上記の場合では、セル情報記憶部21が記憶する各セルの文字数が当該各セルのデータ量を示していることになる。つまり、セル情報記憶部21が記憶しているデータ内容の量(長さ)を示すデータ量は、1行1列のセル=10、1行2列のセル=50、1行3列のセル=100、となる。同様に、セル情報記憶部21が記憶するデータ内容の量は、2行1列のセル=50、2行2列のセル=100、2行3列のセル=10、3行1列のセル=100、3行2列のセル=10、3行3列のセル=50、となる。
表レイアウト記憶部22は、スプレッドシートのレイアウトに関する情報を記憶している。図4を参照すると、表レイアウト記憶部22は、例えば、各行の高さ情報と、各列の横幅情報と、各セルの横幅情報と、表の横幅情報(横幅情報)と、をスプレッドシートごとに記憶することが出来る。なお、表レイアウト記憶部22が記憶する上記情報も、入力部4を介して変更可能なよう構成することが出来る。
各行の高さ情報は、スプレッドシートを構成する各行の高さを示す情報である。図4で示すように、表レイアウト記憶部22は、各行の高さ情報として例えば、行番号と当該行番号が示す(行番号が示す行と同一の行に位置する)セルの高さとを記憶する。
各列の横幅情報は、スプレッドシートを構成する各列の横幅を示す情報である。図4で示すように、表レイアウト記憶部22は、各列の横幅情報として例えば、列番号と当該列番号が示す(列番号が示す列と同一の列に位置する)セルの横幅とを記憶する。なお、後述するように、表レイアウト記憶部22は、各列の横幅情報を記憶していなくても構わない。
各セルの横幅情報は、スプレッドシートを構成する各セルの横幅を示す情報である。図4で示すように、表レイアウト記憶部22は、各セルの横幅情報として例えば、行番号及び列番号と当該行番号及び列番号が示す(行番号が示す行と列番号が示す列との交差点に位置する)セルの横幅とを記憶する。つまり、表レイアウト記憶部22は、各セルの横幅情報として、スプレッドシートを構成するセルごとの(全てのセルの)横幅を記憶していることになる。
表の横幅情報は、スプレッドシート全体の横幅を示す情報である。表の横幅情報は、例えば、スプレッドシート全体の横幅(一行)に文字が何文字入るかを示している。図4で示すように、表レイアウト記憶部22は、表の横幅情報として例えば、一行に文字が何文字入るかを示す横幅情報を1つ記憶している。
表レイアウト記憶部22は、このような各行の高さ情報と、各列の横幅情報と、各セルの横幅情報と、表の横幅情報と、を記憶することが出来る。
なお、上記表レイアウト記憶部22が記憶する情報のうち、各列の横幅情報は、一般的なスプレッドシート生成方法にてスプレッドシートを生成する際に用いられる情報である。そのため、本実施形態における表レイアウト記憶部22は、必ずしも各列の横幅情報を記憶していなくても構わない。また、各行の高さ情報は、一般的なスプレッドシート生成方法にてスプレッドシートを生成する際にも用いられる情報である。つまり、各行の高さ情報と各列の横幅情報とは、一般的なスプレッドシート生成方法でも用いられる情報になる。一方、各セルの横幅情報と表の横幅情報とは、本発明に特有の情報である。
また、各行の高さ情報及び各セルの横幅情報は、後述する制御装置3により算出されることになる情報である。従って、レイアウト記憶部22は、上記各行の高さ情報及び各セルの横幅情報を記憶していないことも考えられる。また、上記のように、レイアウト記憶部22は各列の横幅情報を記憶していなくても構わない。このように、レイアウト記憶部22は、各行の高さ情報と各列の横幅情報と各セルの横幅情報とを記憶していないことも考えられる。つまり、表レイアウト記憶部22は、少なくとも表の横幅情報を記憶していれば良い。
本実施形態においては、表レイアウト記憶部22は例えば、図5で示すように、表の横幅情報として、スプレッドシート全体の横幅が45文字であるという情報を記憶しているとする。
制御装置3は、情報処理装置である。制御装置3は、図示しない中央演算装置(CPU)と、記憶装置(メモリ及びハードディスク)と、を備えている。制御装置3は、記憶装置が備えるプログラムをCPUが実行することで、後述する機能を実現するように構成されている。
図1で示すように、制御装置3は、行の横幅配分手段31(列幅算出部)と、行の高さ決定手段32(行高決定部)と、表レイアウト生成手段33(表レイアウト生成部)と、しての機能を有している。
行の横幅配分手段31は、同一の行に位置する各セルのデータ量に応じて、当該各セルの横幅(列幅)を算出する機能を有している。具体的には、本実施形態における行の横幅配分手段31は、まず、1行分のデータ内容(同一の行に位置する各セルのデータ内容)をセル情報記憶部21から取得する。若しくは、行の横幅配分手段31は、1行分のデータ内容を、表レイアウト生成手段33を介して取得する。また、行の横幅配分手段31は、表の横幅情報を表レイアウト記憶部22から取得する。続いて、行の横幅配分手段31は、上記取得した各セルのデータ内容に応じたデータ量から各セルそれぞれのデータ量が同一の行に位置するセル全体のデータ量に占める割合を算出する。そして、行の横幅配分手段31は、当該算出した割合に応じて前記横幅情報が示す横幅をセルごとに配分(分配)する(小数点未満は例えば四捨五入する)。例えばこのようにして、行の横幅配分手段31は同一の行に位置する各セルの横幅を算出する。行の横幅配分手段31は、上記処理を繰り返すことで、スプレッドシートを構成する全てのセルの横幅を算出することになる。なお、行の横幅配分手段31は、上記横幅を配分する際には、各セルの横幅が最低でも1文字以上になるようにする。つまり、行の横幅配分手段31は、セルのデータ量が0の場合でも、行の列数が減らないように、最小限の横幅を確保することになる。
以下、行の横幅配分手段31による各セルの横幅の算出の一例について、具体例を挙げて説明する。例えば、本実施形態においては、上述したように、セル情報記憶部21は、1行目のデータ内容として、文字「あ」を10文字(1列目)と、文字「い」を50文字(2列目)と、文字「う」を100文字(3列目)と、を記憶している。また、表レイアウト記憶部22は、上述したように、表の横幅情報として「表全体の横幅=45文字」という情報を記憶している。
そこで、行の横幅配分手段31は、まず、セル情報記憶部21及び表レイアウト記憶部22から上記情報を取得する。続いて、行の横幅配分手段31は、以下の式に従い各セルのデータ量が同一の行に位置するセル全体のデータ量に占める割合を算出する。
・x行y列のセルのデータ量の割合=(当該セルのデータ量)/(同一行全体のデータ量)
つまり、
・1行1列のセルのデータ量の割合=10/(10+50+100)
・1行2列のセルのデータ量の割合=50/(10+50+100)
・1行3列のセルのデータ量の割合=100/(10+50+100)
次に、行の横幅配分手段31は、上記算出した割合に応じて、表の横幅=45文字を各セルに配分する。つまり、行の横幅配分手段31は、以下の式に従い各列の横幅を算出する。なお、行の横幅配分手段31は、本実施形態においては、小数点未満を四捨五入して各列の横幅を決定するとする。
・x行y列の横幅=(表の横幅)×(x行y列のセルのデータ量の割合)
つまり、
・1行1列の横幅=45×(10/(10+50+100))
・1行2列の横幅=45×(50/(10+50+100))
・1行3列の横幅=45×(100/(10+50+100))
上記式の結果、行の横幅配分手段31は、以下のように横幅を算出することになる。
・1行1列の横幅=3文字
・1行2列の横幅=14文字
・1行3列の横幅=28文字
また、行の横幅配分手段31は、同様の計算を行うことで、以下のように2行目と3行目の横幅を算出する。
・2行1列の横幅=14文字
・2行2列の横幅=28文字
・2行3列の横幅=3文字
・3行1列の横幅=28文字
・3行2列の横幅=3文字
・3行3列の横幅=14文字
このようにして、行の横幅配分手段31は、各行、各列のセルの横幅を算出する。後述するように、行の横幅配分手段31による算出結果は、例えば、行の高さ決定手段32と表レイアウト生成手段33とで利用されることになる。
行の高さ決定手段32は、各行ごとの行の高さ(行高)を決定する機能を有している。行の高さ決定手段32は、行の横幅配分手段31による算出結果を受けて、各行ごとの行の高さを決定する。
具体的には、本実施形態における行の高さ決定手段32は、まず、行の横幅配分手段31による算出結果(各セルの横幅)を取得する。また、行の高さ決定手段32は、行の横幅配分手段31又はセル情報記憶部21から、同一行の各セルのデータ内容(データ量でも構わない)を取得する。続いて、行の高さ決定手段32は、取得した算出結果(各セルに配分される横幅)と、各セルのデータ内容に応じたデータ量と、に基づいて、各セルに必要となる行の高さをそれぞれ算出する。そして、行の高さ決定手段32は、当該算出した各セルの行の高さのうち高さが最大となる行の高さを、当該各セルが属する行の高さであるとして決定する。つまり、行の高さ決定手段32は、同一の行に属するセルの行の高さ全てを、算出した各セルに必要となる行の高さのうち最大となる行の高さに決定する。このように、行の高さ決定手段32は、同一の行に属する全てのセルの高さを同じ高さに決定する。なお、行の高さ決定手段32は、行の高さを最低でも1文字以上に決定する。つまり、行の高さ決定手段32は、同一行に属する各セルのデータ量が全て0である場合にも、表の行数が減らないように最小限の高さを確保することになる。
例えば、本実施形態においては、上述したように、行の横幅配分手段31は、1行1列の横幅として3文字を、1行2列の横幅として14文字を、1行3列の横幅として28文字を、それぞれ算出する。そこで、行の高さ決定手段32は、上記算出結果を取得する。また、行の高さ決定手段32は、1行1列のデータ量として10文字を、1行2列のデータ量として50文字を、1行3列のデータ量として100文字を、それぞれ取得する。
続いて、行の高さ決定手段32は、各セルにおいて必要となる行の高さを算出する。つまり、行の高さ決定手段32は、以下の式に従い各セルに必要となる行の高さを算出する。なお、行の高さ決定手段32は、本実施形態においては、小数点未満を切り上げて各セルに必要となる行の高さを算出する。
・x行y列のセルに必要な行の高さ=(当該セルのデータ量)/(当該セルの横幅)
つまり、
・1行1列のセルに必要な行の高さ=10/3
・1行2列のセルに必要な行の高さ=50/14
・1行3列のセルに必要な行の高さ=100/28
上記式の結果、行の高さ決定手段32は、1行1列のセルに必要な行の高さとして4を算出する。同様に、行の高さ決定手段32は、1行2列のセルに必要な行の高さとして4を算出する。また、行の高さ決定手段32は、1行3列のセルに必要な行の高さとして4を算出する。
続いて、行の高さ決定手段32は、算出した各セルの行の高さのうち高さが最大となる行の高さを、当該各セルが属する行の高さであるとして決定する。上記のように、一例として説明した場合においては、同じ行に位置する各セルに必要な高さは全て4である。そのため、行の高さ決定手段32は、当該各セルが属する行(1行目)の各セルの行の高さを4として決定する。
また、行の高さ決定手段32は、同様の計算を行うことで、2行目と3行目の行の高さを決定する。つまり、行の高さ決定手段32は、2行1列のセルに必要な行の高さとして4を、2行2列のセルに必要な行の高さとして4を、3行3列のセルに必要な行の高さとして4を、それぞれ算出する。そして、行の高さ決定手段32は、2行目に位置するセルの高さとして4を決定する。また、行の高さ決定手段32は、3行1列のセルに必要な行の高さとして4を、3行2列のセルに必要な行の高さとして4を、3行3列のセルに必要な行の高さとして4を、それぞれ算出する。そして、行の高さ決定手段32は、3行目に位置するセルの高さとして4を決定する。
このように、行の高さ決定手段32は、各行の高さを決定する。後述するように、行の高さ決定手段32が決定した行の高さは、表レイアウト生成手段33で利用されることになる。
表レイアウト生成手段33は、スプレッドシートを生成して出力する機能を有している。具体的には、表レイアウト生成手段33は、まず、行の横幅配分手段31から算出結果(各セルの横幅)を取得する。また、表レイアウト生成手段33は、行の高さ決定手段32が決定した行ごとの行の高さを取得する。さらに、表レイアウト生成手段33は、例えばセル情報記憶部21から、各セルのデータ内容を取得する。そして、表レイアウト生成手段33は、取得した各セルの横幅(列幅)と、各行ごとの行の高さ(行高)と、各セルのデータ内容と、に従ってスプレッドシート(表レイアウト)を生成する。その後、表レイアウト生成手段33は、生成したスプレッドシートを後述する表示部5に出力する。
なお、表レイアウト生成手段33は、スプレッドシートを生成する際に制御装置3全体の制御を行う機能を有していても構わない。表レイアウト生成手段33がこのような機能を有する場合、行の横幅配分手段31及び行の高さ決定手段32は、表レイアウト生成手段33の制御の下で横幅の算出や行高の決定等の動作を行うことになる。
例えば、表レイアウト生成手段33は、行の横幅配分手段31から、1行1列の横幅である3、1行2列の横幅である14、1行3列の横幅である28、をそれぞれ取得する。同様に、表レイアウト生成手段33は、行の横幅配分手段31から、2行目及び3行目の各セルの横幅を取得する。
また、表レイアウト生成手段33は、行の高さ決定手段32から、1行目に位置するセルの行の高さである4を取得する。同様に、表レイアウト生成手段33は、行の高さ決定手段32から、2行目及び3行目に位置するセルの行の高さを取得する。
また、表レイアウト生成手段33は、例えばセル情報記憶部21から各セルのデータ内容を取得する。
そして、表レイアウト生成手段33は、行の横幅配分手段31が算出した横幅及び行の高さ決定手段32が決定した行の高さを備える各セルに当該各セルに対応するデータ内容を配置してスプレッドシートを生成する。
表レイアウト生成手段33は、例えば図6で示すようなスプレッドシートを生成する。図6で示すように、本実施形態における表レイアウト生成手段33は、空白部分を減らしたスプレッドシートを生成することになる。つまり、行の横幅配分手段31が同一行の各セルのデータ量に応じた横幅を算出することで、表レイアウト生成手段33は、同じ面積でより多くの情報を記載可能な柔軟な構成の(データ量に応じて同一行の各セルの横幅が変動する)スプレッドシートを生成することになる。
なお、表レイアウト生成部33は、当該表レイアウト生成部33により生成されたスプレッドシートを構成する各セルを、生成前の列番号に位置するセルとして扱うよう構成されている。つまり、表レイアウト生成部33が生成するスプレッドシートは、物理的な配置に依存せず同一の列に位置するセルを対応付けて扱うことが出来るよう構成される。
例えば、表レイアウト生成部33が生成したスプレッドシート内において、セルを選択するカーソルを上下移動させる場合を考える。図7を参照すると、物理的な配置では、Cell(3,2)の下にCell(4,3)が位置していることになる。そのため、Cell(3,2)を示すカーソルを下に一つ移動させると、カーソルはCell(4,3)に移動するとも考えられる。しかしながら、本実施形態における表レイアウト生成部33は、物理的な配置に依存せず同一の列に位置するセルを対応付けて扱うことが出来るようにスプレッドシートを生成する。そのため、Cell(3,2)を示すカーソルを下に一つ移動させると、同一列である列2に位置し行3の一つ下の行である行4に位置するCell(4,2)にカーソルが移動することになる。
このように、表レイアウト生成部33は、セルを選択するカーソルを上下移動する際に同一列をトレースすることが可能なスプレッドシートを生成する。また、表レイアウト生成部33が生成するスプレッドシートは、カーソルを左右に移動させると、同一行をトレースするように移動する。つまり、表レイアウト生成部33は、下記のような挙動をすることが可能なスプレッドシートを生成する。
・カーソルの上下移動:同一列をトレースする移動
上への移動:Cell(i,j)⇒Cell(i−1,j)
下への移動:Cell(i,j)⇒Cell(i+1,j)
・カーソルの左右移動:同一行をトレースする移動
左への移動:Cell(i,j)⇒Cell(i,j−1)
右への移動:Cell(i,j)⇒Cell(i,J+1)
また、上記のように、表レイアウト生成部33が生成するスプレッドシートは、物理的な配置に依存せず同一の列に位置するセルを対応付けて扱うことが出来るよう構成される。そのため、列を指定したソート処理(昇順、降順など)やフィルタ処理を行う際には、各行の同一列の集合に対して実施することになる。つまり、各行、列の物理的な配置に依存せずソート処理やフィルタ処理などを行うことが出来るように、表レイアウト生成部33はスプレッドシートを生成していることになる。
入力部4は、キーボードやタッチパネルなどの入力装置である。入力部4は、セル情報記憶部21が記憶するデータ内容や表レイアウト記憶部が記憶する各種情報を修正する際などに利用されることになる。
表示部5は、ディスプレイなどの出力装置である。表示部5には、表レイアウト生成部33が生成したスプレッドシートが表示されることになる。
以上が、スプレッドシート生成システム1の構成である。次に、スプレッドシート生成システム1の動作の一例について説明する。
図8を参照すると、まず行の横幅配分手段31(又は、表レイアウト生成手段33)が1行分のデータ内容をセル情報記憶部21から取得する(S101)。
次に、行の横幅配分手段31が、上記取得した各セルのデータ量に応じて当該各セルの横幅(列幅)を算出する(S102)。なお、各セルの横幅を算出する際の動作の詳細については後述する。
続いて、行の高さ決定手段32が、行の横幅配分手段31による算出結果を受けて、各行ごとの行の高さを決定する(S103)。
例えば、行の高さ決定手段32は、行の横幅配分手段31による算出結果を取得する。また、行の高さ決定手段32は、行の横幅配分手段31又はセル情報記憶部21から、同一行の各セルのデータ内容(データ内容に応じたデータ量)を取得する。続いて、行の高さ決定手段32は、取得した算出結果(各セルに配分される横幅)と、各セルのデータ量と、に基づいて、各セルに必要となる行の高さをそれぞれ算出する。そして、行の高さ決定手段32は、当該算出した同一行の各セルの行の高さのうち高さが最大となる行の高さを、当該各セルが属する行の高さであるとして決定する。
上記行の横幅配分手段31による横幅の算出及び行の高さ決定手段32による行の高さの決定は、スプレッドシートに含まれるすべての行について実施されることになる。つまり、生成するスプレッドシートに含まれる全ての行についてまだ上記処理を行っていない場合(残りの行がある場合)は、再度1行分のデータ内容を取得して各セルの横幅の算出及び行の高さの算出を行う(S104、YES)。一方、生成するスプレッドシートに含まれる全ての行について上記処理を行った場合(残りの行がない場合)は(S104、NO)、表レイアウト生成手段33は、スプレッドシートを例えば表示部5に出力する(S105)。
なお、表レイアウト生成手段33が生成するスプレッドシートは、物理的な配置に依存せず同一の列に位置するセルを対応付けて扱うことが出来るよう構成されることになる。
また、表レイアウト生成手段33は、例えばスプレッドシートを生成した段階で、各セルの横幅情報や各行の高さ情報を表レイアウト記憶部22に記憶することが出来る。各セルの横幅情報や各行の高さ情報は、行の横幅配分手段31や行の高さ決定手段32が横幅の算出や行の高さの決定を行ったタイミングで表レイアウト記憶部22に記憶するように構成しても構わない。
以上が、スプレッドシート生成システム1の動作の一例である。次に、セルの横幅を算出する際の動作の一例について説明する。
図9を参照すると、行の横幅配分手段31は、まず、1行分のデータ内容をセル情報記憶部21から取得する(S201)。また、行の横幅配分手段31は、表の横幅情報を表レイアウト記憶部22から取得する(S202)。
続いて、行の横幅配分手段31は、取得した各セルのデータ量から各セルそれぞれのデータ量が同一の行に位置するセル全体のデータ量に占める割合を算出する(S203)。そして、行の横幅配分手段31は、当該算出した割合に応じて前記横幅情報が示す横幅をセルごとに配分する(S204)。
なお、行の横幅配分手段31は、上記横幅を配分する際には、各セルの横幅が最低でも1文字以上になるようにする。つまり、行の横幅配分手段31は、セルのデータ量が0の場合でも、行の列数が減らないように、最小限の横幅を確保することになる。
以上が、セルの横幅を算出する際の動作の一例である。
このように、本実施形態におけるスプレッドシート生成システム1は、行の横幅配分手段31を備えている。また、表レイアウト記憶部22が表の横幅情報を記憶している。このような構成により、行の横幅配分手段31は、同一行に位置する各セルのデータ量に応じて、横幅を配分することが出来る。つまり、データ量の多いセルは広い横幅を有する一方で、データ量の少ないセルの横幅は相応のものとなる。その結果、各セルにデータ内容を配置した際に空白部分を減らすことが出来るようになる。また、同じ面積でより多くの情報を記載可能なスプレッドシートを生成することが出来るようになる。さらに、このようにスプレッドシートを生成することで、例えば、スプレッドシートを印刷する際に必要となる印刷ページを減らすことが出来る。また、例えば文字サイズの縮小を行わずに印刷などを行うことが可能となる。
また、本実施形態における表レイアウト生成手段33は、スプレッドシートを構成する各セルを、行の横幅配分手段31による算出前の元の列番号に位置するセルとして扱うことが出来るように、スプレッドシートを生成する。つまり、表レイアウト生成手段33は、物理的な配置に依存せず同一の列に位置するセルを対応付けて扱うことが出来るようスプレッドシートを生成する。このような構成により、例えば、同一列の各セルの横幅が異なっていたとしても、物理的な配置に依存しないで列ごとにソートやフィルタなどの操作を行うことが出来るようになる。また、例えば、カーソルの上下移動が、物理的な配置によらず、同一列をトレースするように制御することが出来るようになる。その結果、スプレッドシートとしての操作性を維持したまま、データ量に応じて横幅を算出したスプレッドシートを生成することが出来るようになる。
ここで、本発明に関連する一般的なスプレッドシート生成システムの動作の一例について説明する。図10を参照すると、本発明に関連するスプレッドシート生成システムでは、各セルの横幅の算出を行わず、表レイアウト記憶部22が記憶する各列の横幅情報から各列の横幅を取得してスプレッドシートを生成する(S301)。つまり、本発明に関連するスプレッドシート生成システムでは、同一列の横幅は全行で同一となることになる。
その結果、本発明に関連するスプレッドシート生成システムは、例えば図11で示すようなスプレッドシートを生成することになる。図11で示すスプレッドシートの各セルが記憶するデータ量は、上述した(図6で示した)スプレッドシート生成システム1が生成するスプレッドシートの各セルが記憶するデータ量と同一である。しかしながら、上記説明したように、本発明に関連するスプレッドシート生成システムでは、各セルのデータ量に依存せず各列で同一の横幅のスプレッドシートを生成する。そのため、特にデータ量の少ないセルにおいて(図11の場合では、文字「あ」10文字のセル)、空白の部分(デッドスペース)が目立つことになる。また、その結果として、本発明に関連するスプレッドシート生成システムが生成するスプレッドシートは、同じ面積で記載可能な情報の量が上述したスプレッドシート生成システム1が生成するスプレッドシートと比較して少なくなることになる。例えば、図6及び図11を参照すると、本実施形態におけるスプレッドシート生成システム1が生成するスプレッドシート全体に必要な高さが12行である一方で、本発明に関連するスプレッドシート生成システムが生成するスプレッドシート全体に必要な高さは21行になることになる。
なお、本実施形態においては、スプレッドシート生成システム1が、記憶装置2と制御装置3とを備える場合について説明した。しかしながら、スプレッドシート生成システム1は、記憶部と制御部とを備える1つの情報処理装置により実現されても構わない。このように、本発明は、スプレッドシート生成システム1が記憶装置2と制御装置3とを備える場合に限られず実施可能である。
また、図12を参照すると、制御装置3は、例えば、表操作制御部34を有することが出来る。表操作制御部34は、上述した列を指定したソート処理(昇順、降順など)やフィルタ処理、カーソルの移動を実行する機能を有している。上述したように、表操作制御部34は、スプレッドシートを構成する各セルの物理的な配置に依存せず同一の列に位置するセルを対応付けて扱うことになる。上記所定の処理は、例えば、入力部4を介して入力されることになる。
また、スプレッドシート生成システム1は、各セルの横幅を算出してスプレッドシートを生成する場合と、各セルの横幅を算出せず表の横幅情報を取得してスプレッドシートを生成する場合と、を切り替えることが出来るように構成しても構わない。このようにスプレッドシート生成システム1が切替機能を有することで、例えば、データ量等に応じて生成するスプレッドシートの種類を柔軟に変更することが可能となる。
また、本実施形態では、表レイアウト生成手段33がスプレッドシートを生成する場合について説明した。しかしながら、本発明の表レイアウトは、スプレッドシートプログラム以外に適用することも考えられる。本発明の表レイアウトは、例えば、文書作成ソフトウェア(Word、PowerPointなど)やWeb画面表示(HTML Table)などに適用しても構わない。
[第2の実施形態]
次に本発明の第2の実施形態について図面を参照して説明する。第2の実施形態では、スプレッドシートを生成する表レイアウト生成装置6について説明する。なお、本実施形態では、表レイアウト生成装置6の構成の概略について説明する。
図13を参照すると、本実施形態における表レイアウト生成装置6は、列幅算出部61と、行高決定部62と、表レイアウト生成部63と、を有している。
列幅算出部61は、同一の行に位置する各セルのデータ量に応じて、当該各セルの列幅を算出する機能を有している。
行高決定部62は、列幅算出部61により算出された列幅の各セルについて、当該各セルに配置されるデータ量に応じた行の高さをそれぞれ算出し、当該算出した各セルの行の高さに応じて同一の行に位置するセルの行の高さを決定する機能を有している。行高決定部62は、まず、列幅算出部61による算出結果(各セルの列幅)を取得する。続いて、行高決定部62は、取得した各セルの列幅と各セルに配置されるデータ量とに基づいて、各セルの行の高さを算出する。そして、行高決定部62は、算出した各セルの行の高さに応じて同一の行に位置するセルの行の高さを決定する。行高決定部62は、例えば、算出した各セルの行の高さのうち高さが最大となる行の高さを、当該各セルが属する行の高さであるとして決定することになる。
表レイアウト生成部63は、列幅算出部61により算出される列幅と、行高決定部62により決定される各行ごとの行の高さと、各セルのデータ内容と、に従って表レイアウトを生成する機能を有している。表レイアウト生成部63は、まず、列幅算出部61から各セルの列幅を取得する。また、表レイアウト生成部63は、行高決定部62から各行ごとの行の高さを取得する。また、表レイアウト生成部63は、各セルのデータ内容を取得する。そして、表レイアウト生成部63は、取得した列幅と、行の高さと、データ内容と、に従って表レイアウトを生成する。
このように、本実施形態における表レイアウト生成装置6は列幅算出部61を有している。このような構成により、列幅算出部61は、同一の行に位置する各セルのデータ量に応じて、当該各セルの列幅を算出することが出来る。つまり、同一の行に位置する各セルの列幅は、各セルのデータ量に応じたものになる。その結果、同一列の各セルのデータ量が異なる場合に空白部分を減らした表レイアウトを生成することが出来る。
また、上述した表レイアウト生成装置6は、当該表レイアウト生成装置6に所定のプログラムが組み込まれることで実現できる。具体的に、本発明の他の形態であるプログラムは、表レイアウト生成装置に、同一の行に位置する各セルのデータ量に応じて、当該各セルの列幅を算出する列幅算出部と、列幅算出部により算出された列幅の各セルについて、当該各セルに配置されるデータ量に応じた行の高さをそれぞれ算出し、当該算出した各セルの行の高さに応じて同一の行に位置するセルの行の高さを決定する行高決定部と、列幅算出部により算出される列幅と、行高決定部により決定される各行ごとの行高と、各セルのデータ内容と、に従って表レイアウトを生成する表レイアウト生成部と、を実現させるためのプログラムである。
また、上述した表レイアウト生成装置6が作動することにより実行される表レイアウト生成方法は、同一の行に位置する各セルのデータ量に応じて、当該各セルの列幅を変更し、各セルに配置されるデータ量に応じた行の高さをそれぞれ算出し、当該算出した各セルの行の高さに応じて同一の行に位置するセルの行の高さを決定し、列幅と、各行ごとの行高と、各セルのデータ内容と、に従って表レイアウトを生成する、というものである。
上述した構成を有する、プログラム、又は、表レイアウト生成方法、の発明であっても、上記表レイアウト生成装置と同様の作用を有するために、上述した本発明の目的を達成することが出来る。
[第3の実施形態]
次に本発明の第3の実施形態について図面を参照して説明する。第3の実施形態では、スプレッドシートを生成する表レイアウト生成システム7について説明する。なお、本実施形態では、表レイアウト生成システム7の構成の概略について説明する。
図14を参照すると、本実施形態における表レイアウト生成システム7は、記憶装置8と、制御装置9と、を有している。
記憶装置8は、ハードディスクなどで構成されるストレージ装置である。図14で示すように、記憶装置8は、表レイアウト記憶部81を有している。
表レイアウト記憶部81は、表レイアウト全体の横幅を示す横幅情報を記憶する。後述するように、表レイアウト記憶部81が記憶する横幅情報は、列幅算出部91で用いられることになる。
制御装置9は情報処理装置である。制御装置9は、図示しない中央演算装置(CPU)と、記憶装置(メモリ及びハードディスク)と、を備えている。制御装置9は、記憶装置が備えるプログラムをCPUが実行することで、後述する機能を実現するように構成されている。
図14で示すように、制御装置9は、列幅算出部91と、行高決定部92と、表レイアウト生成部93と、しての機能を有している。
列幅算出部91は、同一の行に位置する各セルのデータ量に応じて、当該各セルの列幅を算出する。具体的には、列幅算出部91は、表レイアウト記憶部81が記憶する横幅情報が示す横幅を、同一の行に位置する各セルのデータ量に応じてセルごとに分配することで、各セルの列幅を算出する。列幅算出部91が算出した列幅は、行高決定部92及び表レイアウト生成部93で用いられることになる。
行高決定部92は、列幅算出部91により算出された列幅の各セルについて、当該各セルに配置されるデータ量に応じた行の高さをそれぞれ算出し、当該算出した各セルの行の高さに応じて同一の行に位置するセルの行の高さを決定する。行高決定部92が決定した各行の高さは、表レイアウト生成部93で用いられることになる。
表レイアウト生成部93は、列幅算出部91により算出される列幅と、行高決定部92により決定される各行ごとの行高と、各セルのデータ内容と、に従って表レイアウトを生成する。
このように、本実施形態における表レイアウト生成システム7は列幅算出部91を有している。また、表レイアウト記憶部81が横幅情報を記憶している。このような構成により、列幅算出部91は、同一行に位置する各セルのデータ量に応じて、横幅を配分することが出来る。つまり、データ量の多いセルは広い横幅を有する一方で、データ量の少ないセルの横幅は相応のものとなる。その結果、同一列の各セルのデータ量が異なる場合に空白部分を減らした表レイアウトを生成することが出来る。
<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明における表レイアウト生成装置などの概略を説明する。但し、本発明は、以下の構成に限定されない。
(付記1)
同一の行に位置する各セルのデータ量に応じて、当該各セルの列幅を算出する列幅算出部と、
前記列幅算出部により算出された列幅の各セルについて、当該各セルに配置される前記データ量に応じた行の高さをそれぞれ算出し、当該算出した各セルの行の高さに応じて同一の行に位置するセルの行の高さを決定する行高決定部と、
前記列幅算出部により算出される列幅と、前記行高決定部により決定される各行ごとの行の高さと、前記各セルのデータ内容と、に従って表レイアウトを生成する表レイアウト生成部と、
を備える表レイアウト生成装置。
この構成によると、表レイアウト生成装置が列幅算出手段を備えている。このような構成により、表レイアウト生成装置は、同一の行に位置する各セルのデータ量に応じて、当該各セルの列幅を算出することが出来る。つまり、同一の行に位置する各セルの列幅は、各セルのデータ量に応じたものになる。その結果、表レイアウト生成装置は、同一列の各セルのデータ量が異なる場合に空白部分を減らした表レイアウトを生成することが出来る。
(付記2)
付記1に記載の表レイアウト生成装置であって、
前記表レイアウト全体の横幅を示す横幅情報を記憶する表レイアウト記憶部を備え、
前記列幅算出部は、前記表レイアウト記憶部が記憶する前記横幅情報が示す横幅を同一の行に位置する各セルのデータ量に応じてセルごとに分配することで、前記各セルの列幅を算出する、
表レイアウト生成装置。
この構成によると、表レイアウト生成装置が表レイアウト記憶部を備えている。また、表レイアウト記憶部は、横幅情報を記憶している。このような構成により、表レイアウト生成装置は、同一行に位置する各セルのデータ量に応じて、横幅情報が示す横幅を配分することが出来る。その結果、表レイアウト生成装置は、同一列の各セルのデータ量が異なる場合に空白部分を減らした表レイアウトを生成することが出来る。
(付記3)
付記2に記載の表レイアウト生成装置であって、
前記列幅算出部は、同一の行に位置する各セルのデータ量から各セルそれぞれのデータ量が同一の行に位置するセル全体のデータ量に占める割合を算出し、当該算出した割合に応じて前記横幅情報が示す横幅をセルごとに分配する、
表レイアウト生成装置。
(付記4)
付記1乃至3の何れかに記載の表レイアウト生成装置であって、
前記表レイアウト生成部は、当該表レイアウト生成部により生成された前記表レイアウトを構成する各セルを、生成前の列番号に位置するセルとして扱うよう構成された、
表レイアウト生成装置。
この構成によると、表レイアウト生成部は、当該表レイアウト生成部により生成された表レイアウトを構成する各セルを、列幅算出部による算出前の元の列番号に位置するセルとして扱うよう構成されている。つまり、表レイアウト生成部が生成する表レイアウトは、物理的な配置に依存せず同一の列に位置するセルを対応付けて扱うことが出来るよう生成されることになる。このような構成により、例えばカーソルの移動処理やソート処理、フィルタ処理などを行う際に、各行の同一列の集合に対して実施することが出来るようになる。その結果、スプレッドシートプログラムとしての操作性を維持したまま、空白部分を減らした表レイアウトを生成することが出来る。
(付記5)
付記4に記載の表レイアウト生成装置であって、
入力された操作に応じて所定の処理を行う表操作制御部を備え、
前記表操作制御部は、前記表レイアウト生成部が生成した前記表レイアウトを構成する各セルを前記生成前の列番号に位置するセルとして前記操作に応じた所定の処理を行う、
表レイアウト生成装置。
(付記5−1)
付記5に記載の表レイアウト生成装置であって、
前記表操作制御部は、前記所定の処理として、前記生成前の列番号に位置するセルとして列を指定したソート処理を実施可能なよう構成された、
表レイアウト生成装置。
(付記5−2)
付記5又は5−1に記載の表レイアウト生成装置であって、
前記表操作制御部は、前記所定の処理として、前記生成前の列番号に位置するセルとして列を指定したフィルタ処理を実施可能なよう構成された、
表レイアウト生成装置。
(付記5−3)
付記5乃至5−2の何れかに記載の表レイアウト生成装置で合って、
前記表操作制御部は、前記所定の処理として、前記生成前の列番号に位置するセルとして同一列をトレースするように表レイアウト中の所定のセルを選択するカーソルを上下移動させることが出来るよう構成された、
表レイアウト生成装置。
(付記6)
付記1乃至5の何れかに記載の表レイアウト生成装置であって、
前記データ内容を記憶するセル情報記憶部を備え、
前記表レイアウト生成部は、前記列幅変更部により変更される列幅と、前記行高決定部により決定される各行ごとの行高と、前記セル情報記憶部が記憶するデータ内容と、に基づいて前記表レイアウトを生成する、
表レイアウト生成装置。
(付記7)
同一の行に位置する各セルのデータ量に応じて、当該各セルの列幅を変更し、
前記各セルに配置される前記データ量に応じた行の高さをそれぞれ算出し、当該算出した各セルの行の高さに応じて同一の行に位置するセルの行の高さを決定し、
前記列幅と、前記各行ごとの行高と、前記各セルのデータ内容と、に従って表レイアウトを生成する、
表レイアウト生成方法。
(付記8)
付記7に記載の表レイアウト生成方法であって、表レイアウト全体の横幅を同一の行に位置する各セルのデータ量に応じて分配することで、前記各セルの列幅を変更する、
表レイアウト生成方法。
(付記8−1)
付記8に記載の表レイアウト生成方法であって、
同一の行に位置する各セルのデータ量から各セルそれぞれのデータ量が同一の行に位置するセル全体のデータ量に占める割合を算出し、当該算出した割合に応じて前記横幅情報が示す横幅をセルごとに分配することで、前記各セルの列幅を変更する、
表レイアウト生成方法。
(付記9)
表レイアウト生成装置に、
同一の行に位置する各セルのデータ量に応じて、当該各セルの列幅を算出する列幅算出部と、
前記列幅算出部により算出された列幅の各セルについて、当該各セルに配置される前記データ量に応じた行の高さをそれぞれ算出し、当該算出した各セルの行の高さに応じて同一の行に位置するセルの行の高さを決定する行高決定部と、
前記列幅算出部により算出される列幅と、前記行高決定部により決定される各行ごとの行高と、前記各セルのデータ内容と、に従って表レイアウトを生成する表レイアウト生成部と、
を実現させるためのプログラム。
(付記9−1)
付記9に記載のプログラムであって、
前記表レイアウト全体の横幅を示す横幅情報を記憶する表レイアウト記憶部を実現させ、
前記列幅算出部は、前記表レイアウト記憶部が記憶する前記横幅情報が示す横幅を同一の行に位置する各セルのデータ量に応じてセルごとに分配することで、前記各セルの列幅を算出する、
プログラム。
(付記10)
同一の行に位置する各セルのデータ量に応じて、当該各セルの列幅を算出する列幅算出部と、
前記列幅算出部により算出された列幅の各セルについて、当該各セルに配置される前記データ量に応じた行の高さをそれぞれ算出し、当該算出した各セルの行の高さに応じて同一の行に位置するセルの行の高さを決定する行高決定部と、
前記列幅算出部により算出される列幅と、前記行高決定部により決定される各行ごとの行高と、前記各セルのデータ内容と、に従って表レイアウトを生成する表レイアウト生成部と、
を備える制御装置と、
前記表レイアウト全体の横幅を示す横幅情報を記憶する表レイアウト記憶部を備える記憶装置と、を備え、
前記列幅算出部は、前記表レイアウト記憶部が記憶する前記横幅情報が示す横幅を同一の行に位置する各セルのデータ量に応じてセルごとに分配することで、前記各セルの列幅を算出する、
表レイアウト生成システム。
(付記10−1)
付記10に記載の表レイアウト生成システムであって、
前記列幅変更部は、同一の行に位置する各セルのデータ量から各セルそれぞれのデータ量が同一の行に位置するセル全体のデータ量に占める割合を算出し、当該算出した割合に応じて前記横幅情報が示す横幅をセルごとに分配する、
表レイアウト生成装置。
なお、上記各実施形態及び付記において記載したプログラムは、記憶装置に記憶されていたり、コンピュータが読み取り可能な記録媒体に記録されている。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
以上、上記各実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることが出来る。
1 スプレッドシート生成システム
2 記憶装置
21 セル情報記憶部
22 表レイアウト記憶部
3 制御装置
31 行の横幅配分手段
32 行の高さ決定手段
33 表レイアウト生成手段
34 表操作制御部
4 入力部
5 表示部
6 表レイアウト生成装置
61 列幅算出部
62 行高決定部
63 表レイアウト生成部
7 表レイアウト生成システム
8 記憶装置
81 表レイアウト記憶部
9 制御装置
91 列幅算出部
92 行高決定部
93 表レイアウト生成部

Claims (10)

  1. 同一の行に位置する各セルのデータ量に応じて、当該各セルの列幅を算出する列幅算出部と、
    前記列幅算出部により算出された列幅の各セルについて、当該各セルに配置される前記データ量に応じた行の高さをそれぞれ算出し、当該算出した各セルの行の高さに応じて同一の行に位置するセルの行の高さを決定する行高決定部と、
    前記列幅算出部により算出される列幅と、前記行高決定部により決定される各行ごとの行の高さと、前記各セルのデータ内容と、に従って表レイアウトを生成する表レイアウト生成部と、
    を備える表レイアウト生成装置。
  2. 請求項1に記載の表レイアウト生成装置であって、
    前記表レイアウト全体の横幅を示す横幅情報を記憶する表レイアウト記憶部を備え、
    前記列幅算出部は、前記表レイアウト記憶部が記憶する前記横幅情報が示す横幅を同一の行に位置する各セルのデータ量に応じてセルごとに分配することで、前記各セルの列幅を算出する、
    表レイアウト生成装置。
  3. 請求項2に記載の表レイアウト生成装置であって、
    前記列幅算出部は、同一の行に位置する各セルのデータ量から各セルそれぞれのデータ量が同一の行に位置するセル全体のデータ量に占める割合を算出し、当該算出した割合に応じて前記横幅情報が示す横幅をセルごとに分配する、
    表レイアウト生成装置。
  4. 請求項1乃至3の何れかに記載の表レイアウト生成装置であって、
    前記表レイアウト生成部は、当該表レイアウト生成部により生成された前記表レイアウトを構成する各セルを、生成前の列番号に位置するセルとして扱うよう構成された、
    表レイアウト生成装置。
  5. 請求項4に記載の表レイアウト生成装置であって、
    入力された操作に応じて所定の処理を行う表操作制御部を備え、
    前記表操作制御部は、前記表レイアウト生成部が生成した前記表レイアウトを構成する各セルを前記生成前の列番号に位置するセルとして前記操作に応じた所定の処理を行う、
    表レイアウト生成装置。
  6. 請求項1乃至5の何れかに記載の表レイアウト生成装置であって、
    前記データ内容を記憶するセル情報記憶部を備え、
    前記表レイアウト生成部は、前記列幅変更部により変更される列幅と、前記行高決定部により決定される各行ごとの行高と、前記セル情報記憶部が記憶するデータ内容と、に基づいて前記表レイアウトを生成する、
    表レイアウト生成装置。
  7. 同一の行に位置する各セルのデータ量に応じて、当該各セルの列幅を変更し、
    前記各セルに配置される前記データ量に応じた行の高さをそれぞれ算出し、当該算出した各セルの行の高さに応じて同一の行に位置するセルの行の高さを決定し、
    前記列幅と、前記各行ごとの行高と、前記各セルのデータ内容と、に従って表レイアウトを生成する、
    表レイアウト生成方法。
  8. 請求項7に記載の表レイアウト生成方法であって、表レイアウト全体の横幅を同一の行に位置する各セルのデータ量に応じて分配することで、前記各セルの列幅を変更する、
    表レイアウト生成方法。
  9. 表レイアウト生成装置に、
    同一の行に位置する各セルのデータ量に応じて、当該各セルの列幅を算出する列幅算出部と、
    前記列幅算出部により算出された列幅の各セルについて、当該各セルに配置される前記データ量に応じた行の高さをそれぞれ算出し、当該算出した各セルの行の高さに応じて同一の行に位置するセルの行の高さを決定する行高決定部と、
    前記列幅算出部により算出される列幅と、前記行高決定部により決定される各行ごとの行高と、前記各セルのデータ内容と、に従って表レイアウトを生成する表レイアウト生成部と、
    を実現させるためのプログラム。
  10. 同一の行に位置する各セルのデータ量に応じて、当該各セルの列幅を算出する列幅算出部と、
    前記列幅算出部により算出された列幅の各セルについて、当該各セルに配置される前記データ量に応じた行の高さをそれぞれ算出し、当該算出した各セルの行の高さに応じて同一の行に位置するセルの行の高さを決定する行高決定部と、
    前記列幅算出部により算出される列幅と、前記行高決定部により決定される各行ごとの行高と、前記各セルのデータ内容と、に従って表レイアウトを生成する表レイアウト生成部と、
    を備える制御装置と、
    前記表レイアウト全体の横幅を示す横幅情報を記憶する表レイアウト記憶部を備える記憶装置と、を備え、
    前記列幅算出部は、前記表レイアウト記憶部が記憶する前記横幅情報が示す横幅を同一の行に位置する各セルのデータ量に応じてセルごとに分配することで、前記各セルの列幅を算出する、
    表レイアウト生成システム。
JP2014042811A 2014-03-05 2014-03-05 表レイアウト生成装置 Active JP6354214B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014042811A JP6354214B2 (ja) 2014-03-05 2014-03-05 表レイアウト生成装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014042811A JP6354214B2 (ja) 2014-03-05 2014-03-05 表レイアウト生成装置

Publications (2)

Publication Number Publication Date
JP2015170011A true JP2015170011A (ja) 2015-09-28
JP6354214B2 JP6354214B2 (ja) 2018-07-11

Family

ID=54202728

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014042811A Active JP6354214B2 (ja) 2014-03-05 2014-03-05 表レイアウト生成装置

Country Status (1)

Country Link
JP (1) JP6354214B2 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017058552A (ja) * 2015-09-17 2017-03-23 日本電産コパル株式会社 撮像装置、光学機器及び電子機器、並びに撮像装置の製造方法
CN107066439A (zh) * 2017-04-07 2017-08-18 广州市玄武无线科技股份有限公司 一种定制表格控件的方法、装置及电子设备
JP2017157078A (ja) * 2016-03-03 2017-09-07 株式会社プロフィールド 表情報処理装置、表情報処理方法およびプログラム
CN113268949A (zh) * 2021-06-23 2021-08-17 深圳平安智汇企业信息管理有限公司 基于动态字段的表格展示方法、装置、计算机设备及介质
CN114004203A (zh) * 2021-10-25 2022-02-01 杭州网易竹书信息技术有限公司 一种表格调整方法、装置、电子设备及存储介质
CN116341506A (zh) * 2023-05-25 2023-06-27 广东杰纳医药科技有限公司 一种迭代计算表格列宽的方法
CN116451668A (zh) * 2023-06-15 2023-07-18 平安银行股份有限公司 用于数字资负业务的报表生成方法、装置、设备及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0660066A (ja) * 1992-08-05 1994-03-04 Matsushita Electric Ind Co Ltd 表作成装置
JPH08147127A (ja) * 1994-11-25 1996-06-07 Matsushita Electric Works Ltd スプレッドシート表示方法およびその装置
JPH08235162A (ja) * 1995-02-24 1996-09-13 Sanyo Electric Co Ltd 文書作成装置
JPH1055397A (ja) * 1996-08-13 1998-02-24 Fuji Xerox Co Ltd 表割付装置
JP2003108912A (ja) * 2001-09-27 2003-04-11 Sanyo Electric Co Ltd 作表方法及び作表用装置
JP2007115024A (ja) * 2005-10-20 2007-05-10 Hitachi Software Eng Co Ltd テーブルの列幅自動調整方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0660066A (ja) * 1992-08-05 1994-03-04 Matsushita Electric Ind Co Ltd 表作成装置
JPH08147127A (ja) * 1994-11-25 1996-06-07 Matsushita Electric Works Ltd スプレッドシート表示方法およびその装置
JPH08235162A (ja) * 1995-02-24 1996-09-13 Sanyo Electric Co Ltd 文書作成装置
JPH1055397A (ja) * 1996-08-13 1998-02-24 Fuji Xerox Co Ltd 表割付装置
JP2003108912A (ja) * 2001-09-27 2003-04-11 Sanyo Electric Co Ltd 作表方法及び作表用装置
JP2007115024A (ja) * 2005-10-20 2007-05-10 Hitachi Software Eng Co Ltd テーブルの列幅自動調整方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017058552A (ja) * 2015-09-17 2017-03-23 日本電産コパル株式会社 撮像装置、光学機器及び電子機器、並びに撮像装置の製造方法
JP2017157078A (ja) * 2016-03-03 2017-09-07 株式会社プロフィールド 表情報処理装置、表情報処理方法およびプログラム
CN107066439A (zh) * 2017-04-07 2017-08-18 广州市玄武无线科技股份有限公司 一种定制表格控件的方法、装置及电子设备
CN107066439B (zh) * 2017-04-07 2024-04-19 广州市玄武无线科技股份有限公司 一种定制表格控件的方法、装置及电子设备
CN113268949A (zh) * 2021-06-23 2021-08-17 深圳平安智汇企业信息管理有限公司 基于动态字段的表格展示方法、装置、计算机设备及介质
CN114004203A (zh) * 2021-10-25 2022-02-01 杭州网易竹书信息技术有限公司 一种表格调整方法、装置、电子设备及存储介质
CN116341506A (zh) * 2023-05-25 2023-06-27 广东杰纳医药科技有限公司 一种迭代计算表格列宽的方法
CN116341506B (zh) * 2023-05-25 2023-08-25 广东杰纳医药科技有限公司 一种迭代计算表格列宽的方法
CN116451668A (zh) * 2023-06-15 2023-07-18 平安银行股份有限公司 用于数字资负业务的报表生成方法、装置、设备及介质

Also Published As

Publication number Publication date
JP6354214B2 (ja) 2018-07-11

Similar Documents

Publication Publication Date Title
JP6354214B2 (ja) 表レイアウト生成装置
CN104506951B (zh) 一种文字输入方法、装置及智能终端
CN101140516A (zh) 一种动态布局界面元素的方法和系统
CN102722475A (zh) 一种PDF文档中的表格转换成Excel表格的方法
CN101739223B (zh) 一种通过虚拟打印实现文档格式转换的方法及系统
CN101699394A (zh) 一种自动生成用户界面的方法及装置
CN102043586B (zh) 电子表格中的背景色显示方法和装置
CN103197925A (zh) 单据展现装置和单据展现方法
CN106095157A (zh) 触摸屏显示设备
JPWO2012101701A1 (ja) UI(UserInterface)作成支援装置、UI作成支援方法及びプログラム
US20100127982A1 (en) Apparatus for Processing Input Data
JP2008141496A (ja) 文書編集装置およびプログラム
JP2023005925A (ja) デザイン作成システム、コンピュータプログラム
KR102162136B1 (ko) 가상현실을 이용한 주산교육 방법 및 그 장치
CN106687899A (zh) 信息处理装置及其控制方法和控制程序
JP2828301B2 (ja) グラフおよび表の制御表示処理装置
CN110806809A (zh) 一种带触摸屏和麦克风阵列的键盘及电子设备
CN116842928B (zh) 基于Web的电子模版设计方法、系统、设备及存储介质
CN101571882A (zh) 文字最小外轮廓的生成系统及方法
CN114661189B (zh) 电容笔的打码方法、系统、电容笔以及存储介质
JP2013229002A (ja) 情報端末、入力オブジェクト表示方法及び入力オブジェクト表示プログラム
JP2012123497A (ja) 画像表示制御装置ならびにその動作制御方法およびそのプログラム
JP3395226B2 (ja) データ出力装置
CN104571594A (zh) 一种汉字拼音输入方法
JPH08147127A (ja) スプレッドシート表示方法およびその装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171031

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171220

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180515

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180528

R150 Certificate of patent or registration of utility model

Ref document number: 6354214

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150