背景:程序不停的接收消息,通过jxl或者poi实时写入Excel文件,客户要求可以实时查看该Excel文件的最新内容,该如何实现?
想法及问题:jxl或者poi在文件被人为打开的情况下,不能进行文件的操作,想通过将excel作为数据源的方式进行,即采用ADO编码的方式或者Excel自带的数据连接功能进行实现,但发现在进行数据刷新的时候还是会导致程序崩溃,不能打开源Excel文件进行写入。如何解决呢?

解决方案 »

  1.   

    只用一个模块来负责存取该Excel文件。读取和写入,都调用该模块来完成;该模块借助jxl或poi来访问Excel就行了。
      

  2.   

    excel打开情况,poi无法对其进行写操作。这个应该没有办法。
    写数据时判断,如果excel是打开状态,给出一个提示,要求关闭。这个用户应该可以接受。
    另外读写操作后,别忘了关闭流。
      

  3.   

    客户直接打开excel文件查看,而不是通过WEB程序吗?
      

  4.   

    实时性要求比较高 我在想为什么通过宏只读打开Excel文件 程序也不能再打开进行写呢。。
      

  5.   

    我们只负责写Excel,客户把我们的Excel作为数据源来访问的,比如通过ADO方式,只要刷新数据貌似就会影响我们写入。
      

  6.   

    实时性要求高,不应该用excel了吧。
      

  7.   


    无非你需要多实时(秒?分钟?)的效果,内存中建立一个映射数组,按需将Excel的部分数据刷新到映射数组中。甚至可以用最土的方法:同时写两边。
      

  8.   

    只是看的话,展示干嘛要EXCEL呢,直接表格设计的像EXCEL就行了。