首页> 中国专利> 电子表格中的背景色显示方法和装置

电子表格中的背景色显示方法和装置

摘要

本发明实施例公开了一种电子表格中的背景色显示方法和装置,涉及电子办公领域,用于提高对电子表格中的单元格进行突出显示的效果。本发明中,确定用户选中的单元格区域后,确定由所述单元格区域所在行的单元格构成的第一待裁剪矩形区域以及由所述单元格区域所在列的单元格构成的第二待裁剪矩形区域;确定将第一待裁剪矩形区域和第二待裁剪矩形区域的重叠区域裁剪掉后剩余的待填充矩形区域;将所述待填充矩形区域中的单元格的背景色显示为预先设定的不同于其他未选中的单元格的背景色的颜色。采用本发明,能够有效提高对电子表格中的单元格进行突出显示的效果。

著录项

  • 公开/公告号CN102043586A

    专利类型发明专利

  • 公开/公告日2011-05-04

    原文格式PDF

  • 申请/专利权人 无锡永中软件有限公司;

    申请/专利号CN201010599312.0

  • 发明设计人 黄亮;

    申请日2010-12-21

  • 分类号G06F3/048(20060101);G06F17/21(20060101);

  • 代理机构11291 北京同达信恒知识产权代理有限公司;

  • 代理人黄志华

  • 地址 214135 江苏省无锡市无锡国家高新产业开发区震泽路18号无锡(国家)软件园金牛座D区5、6层

  • 入库时间 2023-12-18 02:26:11

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-04-05

    专利权人的姓名或者名称、地址的变更 IPC(主分类):G06F3/048 变更前: 变更后: 申请日:20101221

    专利权人的姓名或者名称、地址的变更

  • 2012-11-14

    授权

    授权

  • 2011-06-15

    实质审查的生效 IPC(主分类):G06F3/048 申请日:20101221

    实质审查的生效

  • 2011-05-04

    公开

    公开

说明书

技术领域

本发明涉及电子办公领域,尤其涉及一种电子表格中的背景色显示方法和装置。

背景技术

在目前的电子表格办公软件中,例如Excel中,当用户选中电子表格的某个单元格时,会将该单元格的背景色的颜色改变为不同于其他未选中单元格的背景色的颜色,并加粗、加黑该单元格的边框,以突出显示选中的单元格。

当用户通过拖拽鼠标选中电子表格中多个相邻的单元格时,会将这多个相邻单元格中的活动单元格的背景色的颜色改变为不同于其他未选中单元格的背景色的颜色,将这多个相邻单元格中的非活动单元格的背景色的颜色改变为不同于活动单元格的背景色和其他未选中单元格的背景色的颜色,并将这多个相邻的单元格构成的矩形区域的边框加粗、加黑,以突出显示该矩形区域。这里的活动单元格通常为鼠标拖拽过程中按下鼠标时鼠标所在的单元格,选中的其他单元格为非活动单元格。

在实现本发明的过程中,发明人发现现有技术中存在以下技术问题:

现有技术中,将选中的单元格进行突出显示,其突出显示的效果较差。

发明内容

本发明实施例提供一种电子表格中的背景色显示方法和装置,用于提高对电子表格中的单元格进行突出显示的效果。

一种电子表格中的背景色显示方法,该方法包括:

确定用户选中的单元格区域的位置信息;

根据所述单元格区域的位置信息,确定由所述单元格区域所在行的单元格构成的第一待裁剪矩形区域以及由所述单元格区域所在列的单元格构成的第二待裁剪矩形区域的位置信息;

根据第一待裁剪矩形区域和第二待裁剪矩形区域的位置信息,确定将第一待裁剪矩形区域和第二待裁剪矩形区域的重叠区域裁剪掉后剩余的待填充矩形区域的位置信息;

根据所述待填充矩形区域的位置信息,将所述待填充矩形区域中的单元格的背景色显示为与未选中的单元格的背景色不同的颜色。

一种电子表格中的背景色显示装置,该装置包括:

单元格区域位置确定单元,用于确定用户选中的单元格区域的位置信息;

待裁剪矩形区域确定单元,用于根据所述单元格区域的位置信息,确定由所述单元格区域所在行的单元格构成的第一待裁剪矩形区域以及由所述单元格区域所在列的单元格构成的第二待裁剪矩形区域的位置信息;

