JAVA操作excel

 1 package  com.eesys.apps.logic;
 2
 3 import  java.io.File;
 4 import  java.io.FileInputStream;
 5 import  java.io.InputStream;
 6
 7 import  jxl.Cell;
 8 import  jxl.CellType;
 9 import  jxl.Sheet;
10 import  jxl.Workbook;
11 import  jxl.write.Label;
12
13 public   class  PrintManager  {
14     
15        public   static   void  main(String[] args)  {
16         jxl.Workbook rwb  =   null ;
17          try {
18            // 构建Workbook对象, 只读Workbook对象
19            // 直接从本地文件创建Workbook
20            // 从输入流创建Workbook
21             System.out.println( " ********START!******* " );
22           InputStream is  =   new  FileInputStream( " D:/test.xls " );
23           rwb  =  Workbook.getWorkbook(is);
24
25            // Sheet(术语:工作表)就是Excel表格左下角的Sheet1,Sheet2,Sheet3但在程序中
26            // Sheet的下标是从0开始
27            // 获取第一张Sheet表
28            Sheet rs  =  rwb.getSheet( 0 );
29             // 获取Sheet表中所包含的总列数
30             int  rsColumns  =  rs.getColumns();
31             // 获取Sheet表中所包含的总行数
32             int  rsRows  =  rs.getRows();
33             // 获取指定单元格的对象引用
34             for ( int  i = 0 ;i < rsRows;i ++ ) {
35               for ( int  j = 0 ;j < rsColumns;j ++ ) {
36                Cell cell  =  rs.getCell(j,i);
37                System.out.print(cell.getContents() + "   " );
38              }

39              System.out.println();
40            }

41             // 利用已经创建的Excel工作薄创建新的可写入的Excel工作薄
42            jxl.write.WritableWorkbook wwb  =  Workbook.createWorkbook( new  File( " D:/Book2.xls " ),rwb);
43             // 读取第一张工作表
44            
45            jxl.write.WritableSheet ws  =  wwb.getSheet( 0 );
46            
47            
48             // 获得第一个单元格对象
49            jxl.write.WritableCell wc  =  ws.getWritableCell( 0 0 );
50             // 判断单元格的类型, 做出相应的转化
51             if  (wc.getType()  ==  CellType.LABEL)  {
52              Label l  =  (Label) wc;
53              l.setString( " The value has been modified. " );
54            }

55             // 写入Excel对象
56            wwb.write();
57            wwb.close();
58            System.out.println( " ********END!******* " );
59
60         }
catch (Exception e) {
61           e.printStackTrace();
62         }

63          finally {
64            // 操作完成时,关闭对象,释放占用的内存空间
65           rwb.close();
66
67         }

68       }

69     }

70

JSP 文件
 1<%@ page contentType="text/html; charset=GBK" %>
 2<%@ page import="java.io.File" %>
 3<%@ page import="java.io.FileInputStream" %>
 4<%@ page import="java.io.FileOutputStream" %>
 5<%@ page import="jxl.write.WritableSheet" %>
 6<%@ page import="java.io.InputStream" %>
 7
 8<%
 9response.reset();//清除Buffer
10response.setContentType("application/vnd.ms-excel");
11File fileWrite = new File("d:/test.xls");
12response.setContentLength((int) fileWrite.length()); 
13InputStream in=new FileInputStream(fileWrite);
14byte[] b = new byte[2048];
15int len = 0;
16while ((len = in.read(b)) > 0{
17    response.getOutputStream().write(b, 0, len); // 向浏览器输出
18   }

19in.close();
20response.getOutputStream().close();
21
22%>

posted on 2006-12-19 15:00 Tom 阅读(165) 评论(0)  编辑  收藏 所属分类: 报表工具


只有注册用户登录后才能发表评论。


网站导航:
 
<2006年12月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

导航

统计

常用链接

留言簿(1)

随笔分类(42)

随笔档案(43)

文章分类

相册

搜索

最新评论

阅读排行榜

评论排行榜