JAVA操作excel

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 <%
 9 response.reset(); // 清除Buffer
10 response.setContentType( " application/vnd.ms-excel " );
11 File fileWrite  =   new  File( " d:/test.xls " );
12 response.setContentLength(( int ) fileWrite.length()); 
13 InputStream in = new  FileInputStream(fileWrite);
14 byte [] b  =   new   byte [ 2048 ];
15 int  len  =   0 ;
16 while  ((len  =  in.read(b))  >   0 {
17    response.getOutputStream().write(b, 0, len); // 向浏览器输出
18   }

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

你可能感兴趣的:(JAVA操作excel)