zoukankan      html  css  js  c++  java
  • java利用jxl操作Excel

    /**
         * 把从数据库查询到的数据,写入电子表格
         * 
         * @throws Exception
         */
        public void createXls() throws Exception {
    
            Dao dao = new Dao();
            List<Inf> list = dao.getList();//得到数据
            
            /*****************************************************/
            OutputStream out = new FileOutputStream("e:/数据报表.xls");//产生输出流,用于输出文件 
            
            //工作簿
            WritableWorkbook wb = Workbook.createWorkbook(out);//它输出的内容,将会输出到out流对应的文件中        
            
            //利用wb产生一张工作表
            WritableSheet st = wb.createSheet("我的工作表",0);//产生工作表,它是工作簿中的第1张表
            
            //产生label,它就是显示x行x列的数据
            Label idLabel = new Label(0,0,"编号");
            Label nameLabel = new Label(1,0,"姓名");
            Label ageLabel = new Label(2,0,"年龄");
            
            //把label添加到对应的位置
            st.addCell(idLabel);
            st.addCell(nameLabel);
            st.addCell(ageLabel);
            
            for(int i=0;i<list.size();i++){
                Inf f = list.get(i);//取得集合中的每一个对象
                Label id = new Label(0,i+1,f.getId().toString());
                Label name = new Label(1,i+1,f.getName());
                Label age = new Label(2,i+1,f.getAge().toString());
                
                st.addCell(id);
                st.addCell(name);
                st.addCell(age);
            }
        
            
            //输出工作簿
            wb.write();
            wb.close();
            out.close();


    数据:

    /**
         * 从数据库中查询
         * @return
         */
        public List<Inf> getList(){
            List<Inf> list= new ArrayList<Inf>();
            
            list.add(new Inf(1,"jack",23));
            list.add(new Inf(2,"tom",25));
            list.add(new Inf(3,"bruce",22));
            
            return list;
        }

    jxl读取Excel

    /**
         * 把电子表格中的数据,读入到程序中
         */
        public void readXls() throws Exception {
    
            // 1、用输入流读取文件
            InputStream in = new FileInputStream("c:/数据报表.xls");
    
            // 2、根据输入流中的信息,得到电子表格文档--------工作簿
            Workbook wb = Workbook.getWorkbook(in);
    
            // int sheets = wb.getNumberOfSheets();//得到当前工作簿包含几张表
            Sheet st = wb.getSheet(0);// 取得工作簿中的第一张表
    
            // 3、取得电子表格的总行数
            int rows = st.getRows();
    
            // 4、取得电子表格的总列数
            int columns = st.getColumns();
    
            System.out.println("编号	名称	价格");
    
            for (int i = 1; i < rows; i++) {// 循环每一行
                for (int j = 0; j < columns; j++) { // 循环每一列
                    Cell c = st.getCell(j, i);
                    System.out.print(c.getContents() + "	");
                }
                System.out.println("");
            }
            in.close();
    
        }

    jxl的jar包:jxl.jar

  • 相关阅读:
    Heidisql导入导出SQL脚本
    递归遍历删除children为[]的children
    将v-model的值绑定到vuex中时遇到的问题及解决办法(computed替代watch)
    为什么不建议v-for和v-if一起使用
    vue全选和取消全选的实现方式(主要是理解computed中的set和get)
    全部设置为仅查看/可编辑【第三种方法:computed】
    全部设置为仅查看/可编辑【第二种方法:watch+methods】
    全部设置为仅查看/可编辑【第一种方法:watch】
    v-model的三个修饰符
    在表单元素上使用v-model的注意事项
  • 原文地址:https://www.cnblogs.com/gavenQin/p/5628917.html
Copyright © 2011-2022 走看看