待填充矩形区域确定单元,用于根据第一待裁剪矩形区域和第二待裁剪矩形区域的位置信息,确定将第一待裁剪矩形区域和第二待裁剪矩形区域的重叠区域裁剪掉后剩余的待填充矩形区域的位置信息;

背景色显示单元,用于根据所述待填充矩形区域的位置信息,将所述待填充矩形区域中的单元格的背景色显示为与未选中的单元格的背景色不同的颜色。

本发明中,确定用户选中的单元格区域的位置信息后,根据所述单元格区域的位置信息,确定由所述单元格区域所在行的单元格构成的第一待裁剪矩形区域以及由所述单元格区域所在列的单元格构成的第二待裁剪矩形区域的位置信息;根据第一待裁剪矩形区域和第二待裁剪矩形区域的位置信息,确定将第一待裁剪矩形区域和第二待裁剪矩形区域的重叠区域裁剪掉后剩余的待填充矩形区域的位置信息;根据所述待填充矩形区域的位置信息,将所述待填充矩形区域中的单元格的背景色显示为不同于其他未选中的单元格的背景色的颜色。由于按照本发明确定的待填充矩形区域中包含与用户选中的单元格区域处于同一行的单元格以及与该单元格区域处于同一列的单元格,因此,将待填充矩形区域中的单元格的背景色显示为不同于其他未选中的单元格的背景色的颜色后,即达到了将与用户选中的单元格区域处于同一行的单元格、以及与该单元格区域处于同一列的单元格的背景色显示为不同于其他未选中的单元格的背景色的颜色的目的,有效提高了对电子表格中的单元格进行突出显示的效果。

附图说明

图1为本发明实施例提供的方法流程示意图;

图2A为本发明实施例一中的单元格区域示意图;

图2B为本发明实施例一中的待裁减矩形区域示意图;

图2C为本发明实施例一中的待填充矩形区域示意图;

图3A为本发明实施例二中的单元格区域示意图;

图3B为本发明实施例二中的待裁减矩形区域示意图;

图3C为本发明实施例二中的待填充矩形区域示意图;

图4A为本发明实施例三中的单元格区域示意图;

图4B为本发明实施例三中的待裁减矩形区域示意图;

图4C为本发明实施例三中的待填充矩形区域示意图;

图5A为本发明实施例四中的单元格区域示意图;

图5B为本发明实施例四中的待裁减矩形区域示意图;

图5C为本发明实施例四中的待填充矩形区域示意图;

图6为本发明实施例提供的装置结构示意图。

具体实施方式

为了提高对电子表格中的单元格进行突出显示的效果,本发明实施例提供一种电子表格中的背景色显示方法,本方法中,在用户选中单元格区域后,将与该单元格区域处于同一行的单元格、以及与该单元格区域处于同一列的单元格的背景色显示为不同于其他未选中的单元格的背景色的颜色。

参见图1,本发明实施例提供的电子表格中的背景色显示方法,具体包括以下步骤:

步骤10:确定用户选中的单元格区域的位置信息;

步骤11:根据所述单元格区域的位置信息,确定由所述单元格区域所在行的单元格构成的第一待裁剪矩形区域以及由所述单元格区域所在列的单元格构成的第二待裁剪矩形区域的位置信息;

步骤12:根据第一待裁剪矩形区域和第二待裁剪矩形区域的位置信息,确定将第一待裁剪矩形区域和第二待裁剪矩形区域的重叠区域裁剪掉后剩余的待填充矩形区域的位置信息;

步骤13:根据所述待填充矩形区域的位置信息,将所述待填充矩形区域中的单元格的背景色显示为预先设定的不同于用户未选中的单元格的背景色的颜色。

步骤10中,在用户选中的单元格区域包含一个单元格时,确定用户选中的单元格区域的位置信息的具体实现可以如下:

首先,获取用户在选取单元格区域时按下鼠标时的鼠标点坐标,根据该鼠标点坐标确定用户选中的单元格的行号和列号;

然后,根据用户选中的单元格的行号和列号,确定用户选中的单元格区域的顶点坐标,并将该顶点坐标作为用户选中的单元格区域的位置信息。

当然,用户也可以通过键盘选取单元格区域,此时,可以根据用户按下的键的位置确定选中的单元格区域的位置。

