大家好,才是真的好。
一切信息化系统的最终归宿是将数据导出到Excel。如果还要加一个归宿,那么就是从Excel中导入数据,这样的信息化系统才是好系统。
同样,我们在前面一篇《再来一些管理技巧》中提到了采用最简单的方式将Notes应用视图中的数据以最简单的方式导出到Excel中。但不少人另外感兴趣:如何将Excel数据直接导入到Notes应用?
这里介绍两个办法:第一个是无代码或低代码Volt方式,第二个是采用传统的LotusScript代码方式。
其实还有很多办法,以前我们会使用Lotus 1-2-3(先将Excel 2003导出为1-2-3格式,再导入Notes中),你也可以使用XPages,不过我们这里暂且不采用XPages,因此我们说,只介绍两种方式。
如果你的系统管理员已经在Domino上安装了无代码或低代码工具Volt,然后给了你权限,剩下的事件就简单了,打开你的Volt地址,点击创建应用,从电子表格开始,如下图:
片刻的等待之后:
Domino中就出现了以Excel表格命名的Notes应用:
当我们双击打开进去时,就能看到里面的视图和数据内容:
So Easy!根本没有任何好说的。
第二种方式则是采用传统的LotusScript代码方式。
看到代码两个字,别被唬住了,其实也不难。
可以将Excel导入到你的已有Notes应用中,也可以导入新建的空白的Notes应用中。
现在,让我们手把手地开始吧。建议你先把Excel导出为一个csv文件,如下图:
然后在Notes中,按住Ctrl+N,新建一个Notes应用,输入名称,采用空白模板,如下图:
重要的是你会在Domino Desinger中为该应用创建一个代理程序,如下图:
在里面写入如下代码:
Dim form As String
Dim counter As Integer
Dim c As Integer
Dim uiws As New NotesUIWorkspace
Dim fileCSV As Variant
Dim kolonner As Variant
Dim linje As Variant
Dim sess As New NotesSession
Dim db As NotesDatabase
Set db=sess.CurrentDatabase
Dim doc As NotesDocument
Dim item As NotesItem
Dim Text As String, fileNum As Integer
form="import"
counter=0
fileNum% = FreeFile()
fileCSV = uiws.OpenFileDialog(False, "选择一个CSV文件","*.*" ,"")
If Not IsEmpty(fileCSV ) Then
Open fileCSV(0) For Input As filenum%
End If
Do While Not EOF(fileNum%)
counter=counter+1
Line Input #fileNum%, text$
If counter=1 Then
kolonner=Split(text$,",")
Else
linje=Split(text$,",")
Set doc = db.CreateDocument
c=0
ForAll li In linje
Set item=New NotesItem(doc,kolonner(c),li)
item.isSummary=True
c=c+1
End ForAll
Call doc.save(False, False)
End If
Loop
Close fileNum%
实际效果如下图:
别忘记了设置属性,如下图:
最后我们在Notes前端Action菜单里面执行一下,如下图:
数据就导入进去了。而且如果你的Notes是V12版本,还可以使用高级属性查看这些数据,如下图:
当然,要在Notes中查看或操作这些数据,则还需要创建对应的表单和视图,不过这里涉及到很多基础的Notes开发知识,我们就不讲了。今天就到这里。
更多文章请关注微信公众号:协作者