SmartExcelWEB版本介绍

SmartExcelweb不是一个完全独立的产品,而是一个具备继承现在劳动成果和模板开发知识的产品,她会自动兼容当前的Excel模板,开发环境也是Excel客户端,除非使用了VBA,否则现有的Excel模板是完全可以直接在SmartExcelWeb中使用,实现了一次设计可以在多种方式下使用的效果。在SmartExcelWeb中,用户不需要学习太多的新知识,而是继续沿用已经掌握的模板设计技能即可,大大减轻了学习的负担,轻松升级。

 

         下面详细讲解一下关于SmartExcelWeb的使用要点。

6.1老系统如何过渡到SmartExcelWeb

1、  先在服务器端的设置中心对数据库进行升级,如下图所示:

C:\Users\smarterp\AppData\Local\Temp\1630373849(1).png

否则登录时会提示,如下图所示:

C:\Users\smarterp\AppData\Local\Temp\1630373873(1).png

 

2、  SmartExcelWebExcel模板的Excel版本有要求,要求是Excel2007以上专用格式,但是默认情况下,我们新建模板的时候如果没有选中“Excel2007以上专用”的话,平台会自动以Excel2003格式建立的,对于这种模板就需要转换成Excel2007以上格式了,否则打开模板时会提示如下信息:

平台提供了自动批量转换的功能,进到系统管理à模板管理,如下图所示:

选择“转换模板Excel格式为à 2007以上专用格式”,然后右击à全选à确定即可,完成后就可以正常使用了。
C:\Users\smarterp\AppData\Local\Temp\1630375872(1).png

3、  对于一些太老的模板可能打开时还会提示:

这时候就是修改模板打开该模板,然后随便双击某个单元格,接着保存即可

 

登陆:打开浏览器,输入服务器IP地址+SSMISDIYWeb/MyWeb/#login,即可打开登陆框,输入用户名,密码和数据库名称即可登陆网页系统。

C:\Users\smarterp\AppData\Local\Temp\1630374154(1).png

 

 

6.2    SmartExcelWeb的新知识

1、  导航
SmartExcelWeb
设计了全新的导航,原有的导航模式因为时间问题,准备在下一个版本中再支持,不过原有的导航模式在适应不同屏幕分辨率方面不太完美,而新版导航模式则很好的解决了这个问题,她采用了类似操作系统的资源管理器的方式来实现,会根据屏幕大小自动改变布局,如下图所示:

C:\Users\smarterp\AppData\Local\Temp\1630374215(1).png

C:\Users\smarterp\AppData\Local\Temp\1630374305.png

左边是一个导航树,右边是一个当前导航结果和上面是一个导航路径,这3个区域可以相互配合同时操作;左边的导航树还可以进行搜索。

           另外中的分类和模板的图标可以自定义,效果如下图所示:

C:\Users\smarterp\AppData\Local\Temp\1630374359(1).png

           设置方法的如下图所示:

C:\Users\smarterp\AppData\Local\Temp\1630375959(1).png

                                                                            <模板图标>

C:\Users\smarterp\AppData\Local\Temp\1630376018(1).png

                                                                            <分类图标>

 

           另外,登录界面也可以自定义图片,如下图所示:

C:\Users\smarterp\AppData\Local\Temp\1630376098(1).png

 

2、  进入某个模板的数据中心
我们可以在左边的模板树或者右边的导航图标中,点击模板后进入数据中心,如下图所示:
C:\Users\smarterp\AppData\Local\Temp\1630374526(1).png

 

C:\Users\smarterp\AppData\Local\Temp\1630374497(1).png

3、  填报
当打开数据中心后,我们就可以在数据中心完成数据的填报、修改、查看等操作。

 

4、  快速填报
当我们的鼠标移到左边导航树或者右边导航图标的具体模板名字时,右上角处出现一个“新建”按钮,我们点击这个按钮就可以直接进入填报状态,而不需要先进入数据中心,然后再进行填报,如下图所示:
C:\Users\smarterp\AppData\Local\Temp\1630374619(1).png

5、  页面操作
SmartExcelWeb
的主控采用了流行的多页面布局方式,每个主要功能都是在一个独立的页面中进行,页面之间通过简单点击就可以进行切换。直接点击页签右上角的叉叉就可以关闭页面,如下图所示:
C:\Users\smarterp\AppData\Local\Temp\1630374704(1).png

通过右击页签还可以进行批量关闭操作和进行全屏显示,如下图所示:

C:\Users\smarterp\AppData\Local\Temp\1630374803(1).png

 

同样,右击页签也可以还原显示。

C:\Users\smarterp\AppData\Local\Temp\1630374837(1).png

6、  数据中心操作

排序:通过直接点击表头就可以进行排序操作,如下图所示:

C:\Users\smarterp\AppData\Local\Temp\1630374918(1).png

C:\Users\smarterp\AppData\Local\Temp\1630374950(1).png

右击表头还可以进行筛选过滤,如下图所示,目前支持数值、文字、日期类型的项目进行筛选,如下如所示:

C:\Users\smarterp\AppData\Local\Temp\1630375063(1).png

<文字>

<日期>

<数值>

 

对于文字类型,还可以用打勾选择的方式进行筛选,如下图所示:

C:\Users\smarterp\AppData\Local\Temp\1630375147(1).png

要实现“客户名称”项目的下拉选择的筛选方式,需要对这个项目进行额外的设置,如下图所示:

C:\Users\smarterp\AppData\Local\Temp\1630376164(1).png