具体的,上述确定用户选中的单元格的行号和列号,其具体实现可以包括如下步骤A和步骤B:

A、将鼠标按下时的鼠标点坐标中的纵坐标与电子表格的第N行的行高相减,判断相减结果是否小于0,若是,则确定用户选中的单元格的行号为N;否则,将N的取值加1,并重复执行本步骤A,其中N的初始值为1;

B、将鼠标按下时的鼠标点坐标中的横坐标与所述电子表格的第M列的列宽相减,判断相减结果是否小于0,若是,则确定用户选中的单元格的列号为M;否则,将M的取值加1,并重复执行本步骤B,其中M的初始值为1。

上述根据所述行号和列号,确定用户选中的单元格区域的顶点坐标,并将该顶点坐标作为用户选中的单元格区域的位置信息,其具体实现可以如下:

首先,按照如下公式确定用户选中的单元格区域的左上顶点的横坐标x1和纵坐标y1

然后,将用户选中的单元格区域的左上顶点的横坐标x1、纵坐标y1以及所述电子表格的行高和列宽作为用户选中的单元格区域的位置信息。当然,也可以将单元格区域的右下顶点的横坐标x2、纵坐标y2以及所述电子表格的行高和列宽作为用户选中的单元格区域的位置信息,或者,将单元格区域的左上顶点的横坐标x1、纵坐标y1以及单元格区域的右下顶点的横坐标x2、纵坐标y2作为用户选中的单元格区域的位置信息,等等,只要该位置信息能够唯一确定单元格区域即可。

步骤10中,在所述单元格区域包含多个单元格时,确定用户选中的单元格区域的位置信息的具体实现可以如下:

首先,获取用户在选取单元格区域时按下鼠标时的第一鼠标点坐标以及释放鼠标时的第二鼠标点坐标,根据第一鼠标点坐标确定鼠标按下时鼠标点所在单元格的行号和列号;根据第二鼠标点坐标确定鼠标释放时鼠标点所在单元格的行号和列号;

然后,根据鼠标按下时鼠标点所在单元格的行号和列号、以及鼠标释放时鼠标点所在单元格的行号和列号,确定用户选中的单元格区域的顶点坐标,并将该顶点坐标作为用户选中的单元格区域的位置信息。

当然,用户也可以通过键盘选取单元格区域,此时,可以根据用户按下的键的位置确定选中的单元格区域的位置。

具体的,上述根据第一鼠标点坐标确定鼠标按下时鼠标点所在单元格的行号和列号,根据第二鼠标点坐标确定鼠标释放时鼠标点所在单元格的行号和列号,其具体实现可以包括如下步骤A-步骤D:

A、将第一鼠标点坐标中的纵坐标与电子表格的第N行行高相减,判断相减结果是否小于0,若是,则确定鼠标按下时鼠标点所在单元格的行号为N;否则,将N的取值加1,并重复执行本步骤A,其中N的初始值为1;

B、将第一鼠标点坐标中的横坐标与电子表格的第M列的列宽相减,判断相减结果是否小于0,若是,则确定鼠标按下时鼠标点所在单元格的列号为M;否则,将M的取值加1,并重复执行本步骤B,其中M的初始值为1;

C、将第二鼠标点坐标中的纵坐标与电子表格的第P行的行高相减,判断相减结果是否小于0,若是,则确定鼠标释放时鼠标点所在单元格的行号为P;否则,将P的取值加1,并重复执行本步骤C,其中P的初始值为1;

D、将第二鼠标点坐标中的横坐标与电子表格的第Q列的列宽相减,判断相减结果是否小于0,若是,则确定鼠标释放时鼠标点所在单元格的列号为Q;否则,将Q的取值加1,并重复执行本步骤D,其中Q的初始值为1。

需要说明的是,上述步骤A-步骤D之间并没有固定的时序关系,步骤A-步骤D的任何执行顺序均在本发明的保护范围内。

上述根据鼠标按下时鼠标点所在单元格的行号和列号、以及鼠标释放时鼠标点所在单元格的行号和列号,确定用户选中的单元格区域的顶点坐标,其具体实现可以如下:

首先,按照如下公式确定用户选中的单元格区域的左上顶点的横坐标x1和纵坐标y1、以及用户选中的单元格区域的右下顶点的横坐标x2和纵坐标y2

