用java 写了一个通讯录的小程序,数据源是个excel文件,调试时读取添加都可以
但将程序打包成可运行的jar文件时,能读到这个excel文件的数据,但是无法更改更新操作的代码
public static boolean UpdatePeople(People pe)
{
boolean bFlag = false;
try
{
InputStream is = Main.class.getResourceAsStream(sourcefile);
Workbook wb = Workbook.getWorkbook(is);
OutputStream os = new FileOutputStream(Main.class.getResource(sourcefile).getPath());
WritableWorkbook wwb = Workbook.createWorkbook(os,wb);
wb.close();
WritableSheet wws = wwb.getSheet(0);
int Row = pe.iRow;
wws.addCell(new Label(0,Row,String.valueOf(pe.iRow)));
wws.addCell(new Label(1,Row,pe.name));
wws.addCell(new Label(2,Row,pe.mobileTelePhone));
wws.addCell(new Label(3,Row,pe.lineTelePhone));
wws.addCell(new Label(4,Row,pe.qq));
wws.addCell(new Label(5,Row,pe.email));
wws.addCell(new Label(6,Row,pe.address));
wws.addCell(new Label(7,Row,pe.birthday));
wws.addCell(new Label(8,Row,pe.group));
wwb.write();
wwb.close();
bFlag = true;
}
catch(Exception e)
{
e.printStackTrace();
}
return bFlag;
}
但将程序打包成可运行的jar文件时,能读到这个excel文件的数据,但是无法更改更新操作的代码
public static boolean UpdatePeople(People pe)
{
boolean bFlag = false;
try
{
InputStream is = Main.class.getResourceAsStream(sourcefile);
Workbook wb = Workbook.getWorkbook(is);
OutputStream os = new FileOutputStream(Main.class.getResource(sourcefile).getPath());
WritableWorkbook wwb = Workbook.createWorkbook(os,wb);
wb.close();
WritableSheet wws = wwb.getSheet(0);
int Row = pe.iRow;
wws.addCell(new Label(0,Row,String.valueOf(pe.iRow)));
wws.addCell(new Label(1,Row,pe.name));
wws.addCell(new Label(2,Row,pe.mobileTelePhone));
wws.addCell(new Label(3,Row,pe.lineTelePhone));
wws.addCell(new Label(4,Row,pe.qq));
wws.addCell(new Label(5,Row,pe.email));
wws.addCell(new Label(6,Row,pe.address));
wws.addCell(new Label(7,Row,pe.birthday));
wws.addCell(new Label(8,Row,pe.group));
wwb.write();
wwb.close();
bFlag = true;
}
catch(Exception e)
{
e.printStackTrace();
}
return bFlag;
}
解决方案 »
- tomcat新手问题
- 学java会不会把C++搞混淆了,产生不好影响啊
- 《java核心技术 卷1:基础知识》第六版的例子源码谁有吗??(即《Core java2 Volume1 Fundamentals》)
- 请问怎么应用多维动态数组?vector能实现该功能吗?
- java运行的问题?
- 大家帮忙看看,Socket soc=new Socket(134.168.6.185,12345),为什么老是报错。
- 一○○分相送,请问在jbuilder7生成的程序中怎么显示中文???
- 那里下载BDK(国内的)?
- java调用unix shell问题
- 各位,救急呀!怎样将ResultSet中的数据逐行放入Vector对象中??
- 求各路大神们指点下
- java Swing 排版问题请教
比如,放到和jar包相同的目录
new File(".",excel)就能访问了。
但是这个程序在eclipse环境里,excel表也是放在代码同个目录下的,都可以访问,也可以修改,但是打包打到外面就只能访问不能修改了啊。。2楼说的同一个目录,在源文件里也是同个目录,也可以修改的。不知道各位高手们这种excel表都是怎么用的啊?比如说打包后不跟包放在一起?那客户运行怎么运行呢?用户并不知道目录放在哪啊。。难道把这个整体再导成exe文件去运行?这个我没用过也是第一次写java程序,所以问题很多很多在这里学习下了。。csdn论坛上哥们的真热情啊!!