术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0042]如图1所示,本发明一个实施例提供了一种表格数据编辑的方法,包括:
[0043]步骤101:从服务器读取待编辑表格文件的原始数据,并将所述原始数据存储到浏览器的缓存中;
[0044]步骤102:根据所述待编辑表格文件在所述浏览器中的当前显示范围,从所述缓存中的原始数据中读取所述当前显示范围对应的当前原始数据;
[0045]步骤103:将偶数当前原始数据转换成对应的文档对象模型D0M结构;
[0046]步骤104:实施监控所述D0M结构,并判断所述D0M结构是否发生变化,如果是,执行步骤105 ;
[0047]步骤105:根据变化后的所述D0M结构,对所述缓存中的所述当前原始数据进行更新;
[0048]步骤106:判断所述浏览器是否被关闭,如果是,执行步骤107 ;
[0049]步骤107:将所述缓存中的数据存储到所述服务器中,替换原有所述原始数据。
[0050]本发明实施例提供了一种表格数据编辑的方法,从服务器上读取待编辑表格文件的原始数据,并存储到浏览器的缓存中,根据浏览器中待编辑表格文件的当前显示范围,从浏览器的缓存中读取当前显示范围对应的当前原始数据,将读取到的当前原始数据转换成对应的文档对象模型D0M结构,实时对D0M结构进行监控,判断其是否发生变化,如果D0M结构发生了变化,根据变化后的D0M结构对浏览器的缓存中的当前原始数据进行更新,并在浏览器关闭后,将浏览器的缓存中的数据存储到服务器上,替换原有的原始数据,这样,用户在对待编辑表格文件进行编辑时,只将浏览器当前显示范围对应的当前原始数据转变为对应的D0M结构,无需将原始数据全部转换成对应的D0M结构,减少了数据转换成D0M结构的时间,另外,对D0M结构更改后,实时对浏览器缓存中对应的原始数据进行更新,待编辑表格文件编辑完成后直接将浏览器的缓存中的数据存储到服务器上,无需在对所有待编辑D0M结构编辑完成后再将所有D0M结构转换成数据存储到服务器上,减少了 D0M结构转换成数据的时间,从而减少了浏览器的响应时间,避免用户操作过程中出现卡顿的现象。
[0051]在本发明一个实施例中,根据浏览器当前显示范围,将当前显示范围中行范围上侧的第一预设行及行范围下侧的第二预设行作为当前行缓冲区,将当前显示范围中列范围左侧的第一预设列及列范围右侧的第二预设列作为当前列缓冲区,判断浏览器中待编辑表格文件的滚动速度是否超过预设的临界滚动速度,如果没有超过,则在从浏览器的缓存中读取当前显示范围对应的原始数据的同时,读取当前行缓冲区及当前列缓冲区对应的原始数据,这样用户在以较慢的速度改变待编辑表格文件的显示范围时,浏览器会连续显示D0M结构,提高用户的视觉效果感受,如果滚动速度超过了临界速度,则只读取当前显示范围对应的原始数据作为当前原始数据,因为滚动速度较快时读取缓冲区对应的原始数据不能起到预转换D0M结构的目的,不能提高用户的视觉效果感受,反而造成计算资源的浪费。
[0052]在本发明一个实施例中,当待编辑表格文件的滚动速度过快后,不对行缓存区及列缓冲区对应的原始数据进行读取,直至待编辑表格文件的停留在一个区域的时间大于预设的临界停留时间后,重新开始待编辑表格文件的滚动速度进行判断,由于在待编辑表格文件滚动过程中用户无法对D0M结构进行编辑,用户还在继续寻找需要进行编辑的D0M结构,此时不对缓冲区对应的原始数据进行读取,可以节约计算资源,提高浏览器的性能。
[0053]在本发明一个实施例中,在待编辑表格文件滚动的过程中,实时对浏览器的当前显示范围、当前行缓冲区及当前列缓冲区进行更新,将当前行缓冲区及当前列缓冲区之外区域对应的原始数据从浏览器中删除,避免将已更新或未进行编辑的D0M对应的原始数据进行重复更新,增加对浏览器的缓存中的原始数据进行更新的计算量,提高了浏览器的性會泛。
[0054]在本发明一个实施例中,当用户对待编辑表格文件的表格样式进行调整时,通过动态生成或更新层叠样式表CSS规则,只对待编辑表格文件中对应表格的样式进行相应的调整,无需根据表格调整后的参数对相应的表格进行重新渲染,提高了浏览器的性能。
[0055]在本发明一个实施例中,所述D0M结构包括:input文本框、checkbox复选框、rad1单选框、select下拉框、common help帮助框、long text长文本编辑框、date picker时间选择框及diy input自定义编辑类型中的任意一个或多个,这样,该表格数据编辑方法适用于各种D0M结构,提高了该方法的适用性。
[0056]为使本发明的目的、技术方案和优点更加清楚,下面结合附图及具体实施例对本发明作进一步地详细描述。
[0057]如图2所示,本发明一个实施例提供了一种表格数据编辑的方法,包括:
[0058]步骤201:从服务器读取待编辑表格文件的原始数据,将原始数据存储在浏览器的缓存中。
[0059]在本发明一个实施例中,当用户需要对待编辑表格文件进行编辑时,首选从服务器中读取该待编辑表格文件对应的原始数据,其中原始数据为待编辑表格文件对应的二进制代码,从服务器读取到原始数据后,将该原始数据存储到浏览器的缓存中。例如,用户需要对一个集团的员工信息表进行编辑,首先用户通过客户端从服务器上读取员工信息表对应的原始数据,将读取的原始数据存储到打开该员工信息表的浏览器的缓存中。
[0060]步骤202:在浏览器中打开待编辑表格文件。
[0061]在本发明一个实施例中,用浏览器打开待编辑表格文件,从浏览器的缓存中读取待编辑表格文件左上角部分内容对应的原始数据,以在打开待编辑表格文件时在浏览器显示界面上显示对应的表格内容。例如,浏览器的显示窗口可以显示20行X10列的内容,用户打开员工信息表后,浏览器的显示窗口显示员工信息表前20行与前10列的交叉部分。
[0062]步骤203:实时判断待编辑表格文件是否发生滚动,如果是,执行步骤204,否则继续执行步骤203。
[0063]在本发明一个实施例中,打开待编辑表格文件后,实时对待编辑表格文件的滚动行为进行监控,判断待编辑表格文件在浏览器中显示的当前显示范围是否发生变化,如果是,相应的执行步骤204,否则继续执行步骤203。例如,当浏览器中员工信息表向下或向右滚动时,相应的执行步骤204,当浏览器的当前显示范围一直停留在员工信息表的前20行与前10列的交叉部分时,继续执行步骤203。
[0064]步骤204:根据待编辑表格文件的滚动速度及当前显示范围,从浏览器的缓存中读取对应的当前原始数据。
[0065]在本发明一个实施例中,实时判断待编辑文件在浏览器中的滚动速度,如果滚动速度小于或等于预设的临界滚动速度,则根据待编辑表格文件在浏览器中的当前显示范围,从浏览器缓存中读取当前显示范围对应的原始数据及当前显示范围的缓冲区对应的原始数据作为当前原始数据,其中当前实现范围的缓冲区包括当前行缓冲区及当前列缓冲区,其中当前行缓冲区包括当前显示范围上侧的第一预设行及下侧的第二预设行,当前列缓冲区包括当前显示范围左侧的第一预设列及右侧的第二预设列,如果当前显示范围周围区域小于缓冲区包括的范围,则缓冲区至对应的边界;如果滚动速度大于预设的临界滚动速度,则根据待编辑表格文件在浏览器中的当前显示范围,只从浏览器缓存中读取当前显示范围对应的原始数据作为当前原始数据,并在待编辑表格文件停止滚动时长大于预设的临界停留时间后,重新开始执行实时判断待编辑表格文件在浏览器中的滚动速度。例如,实时判断用户滚动员工信息表的速度是否超过预设的临界滚动速度50行/秒,比如浏览器显示窗口的当前显示范围为第51行至第70行与第1列至第10列的交叉部分,如果否,则从浏览器的缓存中读取第41行至第80行与第1列至第15列的交叉部分对应的原始数据作为当前原始数据,其中第41行至第50号以及第71行至第80行为当前显示范围对应的当前行缓冲区,第11列至第15列为当前显示范围对应的当前列缓冲区,如果是,则只从浏览器的缓存中读取第51行至第70行与第1列至第10列的交叉部分对应的原始数据作为当前原始数据,并实时判断员工信息表停止滚动的时间是否超过预设的临界停留时间300ms,如果是,重新开始实时判断用户滚动员工信息表的速度是否超过50行/秒,否则,一直只从浏览器的缓存中读取当前显示范围对应的原始数据作为当前原始数据。
[0066]步骤205:将读取的当前原始数据转换成对应的D0M结构。
[0067]在本发明一个实施例中,从浏览器的缓存中读取到当前原始数据后,根据当前原始数据,在浏览器的消失窗口中渲染出当前原始