其中,a为鼠标按下时鼠标点所在单元格的列号与鼠标释放时鼠标点所在单元格的列号中的最小列号;b为鼠标按下时鼠标点所在单元格的行号与鼠标释放时鼠标点所在单元格的行号中的最小行号;c为鼠标按下时鼠标点所在单元格的列号与鼠标释放时鼠标点所在单元格的列号中的最大列号;b为鼠标按下时鼠标点所在单元格的行号与鼠标释放时鼠标点所在单元格的行号中的最大行号;

然后,将横坐标x1、纵坐标y1、横坐标x2和纵坐标y2作为用户选中的单元格区域的位置信息。当然,也可以将单元格区域的右上顶点的横纵坐标以及左下顶点的横纵坐标作为用户选中的单元格区域的位置信息,等等,只要该位置信息能够唯一确定单元格区域即可。

步骤11中,确定由所述单元格区域所在行的单元格构成的第一待裁剪矩形区域以及由所述单元格区域所在列的单元格构成的第二待裁剪矩形区域的位置信息,其具体实现可以如下:

确定第一待裁剪矩形区域的左上顶点的横坐标x3为电子表格的第一列单元格的左上顶点的横坐标,纵坐标y3为所述单元格区域的左上顶点的纵坐标;第一待裁剪矩形区域的右下顶点的横坐标x4为电子表格的最后一列单元格的右下顶点的横坐标,纵坐标y4为所述单元格区域的右下顶点的纵坐标;

确定第二待裁剪矩形区域的左上顶点的横坐标x5为所述单元格区域的左上顶点的横坐标,纵坐标y5为电子表格的第一行单元格的左上顶点的纵坐标;第二待裁剪矩形区域的右下顶点的横坐标x6为所述单元格区域的右下顶点的横坐标,纵坐标y6为电子表格的最后一行单元格的右下顶点的纵坐标。

具体的,可以按照如下公式计算x3、x4、y5、y6

e为单元格区域的左上单元格的列号;

f为单元格区域的右下单元格的列号,g为电子表格的最后一列单元格的列号;

h为单元格区域的左上单元格的行号;

j为单元格区域的右下单元格的行号,k为电子表格的最后一行单元格的行号。

步骤12中,确定将第一待裁剪矩形区域和第二待裁剪矩形区域的重叠区域裁剪掉后剩余的待填充矩形区域的位置信息,其具体实现可以如下:

调用矩形差集计算方法函数,将第一待裁剪矩形区域和第二待裁剪矩形区域的位置信息作为输入参数输入给该矩形差集计算方法函数;

执行所述矩形差集计算方法函数后,输出四个矩形区域的位置信息,将该四个矩形区域确定为待填充矩形区域。

上述矩形差集计算方法函数是编程语言中用于实现如下功能的方法函数:根据输入的多个矩形区域的位置信息,确定由该多个矩形区域所构成的多边形,在该多边形中将该多个矩形区域的重叠区域裁减掉,输出得到的剩余的矩形区域的位置信息。该矩形差集计算方法函数可以是java的工具类方法SwingUtilities.computeDifference()等。

步骤13中,将待填充矩形区域中的单元格的背景色显示为预先设置的颜色,其具体实现可以如下:

首先,获取预先设定的颜色信息;

然后,构建自由曲线对象,通过对象添加方法函数将所述待填充矩形区域的位置信息逐一添加到构建的自由曲线对象中;

最后,调用图形绘制方法函数,将所述自由曲线对象作为输入参数输入给该图形绘制方法函数,通过执行该图形绘制方法函数将所述待填充矩形区域中的单元格的背景色填充为所述颜色信息所表示的颜色。

上述图形绘制方法函数是能够实现图形绘制功能的函数,图形绘制功能包括对输入的闭合区域填充颜色、对输入的闭合区域绘制上加黑、加粗边框等。该图形绘制方法函数可以是Graphics2D的fill()方法等。

较佳的,若所述单元格区域包含一个单元格,则在将待填充矩形区域中的单元格的背景色显示为预先设定的颜色之后,可以将所述单元格区域中的单元格的背景色显示为与所述待填充矩形区域中的单元格的背景色不同的颜色;并将所述单元格区域的边框加粗并加宽。

