1 Excel文件的创建
先导入外部包jxl.jar(可在百度下载),创建生成的文件在当前源文件所在的文件夹中。
导入外部包的方法:
- 若使用DOS运行,则添加用户变量classpath,路径为包路径。
- 若使用Eclipse,则右击项目名,属性,Java构建路径,库,添加外部jar。
参考代码如下:
1 import java.io.*; 2 import jxl.*; 3 import jxl.write.*; 4 public class Q1{ 5 public static void main(String args[]){ 6 try{ 7 //创建文件 8 WritableWorkbook book=Workbook.createWorkbook(new File("测试.xls")); 9 //生成名为"第一页"的工作表,参数0表示这是第一页 10 WritableSheet sheet=book.createSheet("第一页",0); 11 //在Label对象的构造子中指名单元格位置是第一列第一行(0,0),以及单元格内容为test 12 Label label=new Label(0,0,"test"); 13 sheet.addCell(label);//将定义好的单元格添加到工作表中 14 //生成一个保存数字的单元格 15 //必须使用Number的完整包路径,否则有语法歧义 16 //单元格位置是第二列,第一行,值为789.123 17 jxl.write.Number number = new jxl.write.Number(1,0,789.123); 18 sheet.addCell(number); 19 book.write();//写入数据并关闭文件 20 book.close(); 21 } 22 catch(Exception e){ 23 System.out.println(e); 24 } 25 } 26 }
2 Excel文件的读取
同样需要先导入外部包,要读取的文件放在当前源文件所在的文件夹中。
参考程序如下:
1 import java.io.*;//导入包 2 import jxl.*; 3 public class Q2{ 4 public static void main(String args[]){ 5 try{ 6 //寻找文件 7 Workbook book=Workbook.getWorkbook(new File("测试.xls")); 8 //获得第一个工作表对象 9 Sheet sheet=book.getSheet(0); 10 //得到第一列第一行的单元格 11 Cell cell1=sheet.getCell(0,0); 12 String result=cell1.getContents();//获取当前单元格的内容 13 System.out.println(result);//输出字符 14 book.close();//关闭文件 15 } 16 catch(Exception e){ 17 System.out.println(e); 18 } 19 } 20 }
【注】若想获取多个单元格的内容,只需利用for循环控制getCell方法中的参数即可。一般可以事先创建一个String数组,让读取到的result值赋给数组,这样能更好地处理Excel文件中的内容。
【注】一般try...catch语句中只能存在一个for循环,否则会编译出错。(至今没有找到原因)