lenliu
lenliu
2008-08-24 00:09

java如何操作excel中的表单对象(复选框、单选框等)?

已采纳

我们现在在用java操作excel时用的是jxl,操作单元格的读写都没问题,现在出了个问题,就是客户要求在导出的excel中含有复选框、单选框之类的表单元素(也可能是ActiveX元素),现在要根据数据库的字段数据来操作这些元素,各位大虾们,有好的解决方案吗?谢谢了先!
[b]问题补充:[/b]
跟你们说的是一致的,我们就是在一个预定义好的excel模板里面,用${...}标记来定位的,这个对于文本操作是没问题的,但因为客户提出了要在一个特定位置放置checkbox标签,为了和他们之前手动操作业务时的文档一致,所以才出了这个难题。
[b]问题补充:[/b]
做很多模板去对应的话,那家伙要做n多了,那2个checkbox就要3个模板,3个的话就6个...如果checkbox少的话就OK了
[b]问题补充:[/b]
VBA?
跟java可以很好结合吗?受你提示去查了一下,貌似涉及java和VBA的有帮助的文章不是很多
[b]问题补充:[/b]
相当赞的说,相当的感谢qpzmal的帮助,明天过去试下,刚才测试没问题的,不知道用jxl,基于excel模板生成新的excel时会不会把vba程序也带过去,如果可以的话,到是可以实现现在的需求,再次谢谢哈,呵呵~~

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

6条回答

  • qpzmaltemp qpzmaltemp 13年前

    VBA
    [code="java"]
    Sub Auto_Open()
    If Sheet1.Range("a8") = "o" Then
    MsgBox "sssss"
    Sheet1.CheckBox1.Value = True
    Sheet1.CheckBox2.Value = True
    Sheet1.CheckBox3.Value = False
    End If
    End Sub
    [/code]
    测了一下,可以实现,但是不知道符不符合你的需求
    不过换个角度,觉得既然vba能够实现,那jxl应该也能实现,查一下jxl的文档吧,不知道有没有相关的API

    点赞 评论 复制链接分享
  • qpzmaltemp qpzmaltemp 13年前

    算不上是结合吧,先建立模板并写好相关vba代码,然后java向其中填入数据,最后在开启excel时,vba会根据excel中的数据判断表单元素的状态。
    vba只是调用到了java做得数据
    你可以先建立个excel写vba,手动填入数据,模拟一下

    点赞 评论 复制链接分享
  • qpzmaltemp qpzmaltemp 13年前

    vba?
    把“数据库的字段数据”放到某个sheet中,隐藏这个sheet,然后excel打开初始化的时候,用vba去判断这些表单元素的状态

    点赞 评论 复制链接分享
  • qpzmaltemp qpzmaltemp 13年前

    多弄几个模板,在业务及做判断,然后调用不同的模板,嘿嘿,我们就是这么做的,当时建立了好多模板,想在一个模板里解决问题,太累了

    点赞 评论 复制链接分享
  • catstiger catstiger 13年前

    客户很BT呀
    楼上的做法可行,如果嫌麻烦,可以在excel中加一些标记cell,例如${name}对应bean里面的name属性,然后写一个通用的类来处理这些标记,这样会简单一些。
    如果客户不在excel里面操作这些控件,上述方法是可行的...
    还有一种,就是跟客户谈谈用√行不行 :D

    点赞 评论 复制链接分享
  • qpzmaltemp qpzmaltemp 13年前

    之前做过一个项目,需求类似,当时的解决方案是先写了个excel模板,然后用jxl向里面填值,而不是用jxl直接生成excel。不过模板很烦,值的位置要挨个去对,很容易出问题

    点赞 评论 复制链接分享

相关推荐