当前位置: 代码迷 >> Java相关 >> JAVA实现Excel的读写-jxl
  详细解决方案

JAVA实现Excel的读写-jxl

热度:378   发布时间:2016-04-22 20:27:05.0
JAVA实现Excel的读写--jxl

  前段时间因为开发网站的需要,研究了一下java实现excel的读写,一般当我们做管理软件时,都需要打印报表,报表如何制作呢?相信一定难为过大家,本篇就为大家揭开它的神秘面纱,学习完半篇,你一定会对报表的制作有一个深刻的认识。

  话不多说,下面我们开始本篇的总结,生成excel方式多种多样,本篇就以最简单的通过借助jxl.jar来实现该功能为例开始excel生成。

  对于jxl.jar的下载,大家可以到网上收索一下,不难找的。有了这些,我们就可以开始相关代码的设计了。

  1、创建一个web项目,把jxl.jar导入。

  2、创建excel文档:

import java.io.File;import jxl.Workbook;import jxl.write.Label;import jxl.write.WritableSheet;import jxl.write.WritableWorkbook;public class jsl_write {    /**     * 创建一个excel文件写入操作     * @param args     */    public static void main(String[] args) {        File file = new File("E:/cnblogs/jsl_text.xls");//生成的表格存储的位置        String [] str = {"id","name","sex"};//标题内容        try {            if(!file.exists()){//判断文件是否存在                file.createNewFile();//创建新的文件            }            //创建工作簿            WritableWorkbook workbook = Workbook.createWorkbook(file);            //创建sheet对象            WritableSheet sheet = workbook.createSheet("sheet1", 0);            //行对象            Label label = null;                        //添加标题            for (int i = 0; i < str.length; i++) {                /**                 * Label(i,j,String);                 * i:列                 * j:行                 * String:表示内容                 */                label = new Label(i, 0, str[i]);                sheet.addCell(label);            }                        //添加数据            for (int i = 1; i <= 10; i++) {                label = new Label(0, i, i+"");                sheet.addCell(label);                label = new Label(1, i, "name"+i);                sheet.addCell(label);                label = new Label(2, i, "男");                sheet.addCell(label);            }            workbook.write();//把表格信息写入文件            workbook.close();//关闭        } catch (Exception e) {            e.printStackTrace();        }        System.out.println("表格生成!");    }}

  3、读取excel中的文件:

import java.io.File;import jxl.Cell;import jxl.Sheet;import jxl.Workbook;public class jsl_reading {    public static void main(String[] args) {        File file = new File("E:/cnblogs/jsl_text.xls");//表格存储的位置        try{            if(file.exists()){//判断文件是否存在                //创建工作簿                Workbook workbook = Workbook.getWorkbook(file);                //获得第一个工作表sheet1                Sheet sheet = workbook.getSheet(0);                                //获得数据                for (int i = 0; i < sheet.getRows(); i++) {//sheet.getRows():获得表格文件行数                    for (int j = 0; j < sheet.getColumns(); j++) {//sheet.getColumns():获得表格文件列数                        Cell cell = sheet.getCell(j,i);                        System.out.print(cell.getContents()+" ");                    }                    System.out.println("");                }                workbook.close();//关闭            }else{                System.out.println("文件不存在");            }        }catch (Exception e) {            e.printStackTrace();        }    }}

  是不是很简单,相信大家都已经学会了,当然对于网站中需要生成报表的功能,其实就是首先创建一个excel文件,然后下载到本地的过程。大家有兴趣可以去研究一下,有什么疑问欢迎留言。

1楼小-欢-欢
可以边读数据,边向ServletOuputStream写,不需要先在服务器上生成好
Re: 小破孩123
@小-欢-欢,谢谢指点
  相关解决方案