若所述单元格区域包含多个单元格,则在将待填充矩形区域中的单元格的背景色显示为预先设定的颜色之后,可以将所述单元格区域中活动单元格的背景色显示为与所述待填充矩形区域中的单元格的背景色不同的颜色;将所述单元格区域中非活动单元格的背景色显示为与所述活动单元格的背景色和所述待填充矩形区域中的单元格的背景色不同的颜色;并将所述单元格区域的边框显示为细边框。这里的活动单元格通常为鼠标(或键盘)拖拽过程中按下鼠标(或键盘)时鼠标(或键盘)所在的单元格,选中的其他单元格为非活动单元格。

较佳的,在将待填充矩形区域中的单元格的背景色显示为预先设定的颜色之后,并在确定用户重新选取单元格区域时,可以将当前显示的所有单元格的背景色刷新为初始背景色。

本发明中,用户选中的单元格区域可以为一个或多个。每个单元格区域可以包括一个或多个单元格。

下面结合具体实施例对本发明进行说明:

实施例一:

本实施例中用户选中一个单元格区域,该单元格区域由一个单元格构成,如图2A所示,具体如下:

步骤1:鼠标或键盘在单元格选取时,进行绘制数据的收集。

获取鼠标按下时的鼠标点坐标,通过累加表格的行高列宽,计算出此鼠标点坐标所对应的单元格的行列号。

步骤2:根据所选取的单元格的行列号,计算此单元格在视图上的坐标数据,将该坐标数据构建成一个矩形(Rectangle)对象。计算由该单元格所在行的单元格构成的第一待裁剪矩形区域以及由该单元格区域所在列的单元格构成的第二待裁剪矩形区域的坐标数据,第一待裁剪矩形区域和第二待裁剪矩形区域如图2B所示。

步骤3:将第一待裁剪矩形区域以及第二待裁剪矩形区域的坐标数据输入java的工具类剪裁方法SwingUtilities.computeDifference(),执行该方法后得到四个待填充矩形区域的坐标数据,记录并保存这四个待填充矩形区域(Rantangle)对象,这四个待填充矩形区域如图2C中的阴影区域所示。

步骤4:背景色绘制的实现,包括:

设置绘制对象的背景色;

构建GeneralPath对象,将步骤3记录的4个Rantangle对象,逐一通过append()方法添加到GeneralPath中;

使用Graphics2D的fill()方法绘制出4个Rantangle的背景色;

绘制选中的活动单元格的白色背景;

绘制活动单元格黑色的粗边框。

实施例二:

本实施例中用户选中两个单元格区域,每个单元格区域由一个单元格构成,如图3A所示,具体如下:

步骤1:鼠标或键盘在单元格选取时,进行绘制数据的收集。

多选区域操作,按住ctrl键,鼠标左键分别点击两个不相邻的单元格。

在每次鼠标左键按下时获取鼠标点坐标,通过累加表格的行高列宽,计算出每个鼠标点坐标所对应的单元格的行列号。

步骤2:根据每个鼠标点坐标所对应的单元格的行列号,计算各单元格在视图上的坐标数据,将得到的坐标数据构建成一个Rectangle对象。对于Rectangle对象中保存的每个单元格的坐标数据,计算由该单元格所在行的单元格构成的第一待裁剪矩形区域以及由该单元格区域所在列的单元格构成的第二待裁剪矩形区域的坐标数据,第一待裁剪矩形区域和第二待裁剪矩形区域如图3B所示。

步骤3:将第一个单元格对应的第一待裁剪矩形区域以及第二待裁剪矩形区域的坐标数据输入java的工具类剪裁方法SwingUtilities.computeDifference(),执行该方法后得到四个待填充Rectangle的坐标数据,记录并保存这四个待填充Rectangle对象。

将第二个单元格对应的第一待裁剪矩形区域以及第二待裁剪矩形区域的坐标数据输入java的工具类剪裁方法SwingUtilities.computeDifference(),执行该方法后得到四个待填充Rectangle的坐标数据,记录并保存这四个待填充Rectangle对象,待填充Rectangle如图3C中的阴影区域所示。

步骤4:背景色绘制的实现,包括:

设置绘制对象的背景色;

构建GeneralPath对象,将步骤3收集的8个Rantangle对象,逐一通过append()方法添加到GeneralPath中;

使用Graphics2D的fill()方法绘制出8个Rantangle的背景色;

绘制非活动单元格的背景色;

绘制选中的活动单元格的白色背景;

