zoukankan      html  css  js  c++  java
  • JExcel

    1、什么是JExcel

       JExcel是Java对Excel进行操作的包,可以实现创建一个Excel并写入或读取Excel的数据等操作;

       JExcel的主要类为:

         (1)Workbook:工作簿

         (2)WritableWorkbook:可写工作簿

         (3)Sheet:表单;

         (4)WritableSheet:可写表单;

         (5)Label:单元格;

    Maven依赖引入:

    <dependency>
          <groupId>net.sourceforge.jexcelapi</groupId>
          <artifactId>jxl</artifactId>
          <version>2.6.12</version>
    </dependency>

    项目结构:

    2、Java输出Excel

    public static String createSheet() throws IOException, RowsExceededException, WriteException {
            
            String str[][] = {{"姓名","编号"},{"终结者","54321"}};  
            File f = new File("test.xls");  
            WritableWorkbook workbook = Workbook.createWorkbook(f);  
            WritableSheet sheet = workbook.createSheet("sheet1", 0);  
            Label lab = null;  
            for(int i=0;i<str.length;i++){  
                for(int j=0;j<str[i].length;j++){  
                    lab = new Label(j,i,str[i][j]); //Label(col,row,str);  
                    sheet.addCell(lab);  
                }  
            }  
            workbook.write();  
            workbook.close();
            return "1";
        }

    3、Java读取Excel

    public static String readSheet() throws BiffException, IOException {
            
            Workbook workbook = Workbook.getWorkbook(new File("test.xls"));  
            Sheet sheet[] = workbook.getSheets();  
            String lab = null;  
            for(int a=0;a<sheet.length;a++){  
                for(int i=0;i<sheet[a].getRows();i++){  
                    for(int j=0;j<sheet[a].getColumns();j++){  
                        lab = sheet[a].getCell(j,i).getContents();  
                        System.out.print(lab+"、");  
                    }  
                    System.out.println();  
                }  
            }  
            return "1";
        }

    4、运行测试

    AppTest.java

    package com.lfy.cn.JexcelapiTest;
    
    import java.io.IOException;
    
    import junit.framework.Test;
    import junit.framework.TestCase;
    import junit.framework.TestSuite;
    import jxl.read.biff.BiffException;
    import jxl.write.WriteException;
    import jxl.write.biff.RowsExceededException;
    
    /**
     * Unit test for simple App.
     */
    public class AppTest 
        extends TestCase
    {
        /**
         * Create the test case
         *
         * @param testName name of the test case
         */
        public AppTest( String testName )
        {
            super( testName );
        }
    
        /**
         * @return the suite of tests being tested
         */
        public static Test suite()
        {
            return new TestSuite( AppTest.class );
        }
    
        /**
         * Rigourous Test :-)
         */
        public void testApp()
        {
            String res="0";
    //        try {
    //            res=App.createSheet();
    //        } catch (RowsExceededException e) {
    //            e.printStackTrace();
    //        } catch (WriteException e) {
    //            e.printStackTrace();
    //        } catch (IOException e) {
    //            e.printStackTrace();
    //        }
            
            try {
                res=App.readSheet();
            } catch (BiffException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            assertEquals("1",res);
        }
    }
  • 相关阅读:
    python实现对单机游戏内存修改
    python_turtle模板画图
    Android向Rest服务Post数据遇到的Date类型数据问题
    Jquery根据字段内容设置字段宽度
    LLVM安装
    impala编译
    JS一些简单的问题
    小三角形的制作方法
    js中的一些简单问题
    另一部分页面
  • 原文地址:https://www.cnblogs.com/ZeroMZ/p/11468340.html
Copyright © 2011-2022 走看看