以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]excel 模板  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=33791)

--  作者:hlheng
--  发布时间:2013/5/24 11:51:00
--  [求助]excel 模板

模板为


图片点击可在新窗口打开查看此主题相关图片如下:截图.bmp
图片点击可在新窗口打开查看

代码为

Select Case e.Book.TempLate
    Case "员工履历表"
        Dim drs As List(Of DataRow) = e.DataRow.GetChildRows("学历信息")
        Dim i As Integer = 1
        Dim max As Integer = 3
        For Each dr As DataRow In drs
            If i >= max Then
                Exit For
            End If
            e.Book.Marks("学历" & i) = dr("学历")
            e.Book.Marks("毕业院校" & i) = dr("毕业院校")
            e.Book.Marks("专业" & i) = dr("专业")     
            i = i + 1
        Next
End Select

 

可能出现三个学历的情况

 
图片点击可在新窗口打开查看此主题相关图片如下:截图1.bmp
图片点击可在新窗口打开查看

 

 

现在只要全日制和最高学历,有什么办法解决?

[此贴子已经被作者于2013-5-24 11:52:11编辑过]

--  作者:Bin
--  发布时间:2013/5/24 12:09:00
--  
加个判断即可. 

 if dr("学习形式")="全日制" then

最高学历的判断,需要自己弄个一个学历字典然后进行判断,否则没办法得出那个学历为最高



--  作者:hlheng
--  发布时间:2013/5/24 12:10:00
--  
如果默认最后一条记录为最高学历,该怎么修改代码?
[此贴子已经被作者于2013-5-24 12:10:44编辑过]

--  作者:Bin
--  发布时间:2013/5/24 12:13:00
--  
if i=2 then \'说明是最后一条记录
--  作者:XYT
--  发布时间:2013/5/24 12:14:00
--  
不然加个辅助列,学历等级,专科那列是1,本科是2,这样就容易了。其次你用数据字典也可以实现,但导出就麻烦。
--  作者:hlheng
--  发布时间:2013/5/24 12:16:00
--  
以下是引用Bin在2013-5-24 12:13:00的发言:
if i=2 then \'说明是最后一条记录
可是每个人不一样,有些人可能只有一个全日制学历,可能有2个学历,有些人有4个学历。


--  作者:Bin
--  发布时间:2013/5/24 12:17:00
--  
哦  if i=(max-1) then 
--  作者:hlheng
--  发布时间:2013/5/24 12:18:00
--  
好,谢谢BIN和XTY,我试试看。
--  作者:hlheng
--  发布时间:2013/5/24 16:11:00
--  

还是不行,做了个例子,简化了一下,王五和李六的记录就出现错误

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目2.zip

帮忙看看怎么解决,谢谢!

 

PS:我的2012的版本,如果是2013版本做的,麻烦拷贝代码出来。^_^


--  作者:XYT
--  发布时间:2013/5/24 16:36:00
--  

 

[此贴子已经被作者于2013-5-24 16:58:33编辑过]