绘制活动单元格的黑色细边框。

实施例三:

本实施例中用户选中一个单元格区域,该单元格区域由多个单元格构成,如图4A所示,具体如下:

步骤1:鼠标或键盘在单元格选取时,进行绘制数据的收集。

鼠标按下并拖拽出一片相邻的单元格时,获取鼠标按下时的鼠标点坐标以及鼠标释放时的鼠标点坐标,通过累加表格的行高列宽,计算出这两个鼠标点之间所选取的多个单元格的行列号。用basicRange对象表示,其中记录鼠标按下时鼠标点所在单元格的行列号和鼠标释放时鼠标点所在单元格的行列号;

步骤2:根据basicRange对象记录的行列号,计算用户选中的单元格区域在视图上的坐标数据,将该坐标数据构建成一个Rectangle对象。计算由该单元格区域所在行的单元格构成的第一待裁剪矩形区域以及由该单元格区域所在列的单元格构成的第二待裁剪矩形区域的坐标数据,第一待裁剪矩形区域和第二待裁剪矩形区域如图4B所示。

步骤3:将第一待裁剪矩形区域以及第二待裁剪矩形区域的坐标数据输入java的工具类剪裁方法SwingUtilities.computeDifference(),执行该方法后得到四个待填充Rectangle的坐标数据,记录并保存这四个待填充Rectangle对象,待填充Rectangle如图4C中的阴影区域所示。

步骤4:背景色绘制的实现,包括:

设置绘制对象的背景色;

构建GeneralPath对象,将步骤3收集的4个Rantangle对象,逐一通过append()方法添加到GeneralPath中;

使用Graphics2D的fill()方法绘制出4个Rantangle的背景色;

绘制选中的单元格区域的背景色;

绘制选中的活动单元格的白色背景;

绘制单元格区域黑色的粗边框。

实施例四:

本实施例中用户选中两个单元格区域,每个单元格区域由多个单元格构成,如图5A所示,具体如下:

步骤1:鼠标或键盘在单元格选取时,进行绘制数据的收集。

多选区域操作,按住ctrl键,鼠标左键分别点击并拖拽两个不相邻的多个单元格区域。

在每次鼠标按下并拖拽出一片相邻的单元格时,获取鼠标按下时的鼠标点坐标以及鼠标释放时的鼠标点坐标;通过累加表格的行高列宽,计算出这两个鼠标点之间所选取的多个单元格的行列号,并记录鼠标按下时鼠标点所在单元格的行列号和鼠标释放时鼠标点所在单元格的行列号。

步骤2:根据记录的行列号,计算每个单元格区域在视图上的坐标数据,将该坐标数据构建成一个Rectangle对象。对于每个单元格区域,计算由该单元格区域所在行的单元格构成的第一待裁剪矩形区域以及由该单元格区域所在列的单元格构成的第二待裁剪矩形区域的坐标数据,第一待裁剪矩形区域和第二待裁剪矩形区域如图5B所示。

步骤3:将第一个单元格区域对应的第一待裁剪矩形区域以及第二待裁剪矩形区域的坐标数据输入java的工具类剪裁方法SwingUtilities.computeDifference(),执行该方法后得到四个待填充Rectangle的坐标数据,记录并保存这四个待填充Rectangle对象。

将第二个单元格区域对应的第一待裁剪矩形区域以及第二待裁剪矩形区域的坐标数据输入java的工具类剪裁方法SwingUtilities.computeDifference(),执行该方法后得到四个待填充Rectangle的坐标数据,记录并保存这四个待填充Rectangle对象,待填充Rectangle如图5C中的阴影区域所示。

步骤4:背景色绘制的实现,包括:

设置绘制对象的背景色;

构建GeneralPath对象,将步骤3收集的8个Rantangle对象,逐一通过append()方法添加到GeneralPath中;

使用Graphics2D的fill()方法绘制出8个Rantangle的背景色;

绘制非活动单元格的背景色;

绘制选中的活动单元格的白色背景;

绘制活动单元格的黑色细边框。

参见图6,本发明实施例还提供一种电子表格中的背景色显示装置,该装置包括:

单元格区域位置确定单元30,用于确定用户选中的单元格区域的位置信息;

待裁剪矩形区域确定单元31,用于根据所述单元格区域的位置信息,确定由所述单元格区域所在行的单元格构成的第一待裁剪矩形区域以及由所述单元格区域所在列的单元格构成的第二待裁剪矩形区域的位置信息;

