日期:2014-05-19  浏览次数:20678 次

java 运行excel
现在有个需求,定时更新excel文件。这个通过poi就能实现。
问题是要求这个excel文件一直是运行的状态,不能关闭。
我用Runtime.getRuntime().exec("cmd.exe /c start + path)
方式将excel运行后,再用poi操作excel更新数据,就会提示文件已经被其它程序占用。

请问各位大侠,java有其它运行excel的函数么? 能不是设置共享或者读写的方法运行excel?
或者二cmd命令有相关设置?

------解决方案--------------------
同一个excel文件,更新后,复制A生成B,运行B,如果有更新,则更新A,
然后再次复制A生成B(覆盖之前的)B,运行B。

------解决方案--------------------
POI读取的excel未必要运行着的


引用:
ODBC连接excle文件 这个时候excle就是看做一个数据库
insert into [非法用户$]
用ODBC连接

正解
------解决方案--------------------
一般都是 
sqlconnection
sqlcommond
mysqlconnection的
也可以用odbcconnecton的odbc可以连接excle txt的操作

public static  string str = @"DSN=usbdbtwo";数据源名字 
public static    OdbcConnection con = new OdbcConnection(str); //新建连接对象
你可以测试下con.open是否能打开 应该没问题的 
如果可以那就插入就可以 insert into insert into [非法用户$] values(……)
因为每次插入到excel中是追加的 所以呢你可以用
FileInfo feinfo = new FileInfo("d:/cronjob/xxx.xls");这个是个空的xecle
feinfo.CopyTo("你插入的excle目录.xls", true);
如上就会每次从d:/cronjob/xxx.xls把你的excle替换掉 这样就不需要删除了 而且删除有权限问题