JXL(针对Excel操作)系列之一:最简单的导出操作

import java.io.File; 
import java.io.FileNotFoundException; 
import java.io.FileOutputStream; 
import java.io.OutputStream; 
import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.ResultSet; 
import java.sql.Statement; 
import java.util.Vector; 

import jxl.write.Label; 
import jxl.write.WritableSheet; 
import jxl.write.WritableWorkbook; 
import jxl.Workbook; 

public class ExportExcel { 

    /** 
     * 这里主要是实现以main函数形式的导出操作.这里是实际从数据库当中导出数据,当然操作形式相当多. 
     * 这里主要来说说核心其实就是将数据写入到Excel当中,其中有一些修饰之类的就不加以累述了.比如头部,标题.字体,宽高...等等, 
     *  
     * 这个是一个可运行程序,实际运用也许不大,这里采用最简单的方式来说明它所用到的核心东西就够了.接着还会以WEB形式展示其上传下载功能. 
     *  
     * 一切没有封装,就是直接填充到Excel当中去. 
     *  
     * Author: loshua 
     * Date : 2010-03-08 
     *  
     * 这里以从Oracle和MySQL的一个表当中导出数据为例子,来说明一下实际的操作. 
     *  
     * 再次声明,这里就是一些很简单的内容来说明. 
     *  
     * 首先是最简单的MySQL导出数据.(Oracle一样的) 
     *  
     */ 
    public static void main(String[] args) { 
        //(第一:)首先:导出数据,需要导出到一个你命名的文件里面,这里当然是Excel类型文件.所以这里就建立. 
        File excelFile = new File("c:\\测试.xls");//这里直接建立文件到目录下, 
        try{ 
            excelFile.createNewFile(); 
        }catch(Exception e){ 
            // 
        } 
        //(第一步完成)这里就直接操作,没有用到文件流之类的,下次会用到. 
         
         
        //(第二:)要导出Excel,数据必不可少的,所以这里先来把数据取好吧, 
        try{ 
            //成功取得数据. 
            Class.forName("com.mysql.jdbc.Driver").newInstance(); 
            Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:5885/excel","root","5885"); 
            Statement  stat = conn.createStatement(); 
            ResultSet  rest = stat.executeQuery("select * from test"); 
            //System.out.println(rest);可以测试一下. 
            //(第二步完成) 
             
             
            /* 
             * (第三:)数据得到,然后就是填充, 
             *  
             * 这里直接将数据填充到表当中. 
             *  
             * 然后就是填充了,填充是一个过程, 
             */ 
            //建立导出到这个文件. 
            WritableWorkbook writBook = Workbook.createWorkbook(excelFile); 
            //这个其实就是让其填充到Excel的第一页,就是从0开始而已.因为一个Excel文件可以在下方翻页,可以有很多的页码. 
            //第一个参数就是你为某页设置的标题,第二个是第几页.这里标题和页码不要重复,不然会出现bug,以下只是说明,可以运行试试. 
            WritableSheet    writShet = writBook.createSheet("第一页", 0); 
            WritableSheet    writShet1 = writBook.createSheet("第二页", 1); 
            //这个就是实际的每一页的表格了,它就是实际的数据所在,它可以添加很多的数据然后填充到每一页当中. 
            /** 
             * 说明一下,这里的Label 其实就是按照参数设置来填充数据的, 
             * 它有一些参数设定.它有好几个参数,最主要的就是前面三个吧, 
             *  
             * 第一个是列,也就是第几列 
             * 第二个是行,也就是第几行 
             * 第三个就是填充到这个坐标的数据. 
             * 还有后面的参数,(字体什么的.)大家可以参考API 
             */ 
            Label            label    = null; 
            int i = 0; 
            while(rest.next()){ 
                label = new Label(0,i,rest.getString(1)); 
                writShet.addCell(label); 
                label = new Label(0,i,rest.getString(1)); 
                writShet1.addCell(label); 
                label = new Label(1,i,rest.getString(2)); 
                writShet.addCell(label); 
                label = new Label(1,i,rest.getString(2)); 
                writShet1.addCell(label); 
                i++; 
            } 
            writBook.write(); 
            writBook.close(); 
            stat.close();
            conn.close(); 
            //(第三步完成) 
        }catch(Exception e){ 
            System.out.println(e.getMessage()); 
        } 
    } 
} 

 

你可能感兴趣的:(java,oracle,mysql,Excel,REST)