待填充矩形区域确定单元32,用于根据第一待裁剪矩形区域和第二待裁剪矩形区域的位置信息,确定将第一待裁剪矩形区域和第二待裁剪矩形区域的重叠区域裁剪掉后剩余的待填充矩形区域的位置信息;

背景色显示单元33,用于根据所述待填充矩形区域的位置信息,将所述待填充矩形区域中的单元格的背景色显示为与未选中的单元格的背景色不同的颜色。

进一步,所述单元格区域位置确定单元30用于:

在所述单元格区域包含一个单元格时,获取鼠标按下时的鼠标点坐标,根据该鼠标点坐标确定用户选中的单元格的行号和列号;

根据所述行号和列号,确定用户选中的单元格区域的顶点坐标,并将该顶点坐标作为用户选中的单元格区域的位置信息。

进一步,所述单元格区域位置确定单元30用于:

在所述单元格区域包含多个单元格时,获取鼠标按下时的第一鼠标点坐标以及鼠标释放时的第二鼠标点坐标,根据第一鼠标点坐标确定鼠标按下时鼠标点所在单元格的行号和列号;根据第二鼠标点坐标确定鼠标释放时鼠标点所在单元格的行号和列号;

根据鼠标按下时鼠标点所在单元格的行号和列号、以及鼠标释放时鼠标点所在单元格的行号和列号,确定用户选中的单元格区域的顶点坐标,并将该顶点坐标作为用户选中的单元格区域的位置信息。

进一步,所述单元格区域位置确定单元30用于:执行如下步骤A、B:

A、将所述鼠标点坐标中的纵坐标与所述电子表格的第N行的行高相减,判断相减结果是否小于0,若是,则确定用户选中的单元格的行号为N;否则,将N的取值加1,并重复执行本步骤A,其中N的初始值为1;

B、将所述鼠标点坐标中的横坐标与所述电子表格的第M列的列宽相减,判断相减结果是否小于0,若是,则确定用户选中的单元格的列号为M;否则,将M的取值加1,并重复执行本步骤B,其中M的初始值为1。

进一步,所述单元格区域位置确定单元30用于:

按照如下公式确定用户选中的单元格区域的左上顶点的横坐标x1和纵坐标y1

将横坐标x1、纵坐标y1以及所述电子表格的行高和列宽作为用户选中的单元格区域的位置信息。

进一步,所述单元格区域位置确定单元30用于:执行如下步骤A、B、C和D:

A、将第一鼠标点坐标中的纵坐标与所述电子表格的第N行的行高相减,判断相减结果是否小于0,若是,则确定鼠标按下时鼠标点所在单元格的行号为N;否则,将N的取值加1,并重复执行本步骤A,其中N的初始值为1;

B、将第一鼠标点坐标中的横坐标与所述电子表格的第M列的列宽相减,判断相减结果是否小于0,若是,则确定鼠标按下时鼠标点所在单元格的列号为M;否则,将M的取值加1,并重复执行本步骤B,其中M的初始值为1;

C、将第二鼠标点坐标中的纵坐标与所述电子表格的第P行的行高相减,判断相减结果是否小于0,若是,则确定鼠标释放时鼠标点所在单元格的行号为P;否则,将P的取值加1,并重复执行本步骤C,其中P的初始值为1;

D、将第二鼠标点坐标中的横坐标与所述电子表格的第Q列的列宽相减,判断相减结果是否小于0,若是,则确定鼠标释放时鼠标点所在单元格的列号为Q;否则,将Q的取值加1,并重复执行本步骤D,其中Q的初始值为1。

进一步,所述单元格区域位置确定单元30用于:

按照如下公式确定用户选中的单元格区域的左上顶点的横坐标x1和纵坐标y1、以及用户选中的单元格区域的右下顶点的横坐标x2和纵坐标y2

其中,a为鼠标按下时鼠标点所在单元格的列号与鼠标释放时鼠标点所在单元格的列号中的最小列号;b为鼠标按下时鼠标点所在单元格的行号与鼠标释放时鼠标点所在单元格的行号中的最小行号;c为鼠标按下时鼠标点所在单元格的列号与鼠标释放时鼠标点所在单元格的列号中的最大列号;b为鼠标按下时鼠标点所在单元格的行号与鼠标释放时鼠标点所在单元格的行号中的最大行号;