注意,要使用下拉选择筛选的方式,建议用在选择内容不要太多的情况,否则会引起性能问题,同时使用也不方便。下拉筛选支持多个项目同时设置,她们之间是并且的关系。

点击工具栏上的“去除过滤”按钮就可以取消所有的筛选条件,回到未筛选的状态,如下图所示:

C:\Users\smarterp\AppData\Local\Temp\1630375180(1).png

在“其它”的工具栏中,还有进行多选、锁定等操作。

C:\Users\smarterp\AppData\Local\Temp\1630375211(1).png

 

7、  流程工作台

点击主控右上角的“流程工作台”,可以把界面切换到工作流状态,默认是显示待处理任务列表,其它的通过左边的下拉选择来进行切换,在这里可以对流程任务进行查看、处理、查看进度、撤销等操作,同时也支持数据中心的排序、下来筛选等操作。

C:\Users\smarterp\AppData\Local\Temp\1630375275(1).png

8、  VBA —〉JSJavaScript
如果模板里使用了VBA,那么在SmartExcelWeb就要转为JS代码才可以正常使用。直接在模板格式上加上的按钮只适用于Excel,对网页版模板不生效,要给网页模板加按钮需要进行额外的设置,如下图所示:

C:\Users\smarterp\AppData\Local\Temp\1630377460.png

进入模板属性 -->其它设置 --> Web按钮设置,在这里就可以加入你需要的JS命令按钮,点击增加,然后输入按钮的名字,所在的单元格位置(Sheet、行、列),颜色等,接着就是写JS代码,对于大部分自己加的JS按钮都是为了执行取数公式,这种情况下,可以不写JS代码,而是直接选择要执行的取数公式即可。

 

点击编辑按钮,出现JS代码编辑窗体,如下图所示:

C:\Users\smarterp\AppData\Local\Temp\1630376994(1).png

这时候,平台自动为按钮产生了一句代码,这段代码的作用是定义了一个变量obj,并获取接口,以后obj就是代表模板JS接口对象,所有的JS接口方法都是通过obj来进行调用,下面就是紧接着加入自己的代码即可。

比如要实现点击保存的功能,可以这样写,如下图所示:

C:\Users\smarterp\AppData\Local\Temp\1630377070(1).png

只要在后面加上 obj.saveReport() 这一句即可,这句话就是表示通过obj调用其中的saveReport()接口方法;我再看看VBA代码怎么写:

如上图所示,JS写法与VBA类似,并且更加简单。

下面我们再看一个通过代码执行取数公式的例子,JS代码如下:

C:\Users\smarterp\AppData\Local\Temp\1630377393(1).png

对应的VBA代码如下:

C:\Users\smarterp\AppData\Local\Temp\1630377283(1).png

可见,JS不比VBA复杂,甚至有时候更简单,前面说过,如果仅仅是为了执行取数公式,其实可以不写JS代码,而是直接选择公式即可,如下图所示:

C:\Users\smarterp\AppData\Local\Temp\1630377221(1).png

 

下面就是模板填报时候的样子:(演示按钮)

C:\Users\smarterp\AppData\Local\Temp\1630377801(1).png

可以看见模板里出现了3个按钮,点击后就会执行。

 

目前已经提供了大部分常用的接口方法:

    //接口方法

printReport

saveReport

execFormula

newReportData

    newReportData2

viewReportData

editReportData

getOperationName

getOperationNameEh

execDBProcedure

execDBFunction

setOperator

updateOperatorStatus

sendEMail

sendSMS

fillRepNextData

flowPostToNext

flowPostToPrior

stopFlowPost

这些接口方法是对应原来的VBA接口方法,参数和作用的意义都是一样的。

注意:JS的语法是区分大小的,这些接口方法都是小写开头。

这里支持标准的JS语法,有兴趣的用户平时可以学习一下一些基本的JS语法即可。

 

我们除了提供对应于VBA接口的JS接口方法外,我们还提供了一些额外的方法,让你可以方便地访问电子表格中的数据,比如:

msgbox(sMsg);      

显示信息对话框

getWorkBook();       

获取当前工作簿

获取工作簿后,进一步可以获取指定的Sheet,

         getSheetFromName(sheet的名字)       

                            根据sheet的名字获取sheet对象

         getSheet(sheet的索引号)

                            根据sheet的索引号获取sheet对象

 

getActiveSheet();    

获取当前活动Sheet

getActiveCell();       

获取当前活动单元格

printSheet(索引号);        

打印指定的Sheet,参数是Sheet的索引号,索引号从0开始

                            获取某个Sheet以后可以进一步调用如下方法:

                            getValue(行号列号);          

获取指定行号和列号的单元格的内容,注意:这里的行号和列号是实际行列号 减 1,比如要获取Sheet里的第10行第9列的单元格的内容的话,应该这样调用:

                                               varobj=MWE.Obj;//获取接口对象,注意区分大小写

                                               var sheet =obj.getActiveSheet();//通过接口对象获取当前活动Sheet

                                               //或者 var sheet=obj.getWorkBook().getSheetFromName(“Sheet1”)

                                                                           //通过工作簿获取名字为Sheet1sheet对象

                                               //或者 var sheet=obj.getWorkBook().getSheet(0)

                                                                           //通过工作簿获取索引号为0sheet对象

                                               msgbox(sheet.getValue(9,8));//注意这里的行列分别减了1

以上代码的显示当前活动Sheet中的第10行第9列的单元格的内容。代码中的“//”表示后面的是注释而不是代码,这部分不执行。

                            setValue(行号列号,内容);     

Sheet的指定行号和列号的单元格写入指定内容,这里行号和列号也是跟getValue函数的行号和列号的规定一样;