将横坐标x1、纵坐标y1、横坐标x2和纵坐标y2作为用户选中的单元格区域的位置信息。

进一步,所述待裁剪矩形区域确定单元31用于:

确定第一待裁剪矩形区域的左上顶点的横坐标x3为所述电子表格的第一列单元格的左上顶点的横坐标,纵坐标y3为所述单元格区域的左上顶点的纵坐标;第一待裁剪矩形区域的右下顶点的横坐标x4为所述电子表格的最后一列单元格的右下顶点的横坐标,纵坐标y4为所述单元格区域的右下顶点的纵坐标;

确定第二待裁剪矩形区域的左上顶点的横坐标x5为所述单元格区域的左上顶点的横坐标,纵坐标y5为所述电子表格的第一行单元格的左上顶点的纵坐标;第二待裁剪矩形区域的右下顶点的横坐标x6为所述单元格区域的右下顶点的横坐标,纵坐标y6为所述电子表格的最后一行单元格的右下顶点的纵坐标。

进一步,所述待填充矩形区域确定单元32用于:

调用矩形差集计算方法函数,将第一待裁剪矩形区域和第二待裁剪矩形区域的位置信息作为输入参数输入给该矩形差集计算方法函数;

执行所述矩形差集计算方法函数后,输出四个矩形区域的位置信息,将该四个矩形区域确定为待填充矩形区域。

进一步,所述背景色显示单元33用于:

获取预先设定的与未选中的单元格的背景色不同的颜色信息;

构建自由曲线对象,通过对象添加方法函数将所述待填充矩形区域的位置信息逐一添加到所述自由曲线对象中;

调用图形绘制方法函数,将所述自由曲线对象作为输入参数输入给该的方法函数,通过执行该的方法函数将所述待填充矩形区域中的单元格的背景色填充为所述颜色信息所表示的颜色。

进一步,该装置还包括:

突出显示单元34,用于在所述单元格区域包含一个单元格时,将所述单元格区域中的单元格的背景色显示为与所述待填充矩形区域中的单元格的背景色不同的颜色;将所述单元格区域的边框加粗并加宽。

在所述单元格区域包含多个单元格时,将所述单元格区域中活动单元格的背景色显示为与所述待填充矩形区域中的单元格的背景色不同的颜色;将所述单元格区域中非活动单元格的背景色显示为与所述活动单元格的背景色和所述待填充矩形区域中的单元格的背景色不同的颜色;绘制所述单元格区域的细边框。

进一步,该装置还包括:

背景色恢复单元35,用于在将所述待填充矩形区域中的单元格的背景色显示为预先设定的颜色之后,确定用户重新选取单元格区域时,将当前显示的所有单元格的背景色刷新为初始背景色。

综上,本发明的有益效果包括:

本发明实施例提供的方案中,确定用户选中的单元格区域的位置信息后,根据所述单元格区域的位置信息,确定由所述单元格区域所在行的单元格构成的第一待裁剪矩形区域以及由所述单元格区域所在列的单元格构成的第二待裁剪矩形区域的位置信息;根据第一待裁剪矩形区域和第二待裁剪矩形区域的位置信息,确定将第一待裁剪矩形区域和第二待裁剪矩形区域的重叠区域裁剪掉后剩余的待填充矩形区域的位置信息;根据所述待填充矩形区域的位置信息,将所述待填充矩形区域中的单元格的背景色显示为预先设定的不同于其他未选中的单元格的背景色的颜色。由于按照本发明确定的待填充矩形区域中包含与用户选中的单元格区域处于同一行的单元格以及与该单元格区域处于同一列的单元格,因此,将待填充矩形区域中的单元格的背景色显示为不同于其他未选中的单元格的背景色的颜色后,即达到了将与用户选中的单元格区域处于同一行的单元格、以及与该单元格区域处于同一列的单元格的背景色显示为不同于其他未选中的单元格的背景色的颜色的效果,进而使用户在电子表格中能更清楚直观、更快速的找到与选定单元格同行同列的数据,便于用户在特定数据上的参照及比对,在公式的交叉运用时能够更清楚的显示运用状况。可见,采用本发明,能够有效提高对电子表格中的单元格进行突出显示的效果。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号