java中导入、导出excel

   
 
   
  xmlns="http://www.w3.org/1999/xhtml">
   
 
   
  rel="canonical" href="http://blog.csdn.net/jerehedu/article/details/45195359"/>
  http-equiv="Cache-Control" content="no-siteapp" />rel="alternate" media="handheld" href="#" />
   
  </span>Java中导入、导出Excel </td> </tr> <tr> <td class="line-number"> </td> <td class="line-content">- 博客频道 - CSDN.NET<span class="html-tag">
  http-equiv="Content-Type" content="text/html; charset=utf-8" />
  name="description" content="一、介绍  当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样子要求:你要把我们的报表直接用Excel打开(电信系统、银行系统)。或者是:我们已经习惯用Excel打印。这样在我们实际的开发中,很多时候需要实现导入、导出Excel的应用。  目前,比较常用的实现Java导入、导出Excel的技术有两种Jakarta POI和Java Excel  下面我就" />
   
 
   
   
 
  rel="stylesheet" href="http://c.csdnimg.cn/public/common/toolbar/css/index.css">
   
 
 
 
   
  rel="Stylesheet" type="text/css" href="http://static.blog.csdn.net/skin/skin-white/css/style.css?v=1.1" />
   
   
   
  id="RSSLink" title="RSS" type="application/rss+xml" rel="alternate" href="/JerehEdu/rss/list" />
  rel="shortcut icon" href="http://c.csdnimg.cn/public/favicon.ico" />
  type="text/css" rel="stylesheet" href="http://static.blog.csdn.net/scripts/SyntaxHighlighter/styles/default.css" />
   
   
   
  rel="stylesheet" href="http://static.blog.csdn.net/css/csdn_blog_detail.min.css" />
   
 
 
   
   
 
   
   
 
   
   
   
   
 
   
 
   
   
   
 
 
 
 
id="container">
 
id="header">
 
class="header">
 
id="blog_title">
 

  href="http://blog.csdn.net/jerehedu">杰瑞教育
 

致力IT培训领域,打造一流人才服务平台

 
class="clear">
 
 
 
class="clear">
 
   
   
 
 
 
id="navigator">
 
class="navigator_bg">
 
 
class="navigator">
 
     
  • id="btnContents">href="http://blog.csdn.net/jerehedu?viewmode=contents">onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_mulu'])">
  •   src="http://static.blog.csdn.net/images/ico_list.gif">目录视图
     
  • id="btnView">href="http://blog.csdn.net/jerehedu?viewmode=list">onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_zhaiyao'])">
  •   src="http://static.blog.csdn.net/images/ico_summary.gif">摘要视图
     
  • id="btnRss">href="http://blog.csdn.net/jerehedu/rss/list">onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_RSS'])">
  •   src="http://static.blog.csdn.net/images/ico_rss.gif">订阅
       
       
     
     
     
     
       
     
    id="body">
     
    id="main">
     
    class="main">
     
    class="ad_class">
     
    class="notice tracking-ad" data-mod='popu_3' >
       
       
      href="http://blog.csdn.net/blogdevteam/article/details/71710010">
      color=blue>【活动】2017 CSDN博客专栏评选
       
          
       
      href=" http://blog.csdn.net/broadview2006/article/details/72677185">
      color=red>【评论送书】SQL优化、深度学习、数据科学家
          
       
      href="http://blog.csdn.net/blogdevteam/article/details/72725354">
      color=blue>CSDN日报20170525 ——《狗蛋的寻亲之路,结识嵌入式世界的那只狗》
     
       
          
       
      href=" http://blog.csdn.net/blogdevteam/article/details/72626843">
      color=red>Python创意编程活动结果公布
       
       
     
       
       
       
       
       
       
       
       
       
       
       
     
       
     
     
    id="article_details" class="details">
     
    class="article_title">
      class="ico ico_type_Original">
       
       
     

      class="link_title">href="/jerehedu/article/details/45195359">
      Java中导入、导出Excel
     
     
     
       
       
       
     
    class="article_manage clearfix">
     
    class="article_r">
      class="link_postdate">2015-04-22 15:03
      class="link_view" title="阅读次数">2110人阅读
      class="link_comments" title="评论次数"> href="#comments" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_pinglun'])">评论(1)
      class="link_collect tracking-ad" data-mod="popu_171"> href="javascript:void(0);" onclick="javascript:collectArticle('Java%e4%b8%ad%e5%af%bc%e5%85%a5%e3%80%81%e5%af%bc%e5%87%baExcel','45195359');return false;" title="收藏">收藏
      class="link_report"> href="#report" onclick="javascript:report(45195359,2);return false;" title="举报">举报
       
     
     
     
    class="embody" style="display:none" id="embody">
      class="embody_t">本文章已收录于:
     
    class="embody_c" id="lib" value="{"err":0,"msg":"ok","data":[]}">
     
     
     
     
    class="category clearfix">
     
    class="category_l">
      src="http://static.blog.csdn.net/images/category_icon.jpg">
      分类:
     
     
    class="category_r">
      ="GetCategoryArticles('2807947','JerehEdu','top','45195359');">
      onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_fenlei']);">java技术分享(14)
      class="arrow-down" src="http://static.blog.csdn.net/images/arrow_triangle _down.jpg" style="display:inline;">
      class="arrow-up" src="http://static.blog.csdn.net/images/arrow_triangle_up.jpg" style="display:none;">
     
    class="subItem">
     
     
      class="subItem_l" id="top_2807947">
     
     
     
     
     
     
    class="bog_copyright">
     

    class="copyright_p" >版权声明:本文为博主原创文章,未经博主允许不得转载。

     
       
       
       
       
       
       
       
       
     
    id="article_content" class="article_content tracking-ad" data-mod=popu_307 data-dsm = "post" >
       
      border="0" style="border:0px solid #000000; border-collapse:collapse; word-break:break-word; color:#333333; font-family:Georgia,'Times New Roman',Times,sans-serif; font-size:14px; line-height:25px; width:100%; height:38px; background-color:#1570a6">
     
     
      style="border-style:solid; border-color:silver; border-collapse:collapse; padding:3px">
      style="font-family:'Microsoft YaHei'">style="color:#ffffff; font-size:14pt">一、介绍
     
     
     
     

    class="p0">style="font-family:'Microsoft YaHei'; font-size:14px">  当前B/S模式已成为应用开发的主流,而在企业办公系统中,常常有客户这样子要求:你要把我们的报表直接用Excel打开(电信系统、银行系统)。或者是:我们已经习惯用Excel打印。这样在我们实际的开发中,很多时候需要实现导入、导出Excel的应用。

     

    style="font-family:'Microsoft YaHei'; font-size:14px">  目前,比较常用的实现Java导入、导出Excel的技术有两种Jakarta POI和Java Excel

     

    style="font-family:'Microsoft YaHei'; font-size:14px">  下面我就分别讲解一下如何使用这两个技术实现导入、导出Excel

      border="0" style="border:0px solid #000000; border-collapse:collapse; word-break:break-word; color:#333333; font-family:Georgia,'Times New Roman',Times,sans-serif; font-size:14px; line-height:25px; width:100%; height:38px; background-color:#1570a6">
     
     
      style="border-style:solid; border-color:silver; border-collapse:collapse; padding:3px">
      style="font-family:'Microsoft YaHei'">style="color:#ffffff; font-size:14pt">二、使用Jakarta POI导入、导出Excel
     
     
     
     

    style="font-family:'Microsoft YaHei'; font-size:14px">  Jakarta POI 是一套用于访问微软格式文档的Java API。Jakarta POI有很多组件组成,其中有用于操作Excel格式文件的HSSF和用于操作Word的HWPF,在各种组件中目前只有用于操作Excel的HSSF相对成熟。官方主页target="_blank" href="http://poi.apache.org/index.html">http://poi.apache.org/index.html,API文档target="_blank" href="http://poi.apache.org/apidocs/index.html">http://poi.apache.org/apidocs/index.html

     

    style="padding:5px 0px; color:#3399cc; font-size:18px; font-family:微软雅黑,宋体,黑体,Arial; height:25px; line-height:25px; border-bottom-width:1px; border-bottom-style:solid; border-bottom-color:#3399cc; margin:15px!important">

      2.1 环境配置
     

    style="font-family:'Microsoft YaHei'; font-size:14px">  2.1.1下载jar

     

    style="font-family:'Microsoft YaHei'; font-size:14px">  官方下载:target="_blank" href="http://poi.apache.org/download.html">http://poi.apache.org/download.html这里可以下载到它的最新版本和文档,目前最新版本是3.7,这里使用比较稳定的3.6版。

     

    style="font-family:'Microsoft YaHei'; font-size:14px">  2.1.2加入jar包

     

    style="font-family:'Microsoft YaHei'; font-size:14px">  将根目录下的poi-3.6-20091214.jar和Lib目录下三个通用包 commons-logging-1.1.jar junit-3.8.1.jar log4j-1.2.13.jar拷贝到项目的Lib下

     

    style="padding:5px 0px; color:#3399cc; font-size:18px; font-family:微软雅黑,宋体,黑体,Arial; height:25px; line-height:25px; border-bottom-width:1px; border-bottom-style:solid; border-bottom-color:#3399cc; margin:15px!important">

      2.2 Jakarta POI HSSF API组件
     

    class="p0">style="font-family:'Microsoft YaHei'; font-size:14px">  HSSF(用于操作Excel的组件)提供给用户使用的对象在rg.apache.poi.hssf.usermodel包中,主要部分包括Excel对象,样式和格式,还有辅助操作。有以下几种对象:style="font-family:'Microsoft YaHei'"> 

     
     

    class="p0">style="font-family:'Microsoft YaHei'; font-size:14px">常用组件:

     

    class="p0">style="font-family:'Microsoft YaHei'; font-size:14px">HSSFWorkbook                      excel的文档对象

     

    class="p0">style="font-family:'Microsoft YaHei'; font-size:14px">HSSFSheet                         excel的表单

     

    class="p0">style="font-family:'Microsoft YaHei'; font-size:14px">HSSFRow                           excel的行

     

    class="p0">style="font-family:'Microsoft YaHei'; font-size:14px">HSSFCell                          excel的格子单元

     

    class="p0">style="font-family:'Microsoft YaHei'; font-size:14px">HSSFFont                          excel字体

     

    class="p0">style="font-family:'Microsoft YaHei'; font-size:14px">HSSFDataFormat                    日期格式

     

    class="p0">style="font-family:'Microsoft YaHei'; font-size:14px">HSSFHeader                        sheet头

     

    class="p0">style="font-family:'Microsoft YaHei'; font-size:14px">HSSFFooter                        sheet尾(只有打印的时候才能看到效果)

     

    class="p0">style="font-family:'Microsoft YaHei'; font-size:14px">样式:

     

    class="p0">style="font-family:'Microsoft YaHei'; font-size:14px">HSSFCellStyle                       cell样式

     

    class="p0">style="font-family:'Microsoft YaHei'; font-size:14px">辅助操作包括:

     

    class="p0">style="font-family:'Microsoft YaHei'; font-size:14px">HSSFDateUtil                        日期

     

    class="p0">style="font-family:'Microsoft YaHei'; font-size:14px">HSSFPrintSetup                      打印

     

    class="p0">style="font-family:'Microsoft YaHei'; font-size:14px">HSSFErrorConstants                  错误信息表

     
     

    style="padding:5px 0px; color:#3399cc; font-size:18px; font-family:微软雅黑,宋体,黑体,Arial; height:25px; line-height:25px; border-bottom-width:1px; border-bottom-style:solid; border-bottom-color:#3399cc; margin:15px!important">

      2.3 基本操作步骤
     

    style="font-family:'Microsoft YaHei'; font-size:14px">  首先,理解一下一个Excel的文件的组织形式,一个Excel文件对应于一个workbook(HSSFWorkbook),一个workbook可以有多个sheet(HSSFSheet)组成,一个sheet是由多个row(HSSFRow)组成,一个row是由多个cell(HSSFCell)组成。

     

    style="font-family:'Microsoft YaHei'; font-size:14px">  基本操作步骤:

     
     

    style="font-family:'Microsoft YaHei'; font-size:14px">1、用HSSFWorkbook打开或者创建“Excel文件对象”

     

    style="font-family:'Microsoft YaHei'; font-size:14px">2、用HSSFWorkbook对象返回或者创建Sheet对象

     

    style="font-family:'Microsoft YaHei'; font-size:14px">3、用Sheet对象返回行对象,用行对象得到Cell对象

     

    style="font-family:'Microsoft YaHei'; font-size:14px">4、对Cell对象读写。

     
     

    style="font-family:'Microsoft YaHei'; font-size:14px">  下面来看一个动态生成Excel文件的例子:

     
    class="cnblogs_code">
     
    name="code" class="java">//创建HSSFWorkbook对象
      HSSFWorkbook wb = new HSSFWorkbook();
      //创建HSSFSheet对象
      HSSFSheet sheet = wb.createSheet("sheet0");
      //创建HSSFRow对象
      HSSFRow row = sheet.createRow(0);
      //创建HSSFCell对象
      HSSFCell cell=row.createCell(0);
      //设置单元格的值
      cell.setCellValue("单元格中的中文");
      //输出Excel文件
      FileOutputStream output=new FileOutputStream("d:\\workbook.xls");
      wkb.write(output);
      output.flush();
     
     

    style="font-family:'Microsoft YaHei'; font-size:14px">  HSSF读取文件同样还是使用这几个对象,只是把相应的createXXX方法变成了getXXX方法即可。可见只要理解了其中原理,不管是读还是写亦或是特定格式都可以轻松实现,正所谓知其然更要知其所以然。

     

    style="padding:5px 0px; color:#3399cc; font-size:18px; font-family:微软雅黑,宋体,黑体,Arial; height:25px; line-height:25px; border-bottom-width:1px; border-bottom-style:solid; border-bottom-color:#3399cc; margin:15px!important">

      2.4 导出Excel应用实例
     

    style="font-family:'Microsoft YaHei'; line-height:1.5">   在2.3中我们寥寥几行代码实际上就已经就是实现了导出Excel一个简单示例,下面我们在看如何实现导出如图所示的Excel表格?

     

    style="font-family:'Microsoft YaHei'; line-height:1.5">src="http://images.cnitblog.com/blog2015/708076/201503/170838550954408.png" alt="">

     

    style="font-family:'Microsoft YaHei'; line-height:1.5">  代码如下:(实际开发中应封装到业务层组件中,然后在控制层中调用。这里直接写在控制层组件,如Servlet的doGet/doPost方法或Struts框架的execute方法中)

     
    class="cnblogs_code">
     
    name="code" class="java">//创建HSSFWorkbook对象(excel的文档对象)
      HSSFWorkbook wb = new HSSFWorkbook();
      //建立新的sheet对象(excel的表单)
      HSSFSheet sheet=wkb.createSheet("成绩表");
      //在sheet里创建第一行,参数为行索引(excel的行),可以是0~65535之间的任何一个
      HSSFRow row1=sheet.createRow(0);
      //创建单元格(excel的单元格,参数为列索引,可以是0~255之间的任何一个
      HSSFCell cell=row1.createCell(0);
      //设置单元格内容
      cell.setCellValue("学员考试成绩一览表");
      //合并单元格CellRangeAddress构造参数依次表示起始行,截至行,起始列, 截至列
      sheet.addMergedRegion(new CellRangeAddress(0,0,0,3));
      //在sheet里创建第二行
      HSSFRow row2=sheet.createRow(1);
      //创建单元格并设置单元格内容
      row2.createCell(0).setCellValue("姓名");
      row2.createCell(1).setCellValue("班级");
      row2.createCell(2).setCellValue("笔试成绩");
      row2.createCell(3).setCellValue("机试成绩");
      //在sheet里创建第三行
      HSSFRow row3=sheet.createRow(2);
      row3.createCell(0).setCellValue("李明");
      row3.createCell(1).setCellValue("As178");
      row3.createCell(2).setCellValue(87);
      row3.createCell(3).setCellValue(78);
      //.....省略部分代码
       
       
      //输出Excel文件
      OutputStream output=response.getOutputStream();
      response.reset();
      response.setHeader("Content-disposition", "attachment; filename=details.xls");
      response.setContentType("application/msexcel");
      wkb.write(output);
      output.close();
      retrun null;
     
     

    style="font-family:'Microsoft YaHei'; font-size:14px">  加下划线这部分代码是B/S模式中采用的输出方式,而不是输出到本地指定的磁盘目录。该代码表示将details.xls的Excel文件通过应答实体(response)输出给请求的客户端浏览器,客户端可保存或直接打开。

     

    style="padding:5px 0px; color:#3399cc; font-size:18px; font-family:微软雅黑,宋体,黑体,Arial; height:25px; line-height:25px; border-bottom-width:1px; border-bottom-style:solid; border-bottom-color:#3399cc; margin:15px!important">

      2.5 样式设置
     

    style="font-family:'Microsoft YaHei'; font-size:14px">  在实际应用中导出的Excel文件往往需要阅读和打印的,这就需要对输出的Excel文档进行排版和样式的设置,主要操作有合并单元格、设置单元格样式、设置字体样式等。

     

    style="font-family:'Microsoft YaHei'; font-size:14px">  2.5.1单元格合并

     

    style="font-family:'Microsoft YaHei'; font-size:14px">    使用HSSFSheet的addMergedRegion()方法

     
    class="cnblogs_code">
     
    name="code" class="java">public int addMergedRegion(CellRangeAddress region)
     
     

    style="font-family:'Microsoft YaHei'; font-size:14px">    参数CellRangeAddress 表示合并的区域,构造方法如下:

     
    class="cnblogs_code">
     
    name="code" class="java">CellRangeAddress(int firstRow, int lastRow, int firstCol, int lastCol)
     
     

    class="p0">style="font-family:'Microsoft YaHei'; font-size:14px">  构造参数依次表示起始行,截至行,起始列, 截至列。style="font-family:'Microsoft YaHei'">示例代码参照2.4部分

     

    style="font-family:'Microsoft YaHei'; font-size:14px">2.5.2设置单元格的行高、列宽

     
     
    class="cnblogs_code">
     
    name="code" class="java">HSSFSheet sheet=wb.createSheet();
       
      sheet.setDefaultRowHeightInPoints(10);//设置缺省列高sheet.setDefaultColumnWidth(20);//设置缺省列宽
       
      //设置指定列的列宽,256 * 50这种写法是因为width参数单位是单个字符的256分之一
       
      sheet.setColumnWidth(cell.getColumnIndex(), 256 * 50);
     
     
     

    style="font-family:'Microsoft YaHei'; font-size:14px">  2.5.2单元格样式

     

    style="font-family:'Microsoft YaHei'; font-size:14px">  1、创建HSSFCellStyle

     
     
    class="cnblogs_code">
     
    name="code" class="java"> HSSFCellStyle cellStyle=wkb.createCellStyle()
     
     
     

    style="font-family:'Microsoft YaHei'; font-size:14px">  2、设置样式

     
     
    class="cnblogs_code">
     
    name="code" class="java"> // 设置单元格的横向和纵向对齐方式,具体参数就不列了,参考HSSFCellStyle
       
      cellStyle.setAlignment(HSSFCellStyle.ALIGN_JUSTIFY);
       
      cellStyle.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);
       
      /* 设置单元格的填充方式,以及前景颜色和背景颜色
       
      三点注意:
       
      1.如果需要前景颜色或背景颜色,一定要指定填充方式,两者顺序无所谓;
       
      2.如果同时存在前景颜色和背景颜色,前景颜色的设置要写在前面;
       
      3.前景颜色不是字体颜色。
       
      */
       
      //设置填充方式(填充图案)
       
      cellStyle.setFillPattern(HSSFCellStyle.DIAMONDS);
       
      //设置前景色
       
      cellStyle.setFillForegroundColor(HSSFColor.RED.index);
       
      //设置背景颜色
       
      cellStyle.setFillBackgroundColor(HSSFColor.LIGHT_YELLOW.index);
       
      // 设置单元格底部的边框及其样式和颜色
       
      // 这里仅设置了底边边框,左边框、右边框和顶边框同理可设
       
      cellStyle.setBorderBottom(HSSFCellStyle.BORDER_SLANTED_DASH_DOT);
       
      cellStyle.setBottomBorderColor(HSSFColor.DARK_RED.index);
       
      //设置日期型数据的显示样式
       
      cellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("m/d/yy h:mm"));
     
     
     

    style="font-family:'Microsoft YaHei'; font-size:14px">  3、将样式应用于单元格

     
     
    class="cnblogs_code">
     
    name="code" class="java"> cell.setCellStyle(cellStyle);
       
      //将样式应用到行,但有些样式只对单元格起作用
       
      row.setRowStyle(cellStyle);
     
     
     

    style="font-family:'Microsoft YaHei'; font-size:14px">  2.5.2设置字体样式

     

    style="font-family:'Microsoft YaHei'; font-size:14px">  1、创建HSSFFont对象(调用HSSFWorkbook 的createFont方法)

     
     
    class="cnblogs_code">
     
    name="code" class="java">HSSFWorkbook wb=new HSSFWorkbook();
       
      HSSFFont fontStyle=wb.createFont();
       
      HSSFWorkbook wb=new HSSFWorkbook ();
     
     
     

    style="font-family:'Microsoft YaHei'; font-size:14px">  2、设置字体各种样式

     
     
    class="cnblogs_code">
     
    name="code" class="java"> //设置字体样式
       
      fontStyle.setFontName("宋体");
       
      //设置字体高度
       
      fontStyle.setFontHeightInPoints((short)20);
       
      //设置字体颜色
       
      font.setColor(HSSFColor.BLUE.index);
       
      //设置粗体
       
      fontStyle.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
       
      //设置斜体
       
      font.setItalic(true);
       
      //设置下划线
       
      font.setUnderline(HSSFFont.U_SINGLE);
     
     
     

    style="font-family:'Microsoft YaHei'; font-size:14px">  3、将字体设置到单元格样式

     

    style="font-family:'Microsoft YaHei'; font-size:14px">

    name="code" class="java">//字体也是单元格格式的一部分,所以从属于HSSFCellStyle
       
      // 将字体对象赋值给单元格样式对象
       
      cellStyle.setFont(font);
       
      // 将单元格样式应用于单元格
       
      cell.setCellStyle(cellStyle);

     
    class="cnblogs_code">
     
     
     

    style="padding:5px 0px; color:#3399cc; font-size:18px; font-family:微软雅黑,宋体,黑体,Arial; height:25px; line-height:25px; border-bottom-width:1px; border-bottom-style:solid; border-bottom-color:#3399cc; margin:15px!important">

      2.6 导入Excel应用实例
     

    style="font-family:'Microsoft YaHei'; font-size:14px">  实现将已存在的Excel文件中的数据导入到系统中的基本步骤同导出十分的类似,关键在于要了解要导入Excel文件的结构,比如数据有哪些列、读取数据起始位置(有效数据从第几行几列开始)等。在实际项目中由于这些数据(Excel文件)往往来自于日常办公人员或其他系统平台产生的业务数据,因此这些Excel文件的数据格式要有统一的要求,并提供访问接口(指访问途径),这样在所需数据的系统中就可通过提供这个访问接口调用方法,从而获得数据。解决方案采用Web

      Service是不错的选择。这里,我们就以导入2..4所产生的excel表为例,重点掌握如何编写导入Excel代码

     
    class="cnblogs_code">
     
    name="code" class="java">public List<ScoreInfo> loadScoreInfo(String xlsPath) throws IOException{
      List temp = new ArrayList();
      FileInputStream fileIn = new FileInputStream(xlsPath);
      //根据指定的文件输入流导入Excel从而产生Workbook对象
      Workbook wb0 = new HSSFWorkbook(fileIn);
      //获取Excel文档中的第一个表单
      Sheet sht0 = wb0.getSheetAt(0);
      //对Sheet中的每一行进行迭代
      for (Row r : sht0) {
      //如果当前行的行号(从0开始)未达到2(第三行)则从新循环
      If(r.getRowNum()<1){
      continue;
      }
      //创建实体类
      ScoreInfo info=new ScoreInfo();
      //取出当前行第1个单元格数据,并封装在info实体stuName属性上
      info.setStuName(r.getCell(0).getStringCellValue());
      info.setClassName(r.getCell(1).getStringCellValue());
      info.setRscore(r.getCell(2).getNumericCellValue());
      info.setLscore(r.getCell(3).getNumericCellValue());
      temp.add(info);
      }
      fileIn.close();
      return temp;
      }
     
      border="0" style="border:0px solid #000000; border-collapse:collapse; word-break:break-word; color:#333333; font-family:Georgia,'Times New Roman',Times,sans-serif; font-size:14px; line-height:25px; width:100%; height:38px; background-color:#1570a6">
     
     
      style="border-style:solid; border-color:silver; border-collapse:collapse; padding:3px">
      style="font-family:'Microsoft YaHei'">style="color:#ffffff; font-size:14pt">三、使用java Excel操作Excel文件
     
     
     
     

    style="text-align:left">   style="font-family:'Microsoft YaHei'">Java Excel是一开放源码项目,通过它Java开发人员可以读取Excel文件的内容、创建新的Excel文件、更新已经存在的Excel文件。jxl 由于其小巧 易用的特点, 逐渐已经取代了 POI-excel的地位, 成为了越来越多的java开发人员生成excel文件的首选。Java  Excel的特征:

     
     

    style="font-family:'Microsoft YaHei'; font-size:14px">● 支持Excel 95-2000的所有版本

     
      style="font-family:'Microsoft YaHei'; font-size:14px">         ● 生成Excel 2000标准格式
     
      style="font-family:'Microsoft YaHei'; font-size:14px">         ● 支持字体、数字、日期格式化操作
     
      style="font-family:'Microsoft YaHei'; font-size:14px">         ● 支持对单元格加阴影和加色彩;
     

     

    style="font-family:'Microsoft YaHei'; font-size:14px">● 修改存在的工作表;

      style="font-family:'Microsoft YaHei'; font-size:14px">         ● 支持图像和图表
     

     

    style="font-family:'Microsoft YaHei'; font-size:14px">● 日志记录可以定制

     

    style="font-family:'Microsoft YaHei'; font-size:14px">● 更小更快更省内存

     
     

    style="text-align:left">style="font-family:'Microsoft YaHei'; font-size:14px">  应该说以上功能已经能够大致满足我们的需要。最关键的是这套API是纯Java的,并不依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel文件。另外需要说明的是,这套API对图形和图表的支持很有限,而且仅仅识别PNG格式。在线帮助文档style="font-family:'Microsoft YaHei'">target="_blank" href="http://jexcelapi.sourceforge.net/resources/javadocs/2_6_10/docs/index.html">http://jexcelapi.sourceforge.net/resources/javadocs/2_6_10/docs/index.html

     

    style="text-align:left">style="font-family:'Microsoft YaHei'; font-size:14px">  在这里我们将通过一些实例,学习掌握读取、新建、更新,其中也包括常见格式的设置:字体、颜色、背景、合并单元格等操作,有这些其实已经基本足够应付大部分问题了。

     

    style="padding:5px 0px; color:#3399cc; font-size:18px; font-family:微软雅黑,宋体,黑体,Arial; height:25px; line-height:25px; border-bottom-width:1px; border-bottom-style:solid; border-bottom-color:#3399cc; margin:15px!important">

      3.1环境配置
     

    style="font-family:'Microsoft YaHei'; font-size:14px">  3.1.1下载

     

    style="font-family:'Microsoft YaHei'; font-size:14px">  下载地址    target="_blank" href="http://www.andykhan.com/jexcelapi/">

      http://www.andykhan.com/jexcelapi/

     

    style="font-family:'Microsoft YaHei'; font-size:14px">  3.1.2 加入jar包

     

    style="font-family:'Microsoft YaHei'; font-size:14px">  将jxl.jar拷贝到项目的Lib下

     

    style="padding:5px 0px; color:#3399cc; font-size:18px; font-family:微软雅黑,宋体,黑体,Arial; height:25px; line-height:25px; border-bottom-width:1px; border-bottom-style:solid; border-bottom-color:#3399cc; margin:15px!important">

      3.2 使用Java Excel Api 导出 Excel文件
     

    style="font-family:'Microsoft YaHei'; font-size:14px">  下面我们在看如何使用Java Excel实现导出Excel表格?

     

    style="font-family:'Microsoft YaHei'; font-size:14px">  代码如下:(实际开发中应封装到业务层组件中,然后在控制层中调用。这里直接写在控制层组件,如Servlet的doGet/doPost方法或Struts框架的execute方法中)

     

    style="font-family:'Microsoft YaHei'; font-size:14px">

    name="code" class="java">//获得输出流,该输出流的输出介质是客户端浏览器
       
      OutputStream output=response.getOutputStream();
       
      response.reset();
       
      response.setHeader("Content-disposition","attachment; filename=temp.xls");
       
      response.setContentType("application/msexcel");
       
      //创建可写入的Excel工作薄,且内容将写入到输出流,并通过输出流输出给客户端浏览
       
      WritableWorkbook wk=Workbook.createWorkbook(output);
       
       
      ///创建可写入的Excel工作表
       
      WritableSheet sheet=wk.createSheet("成绩表", 0);
       
      //把单元格(column, row)到单元格(column1, row1)进行合并。
       
      //mergeCells(column, row, column1, row1);
       
      sheet.mergeCells(0,0, 4,0);//单元格合并方法
       
      //创建WritableFont 字体对象,参数依次表示黑体、字号12、粗体、非斜体、不带下划线、亮蓝色
       
      WritableFont titleFont=new WritableFont(WritableFont.createFont("黑体"),12,WritableFont.BOLD,false,UnderlineStyle.NO_UNDERLINE,Colour.LIGHT_BLUE);
       
      //创建WritableCellFormat对象,将该对象应用于单元格从而设置单元格的样式
       
      WritableCellFormat titleFormat=new WritableCellFormat();
       
      //设置字体格式
       
      titleFormat.setFont(titleFont);
       
      //设置文本水平居中对齐
       
      titleFormat.setAlignment(Alignment.CENTRE);
       
      //设置文本垂直居中对齐
       
      titleFormat.setVerticalAlignment(VerticalAlignment.CENTRE);
       
      //设置背景颜色
       
      titleFormat.setBackground(Colour.GRAY_25);
       
      //设置自动换行
       
      titleFormat.setWrap(true);
       
      //添加Label对象,参数依次表示在第一列,第一行,内容,使用的格式
       
      Label lab_00=new Label(0,0,"学员考试成绩一览表",titleFormat);
       
      //将定义好的Label对象添加到工作表上,这样工作表的第一列第一行的内容为‘学员考试成绩一览表’并应用了titleFormat定义的样式
       
      sheet.addCell(lab_00);
       
      WritableCellFormat cloumnTitleFormat=new WritableCellFormat();
       
      cloumnTitleFormat.setFont(new WritableFont(WritableFont.createFont("宋体"),10,WritableFont.BOLD,false));
       
      cloumnTitleFormat.setAlignment(Alignment.CENTRE);
       
      Label lab_01=new Label(0,1,"姓名",cloumnTitleFormat);
       
      Label lab_11=new Label(1,1,"班级",cloumnTitleFormat);
       
      Label lab_21=new Label(2,1,"笔试成绩",cloumnTitleFormat);
       
      Label lab_31=new Label(3,1,"上机成绩",cloumnTitleFormat);
       
      Label lab_41=new Label(4,1,"考试日期",cloumnTitleFormat);
       
      sheet.addCell(lab_01);
       
      sheet.addCell(lab_11);
       
      sheet.addCell(lab_21);
       
      sheet.addCell(lab_31);
       
      sheet.addCell(lab_41);
       
      sheet.addCell(new Label(0,2,"李明"));
       
      sheet.addCell(new Label(1,2,"As178"));
       
      //定义数字格式
       
      NumberFormat nf=new NumberFormat("0.00");
       
      WritableCellFormat wcf=new WritableCellFormat(nf);
       
      //类似于Label对象,区别Label表示文本数据,Number表示数值型数据
       
      Number numlab_22=new Number(2,2,78,wcf);
       
      sheet.addCell(numlab_22);
       
      sheet.addCell(newNumber(3,2,87,new WritableCellFormat(new NumberFormat("#.##") )));
       
      //定义日期格式
       
      DateFormat df=new DateFormat("yyyy-MM-dd hh:mm:ss");
       
      //创建WritableCellFormat对象
       
      WritableCellFormat datewcf=new WritableCellFormat(df);
       
      //类似于Label对象,区别Label表示文本数据,DateTime表示日期型数据
       
      DateTime dtLab_42=new DateTime(4,2,new Date(),datewcf);
       
      sheet.addCell(dtLab_42);
       
      //将定义的工作表输出到之前指定的介质中(这里是客户端浏览器)
       
      wk.write();
       
      //操作完成时,关闭对象,释放占用的内存空间
       
      wk.close();
      加下划线这部分代码是B/S模式中采用的输出方式,而不是输出到本地指定的磁盘目录。该代码表示将temp.xls的Excel文件通过应答实体(response)输出给请求的客户端浏览器,下载到客户端本地(保存或直接打开)。若要直接输出到磁盘文件可采用下列代码替换加下划线这部分代码
      File file=new File("D://temp.xls");
      WritableWorkbook wwb = Workbook.createWorkbook(file);

     

    style="padding:5px 0px; color:#3399cc; font-size:18px; font-family:微软雅黑,宋体,黑体,Arial; height:25px; line-height:25px; border-bottom-width:1px; border-bottom-style:solid; border-bottom-color:#3399cc; margin:15px!important">

      3.3高级操作
     

    style="font-family:'Microsoft YaHei'; font-size:14px">  3.3.1数据格式化

     

    style="font-family:'Microsoft YaHei'; font-size:14px">  在Excel中不涉及复杂的数据类型,能够比较好的处理字串、数字和日期已经能够满足一般的应用即可。

     

    style="font-family:'Microsoft YaHei'; font-size:14px">  数据的格式化涉及到的是字体、粗细、字号等元素,这些功能主要由 WritableFont和WritableCellFormat类来负责。例如:

     
     

    align="left">style="font-family:'Microsoft YaHei'; font-size:14px">① WritableFont font=new WritableFont(WritableFont.createFont("宋体"),12,WritableFont.NO_BOLD );

     

    style="font-family:'Microsoft YaHei'; font-size:14px">② WritableCellFormat format1=new WritableCellFormat(font);

     

    style="font-family:'Microsoft YaHei'; font-size:14px">③ Label label=new Label(0,0,”data 4 test”,format1);

     
     

    style="font-family:'Microsoft YaHei'; font-size:14px">  其中

     
     

    style="font-family:'Microsoft YaHei'; font-size:14px">I.指定了字串格式:字体为宋体,字号16,加粗显示。WritableFont有非常丰富的构造子,供不同情况下使用,jExcelAPI的java-doc中有详细列表,这里不再列出。

     

    style="font-family:'Microsoft YaHei'; font-size:14px">II. 处代码使用了WritableCellFormat类,这个类非常重要,通过它可以指定单元格的各种属性,如上例代码所示。

     

    style="font-family:'Microsoft YaHei'; font-size:14px">III. 处使用了Label类的构造子,指定了显示的位置,文本内容,字串被赋予的格式。

     

    style="font-family:'Microsoft YaHei'; font-size:14px">与Label类似的Number、DateTime,区别Label表示文本数据;Number表示数值数据,可使NumberFormat格式化数据;用DateTime表示日期型数据,可应用DateFormat格式化数据。

     
     

    style="font-family:'Microsoft YaHei'; font-size:14px">  3.3.2单元格操作

     

    style="font-family:'Microsoft YaHei'; font-size:14px">  Excel中很重要的一部分是对单元格的操作,比如行高、列宽、单元格合并等,所幸jExcelAPI提供了这些支持。这些操作相对比较简单,下面只介绍一下相关的API。

     

    style="font-family:'Microsoft YaHei'; font-size:14px">  1、 合并单元格

     
    class="cnblogs_code">
     
    name="code" class="java">WritableSheet.mergeCells(int m,int n,int p,int q);
       
      //作用是从(m,n)到(p,q)的单元格全部合并,比如:
       
      WritableSheet sheet=book.createSheet(“第一页”,0);
       
      //合并第一列第一行到第六列第一行的所有单元格
       
      sheet.mergeCells(0,0,5,0);
       
      //合并既可以是横向的,也可以是纵向的。合并后的单元格不能再次进行合并,否则会触发异常。
     
     

    style="font-family:'Microsoft YaHei'; font-size:14px">  2、 行高和列宽

     
    class="cnblogs_code">
     
    name="code" class="java"> writableSheet.setRowView(int i,int height);
       
      //作用是指定第i+1行的高度,比如:
       
      // 将第一行的高度设为200
       
      sheet.setRowView(0,200);
       
      WritableSheet.setColumnView(int i,int width);
       
      //作用是指定第i+1列的宽度,比如:
       
      //将第一列的宽度设为30
       
      sheet.setColumnView(0,30);
     
     

    style="padding:5px 0px; color:#3399cc; font-size:18px; font-family:微软雅黑,宋体,黑体,Arial; height:25px; line-height:25px; border-bottom-width:1px; border-bottom-style:solid; border-bottom-color:#3399cc; margin:15px!important">

      3.4  从Excel文件读取数据表
     

    style="font-family:'Microsoft YaHei'; font-size:14px">  我们就以导入3.2所产生的excel表为例,掌握如何编写导入Excel代码(该代码封装在业务层方法)

     
    class="cnblogs_code">
     
    name="code" class="java">public List<ScoreInfo> loadScoreInfo(String xlsPath) throws IOException, BiffException{
       
      //导入已存在的Excel文件,获得只读的工作薄对象
      FileInputStream fis=new FileInputStream(xlsPath);
      Workbook wk=Workbook.getWorkbook(fis);
      //获取第一张Sheet表
      Sheet sheet=wk.getSheet(0);
      //获取总行数
      int rowNum=sheet.getRows();
      //从数据行开始迭代每一行
      for(int i=2;i<rowNum;i++){
      ScoreInfo info=new ScoreInfo();
      //getCell(column,row),表示取得指定列指定行的单元格(Cell)
      //getContents()获取单元格的内容,返回字符串数据。适用于字符型数据的单元格
      //使用实体类封装单元格数据
      info.setStuName(sheet.getCell(0, i).getContents());
      info.setClassName(sheet.getCell(1, i).getContents());
      //判断单元格的类型,单元格主要类型LABEL、NUMBER、DATE if(sheet.getCell(2,i).getType==CellType.NUMBER){
       
      //转化为数值型单元格
      NumberCell numCell=(NumberCell)sheet.getCell(2,i);
      //NumberCell的getValue()方法取得单元格的数值型数据
      info.setRscore(numCell.getValue());
       
      }
      if(sheet.getCell(3,i).getType==CellType.NUMBER){
      NumberCell numCell=(NumberCell)sheet.getCell(3,i);
      info.setRscore(numCell.getValue);
      }
       
      if(sheet.getCell(4,i).getType==CellType.DATE){
      DateCell dateCell=(DateCell)sheet.getCell(4,i);
      //DateCell的getDate()方法取得单元格的日期型数据
      info.setDate(dateCell.getDate());
      }
      }
      fis.close();
      wk.close();
      }
     
     

    style="padding:5px 0px; color:#3399cc; font-size:18px; font-family:微软雅黑,宋体,黑体,Arial; height:25px; line-height:25px; border-bottom-width:1px; border-bottom-style:solid; border-bottom-color:#3399cc; margin:15px!important">

      3.4  更新已存在的Excel文件
     

    style="font-family:'Microsoft YaHei'; font-size:14px">  将3.2所产生的excel表(temp.xls)的第一条记录(excel文件的指第三行)的班级名称改为As179,代码如下:

     
    class="cnblogs_code">
     
    name="code" class="java">File file=new File("d://temp.xls");
      //导入已存在的Excel文件,获得只读的工作薄对象
      Workbook wk=Workbook.getWorkbook(file);
      //根据只读的工作薄对象(wk)创建可写入的Excel工作薄对象
      WritableWorkbook wwb=Workbook.createWorkbook(file, wk);
      //读取第一张工作表
      WritableSheet sheet=wwb.getSheet(0);
      ///获得要编辑的单元格对象
      WritableCell cell=sheet.getWritableCell(1, 2);
      //判断单元格的类型, 做出相应的转化
      if(cell.getType()==CellType.LABEL){
      Label lable=(Label)cell;
      //修改单元格的内容
      lable.setString("As179");
      }
      wwb.write();
      wwb.close();
      wk.close();
     
     

    style="font-family:'Microsoft YaHei'; font-size:14px">  对于更新已存在的Excel文件实际上就是获取已有工作薄对象(但是只读的),然后将获取的只读的工作薄对象转化为可写入的Excel工作薄对象(WritableWorkbook ),其他部分就是通过可写入WritableSheet 对象和可写入WritableCell 对象进行编辑。

       
     
       
       
       
       
     
       
       
       
       
     
    class="bdsharebuttonbox tracking-ad" style="float: right;" data-mod="popu_172">
      href="#" class="bds_more" data-cmd="more" style="background-position:0 0 !important; background-image: url(http://bdimg.share.baidu.com/static/api/img/share/icons_0_16.png?v=d754dcc0.png) !important">
      href="#" class="bds_qzone" data-cmd="qzone" title="分享到QQ空间" style="background-position:0 -52px !important">
      href="#" class="bds_tsina" data-cmd="tsina" title="分享到新浪微博"style="background-position:0 -104px !important">
      href="#" class="bds_tqq" data-cmd="tqq" title="分享到腾讯微博"style="background-position:0 -260px !important">
      href="#" class="bds_renren" data-cmd="renren" title="分享到人人网"style="background-position:0 -208px !important">
      href="#" class="bds_weixin" data-cmd="weixin" title="分享到微信"style="background-position:0 -1612px !important" >
     
     
     
       
       
       
       
     
       
     
     
     
     
     
       
     
       
       
       
       
     
    id="digg" ArticleId="45195359" >
     
    id="btnDigg" class="digg digg_enable" onclick="btndigga();">
       
     
     
    3
     
       
       
     
    id="btnBury" class="digg digg_enable" onclick="btnburya();">
       
     
     
    0
     
       
     
     
    class="tracking-ad" data-mod="popu_222">href="javascript:void(0);" > 
     
    class="tracking-ad" data-mod="popu_223"> href="javascript:void(0);" > 
     
       
     
      class="article_next_prev">
     
  • class="prev_article">onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_shangyipian']);location.href='/jerehedu/article/details/45195295';">上一篇href="/jerehedu/article/details/45195295" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_shangyipian'])">IOS开发中多线程的使用
  •  
  • class="next_article">onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_xiayipian']);location.href='/jerehedu/article/details/45195467';">下一篇href="/jerehedu/article/details/45195467" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_xiayipian'])">IOS数据持久化之归档NSKeyedArchiver
  •  
       
     
    style="clear:both; height:10px;">
       
       
     
    class="similar_article" >
     

     
    class="similar_c"style="margin:20px 0px 0px 0px">
     
    class="similar_c_t">
        相关文章推荐
     
       
     
    class="similar_wrap tracking-ad" data-mod="popu_36" style="max-height:195px;">
     
      class="similar_list fl">
     
  •  
      href="http://blog.csdn.net/hgy413/article/details/6598043" title="3.IDA-数据显示窗口(导出窗口、导入窗口、String窗口、...窗口)" strategy="SearchAlgorithm" target="_blank" style="width: 290px;">3.IDA-数据显示窗口(导出窗口、导入窗口、String窗口、...窗口)
     
     
  •  
      href="http://blog.csdn.net/liuliuniu1987/article/details/6184588" title="HOWTO: 使用命令行方式导入导出多语言String Tables" strategy="SearchAlgorithm" target="_blank" style="width: 290px;">HOWTO: 使用命令行方式导入导出多语言String Tables
     
     
  •  
      href="http://blog.csdn.net/JQ_AK47/article/details/52727727" title="關於JAVA中String类以形参传递到函数里面,修改后外面引用不能获取到更改后的值" strategy="SearchAlgorithm" target="_blank" style="width: 290px;">關於JAVA中String类以形参传递到函数里面,修改后外面引用不能获取到更改后的值
     
     
  •  
      href="http://blog.csdn.net/xyc_csdn/article/details/72582016" title="关于Java的String字符串常量的长度问题" strategy="SearchAlgorithm" target="_blank" style="width: 290px;">关于Java的String字符串常量的长度问题
     
     
  •  
      href="http://blog.csdn.net/qq516230226/article/details/72017415" title="Java 中 String 类的常用方法" strategy="SearchAlgorithm" target="_blank" style="width: 290px;">Java 中 String 类的常用方法
     
     
     
      class="similar_list fr">
     
  •  
      href="http://blog.csdn.net/qq_36503884/article/details/71603367" title="Java String字符串自动填补0或空格" strategy="SearchAlgorithm" target="_blank" style="width: 290px;">Java String字符串自动填补0或空格
     
     
  •  
      href="http://blog.csdn.net/u011277123/article/details/71600469" title="Java String探索" strategy="SearchAlgorithm" target="_blank" style="width: 290px;">Java String探索
     
     
  •  
      href="http://blog.csdn.net/qq_36752632/article/details/71601284" title="使用封装类进行转换时候报错,java.lang.NumberFormatException: For input string: """ strategy="SearchAlgorithm" target="_blank" style="width: 290px;">使用封装类进行转换时候报错,java.lang.NumberFormatException: For input string: ""
     
     
  •  
      href="http://blog.csdn.net/u010296640/article/details/52809878" title="java正则表达式、命令行参数、String常用方法" strategy="SearchAlgorithm" target="_blank" style="width: 290px;">java正则表达式、命令行参数、String常用方法
     
     
  •  
      href="http://blog.csdn.net/u013276277/article/details/72377229" title="JAVA中int,string,char之间的互相转换" strategy="SearchAlgorithm" target="_blank" style="width: 290px;">JAVA中int,string,char之间的互相转换
     
     
     
     
     
       
     
       
     
       
       
     
     
     
       
     
    id="suggest">
     
       
       
     
       
       
     
    id="relate" data-mod="popu_218" class="tracking-ad">
     
    class="relate_t">
     

    参考知识库

     
     
    class="relate_c">
     
     
       
       
     
    class="blog-ass-articl tracking-ad" id="res-relatived" data-mod="popu_84" >
     
    class="embody embody_b" id="libkeyparent" style="display:none">
      class="embody_t">更多资料请参考:
     
    class="embody_c" id="libkey">
     
       
       
     
    猜你在找
       
       
       
       
       
     
    id="adcollegedata" style="display:none">
       
     
    id="adCollege" style="width: 42%;float: left;">
     
       
       
     
    id="resforAd" style="width: 42%;float: left;margin-right: 30px;">
       
     
     
       
     
       
       
       
       
       
     
    id="ad_cen">
     
     
    class="tracking-ad" data-view="true" data-mod="ad_popu_199" data-mtp="43" data-order="114" data-con="ad_content_1843" style="width: 960px; height: 90px;">
     
     
     
     
     
       
     
     
     
    class="tracking-ad" data-view="true" data-mod="ad_popu_72" data-mtp="62" data-order="40" data-con="ad_content_2072">
     
     
    id="layerd" style="position: fixed;bottom:0px;right:0px;line-height:0px;z-index:1000">
     
    class="J_close layer_close" style="display:;background-color:#efefef;padding:0px;color:#333;font:12px/24px Helvetica,Tahoma,Arial,sans-serif;text-align:right;">关闭
    id="cpro_u2895327">
     
       
     
       
     
    class="comment_class">
     
    id="comment_title" class="panel_head">
      class="see_comment">查看评论name="comments">
     
    id="comment_list">
     
     
    id="comment_bar">
     
     
    id="comment_form">
     
     
    class="announce">
      * 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场name="reply">name="quote">
     
       
     
       
     
    id="ad_bot">
     
     
    id="report_dialog">
     
       
     
    id="d-top" style="bottom:60px;">
       
      id="quick-reply" class="btn btn-top q-reply" title="快速回复" style="display:none;">
      src="http://static.blog.csdn.net/images/blog-icon-reply.png" alt="快速回复">
     
      id="d-top-a" class="btn btn-top backtop" style="display: none;" title="返回顶部" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_huidaodingbu'])" style="">
      src="http://static.blog.csdn.net/images/top.png" alt="TOP">
     
     
     
     
       
       
     
    class="tag_list" style="display:none">
     
       
       
     
    id="pop_win" style="display:none ;position: absolute; z-index: 10000; border: 1px solid rgb(220, 220, 220); top: 222.5px; left: 630px; opacity: 1; background: none 0px 0px repeat scroll rgb(255, 255, 255);">
       
     
     
    id="popup_mask">
     
       
       
       
       
     
       
       
       
       
       
       
       
       
     
    class="clear">
     
     
       
     
       
     
    id="side">
       
     
    class="side">
     
    id="panel_Profile" class="panel">
     
      class="panel_head">个人资料
     
      class="panel_body profile">
     
    id="blog_userface">
      href="http://my.csdn.net/JerehEdu" target="_blank">
      src="http://avatar.csdn.net/9/5/4/1_jerehedu.jpg" title="访问我的空间" style="max-width:90%"/>
     
     
      href="http://my.csdn.net/JerehEdu" class="user_name" target="_blank">JerehEdu
     
     
    class="interact">
       
      href="javascript:void(0);" class="attent" id="span_add_follow" title="[加关注]">
       
      href="javascript:void(0);" class="letter" title="[发私信]" onclick="window.open('http://msg.csdn.net/letters/model?receiver=JerehEdu','_blank','height=350,width=700');_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_sixin'])">
     
     
    id="blog_medal">
     
    id="bms_box">
     
     
     
      id="blog_rank">
     
  • 访问:86235次
  •  
  • 积分:2359
  •  
  • 等级: style="position:relative;display:inline-block;z-index:1" >
  •   src="http://c.csdnimg.cn/jifen/images/xunzhang/jianzhang/blog5.png" alt="" style="vertical-align: middle;" id="leveImg">
     
    id="smallTittle" style=" position: absolute; left: -24px; top: 25px; text-align: center; width: 101px; height: 32px; background-color: #fff; line-height: 32px; border: 2px #DDDDDD solid; box-shadow: 0px 2px 2px rgba (0,0,0,0.1); display: none; z-index: 999;">
     
    style="left: 42%; top: -8px; position: absolute; width: 0; height: 0; border-left: 10px solid transparent; border-right: 10px solid transparent; border-bottom: 8px solid #EAEAEA;">
      积分:2359
     
     
  • 排名:第14494名
  •  
     
      id="blog_statistics">
     
  • 原创:151篇
  •  
  • 转载:0篇
  •  
  • 译文:0篇
  •  
  • 评论:27条
  •  
     
     
       
       
     
    class="panel" id="panel_Search">
     
      class="panel_head">文章搜索
     
      class="panel_body" class="form_search">
     
    id="frmSearch" action="http://so.csdn.net/search" class="form_search csdn-tracking-statistics" target="_blank" data-mod="popu_306">
      id="inputSearch" type="text" class="blogsearch" title="请输入关键字" />
      id="btnSubmit" type="button" value="搜索" title="search in blog" />
      type="hidden" name="q" id="inputQ" />
      type="hidden" name="t" value="blog" />
      id="btnSearchBlog" target="_blank">
     
     
     
       
     
    id="panel_Category" class="panel">
     
      class="panel_head">文章分类
     
      class="panel_body">
     
  •   href="/JerehEdu/article/category/2807943" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">Android技术分享(82)
     
     
  •   href="/JerehEdu/article/category/2807945" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">IOS技术分享(54)
     
     
  •   href="/JerehEdu/article/category/2807947" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">java技术分享(15)
     
     
  •   href="/JerehEdu/article/category/6076723" onclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_wenzhangfenlei']); ">原创教材(1)
     
     
     
    id="hotarticls" class="panel">
     
      class="panel_head">
     
      阅读排行
     
       
     
      class="panel_body itemlist">
     
  •   href="/jerehedu/article/details/45192091" title="SVN详细配置与使用 ——一步步教会您使用">SVN详细配置与使用 ——一步步教会您使用(2192)
     
     
  •   href="/jerehedu/article/details/45195359" title="Java中导入、导出Excel">Java中导入、导出Excel(2106)
     
     
  •   href="/jerehedu/article/details/46911955" title="Android典型界面设计——ViewPage+Fragment实现区域顶部tab滑动切换">Android典型界面设计——ViewPage+Fragment实现区域顶部tab滑动切换(1928)
     
     
  •   href="/jerehedu/article/details/45746369" title="Android生成带图片的二维码">Android生成带图片的二维码(1556)
     
     
  •   href="/jerehedu/article/details/45196019" title="Android实现图片轮显效果——自定义ViewPager控件">Android实现图片轮显效果——自定义ViewPager控件(1408)
     
     
  •   href="/jerehedu/article/details/45822251" title="Android实现仿qq侧边栏效果">Android实现仿qq侧边栏效果(1219)
     
     
  •   href="/jerehedu/article/details/47319345" title="Android典型界面设计(4)——使用ActionBar+Fragment实现tab切换">Android典型界面设计(4)——使用ActionBar+Fragment实现tab切换(1188)
     
     
  •   href="/jerehedu/article/details/45196185" title="Android studio导入开源项目">Android studio导入开源项目(1138)
     
     
  •   href="/jerehedu/article/details/45196125" title="IOS实现自动循环滚动广告--ScrollView的优化和封装">IOS实现自动循环滚动广告--ScrollView的优化和封装(1012)
     
     
  •   href="/jerehedu/article/details/45390165" title="微信二维码扫描下载APK">微信二维码扫描下载APK(1002)
     
     
     
     
    id="hotarticls2" class="panel">
     
      class="panel_head">评论排行
     
      class="panel_body itemlist">
     
  •   href="/jerehedu/article/details/45196019" title="Android实现图片轮显效果——自定义ViewPager控件">Android实现图片轮显效果——自定义ViewPager控件(4)
     
     
  •   href="/jerehedu/article/details/46911955" title="Android典型界面设计——ViewPage+Fragment实现区域顶部tab滑动切换">Android典型界面设计——ViewPage+Fragment实现区域顶部tab滑动切换(3)
     
     
  •   href="/jerehedu/article/details/45193205" title="Android界面设计之对话框——定制Toast、AlertDialog">Android界面设计之对话框——定制Toast、AlertDialog(2)
     
     
  •   href="/jerehedu/article/details/47021541" title="Android GUI之Activity、Window、View">Android GUI之Activity、Window、View(2)
     
     
  •   href="/jerehedu/article/details/45196185" title="Android studio导入开源项目">Android studio导入开源项目(2)
     
     
  •   href="/jerehedu/article/details/45746369" title="Android生成带图片的二维码">Android生成带图片的二维码(2)
     
     
  •   href="/jerehedu/article/details/45195553" title="ActionBar+DrawerLayout实现网易新闻客户端首页">ActionBar+DrawerLayout实现网易新闻客户端首页(1)
     
     
  •   href="/jerehedu/article/details/45716123" title="基于VlC的视频播放器">基于VlC的视频播放器(1)
     
     
  •   href="/jerehedu/article/details/45191863" title="使用极光推送实现分组发送和服务端集成">使用极光推送实现分组发送和服务端集成(1)
     
     
  •   href="/jerehedu/article/details/45390165" title="微信二维码扫描下载APK">微信二维码扫描下载APK(1)
     
     
     
     
    id="newcomments" class="panel">
     
      class="panel_head">最新评论
     
      class="panel_body itemlist">
     
  •    
      href="/jerehedu/article/details/45196019#comments">Android实现图片轮显效果——自定义ViewPager控件
     

    style="margin:0px;">href="/qq_24578531" class="user_name">qq_24578531:

      myPager.start方法里的参数能分别解释下吗
     

     
     
  •    
      href="/jerehedu/article/details/45196019#comments">Android实现图片轮显效果——自定义ViewPager控件
     

    style="margin:0px;">href="/Cat_swam" class="user_name">Cat_swam:

      那个我是个Android新手 ,请问一下 com.jereh.view. MyScrollImage...
     

     
     
  •    
      href="/jerehedu/article/details/45195359#comments">Java中导入、导出Excel
     

    style="margin:0px;">href="/gdfy0616" class="user_name">gdfy0616:

      太好了!多谢分享啊!介绍的真是全面
     

     
     
  •    
      href="/jerehedu/article/details/46453371#comments">android实现gif图与文字混排
     

    style="margin:0px;">href="/qq_25211337" class="user_name">qq_25211337:

      内存溢出
     

     
     
  •    
      href="/jerehedu/article/details/46424813#comments">Android之官方导航栏之Toolbar(Toolbar+DrawerLayout+ViewPager+PagerSlidingTabStrip)
     

    style="margin:0px;">href="/roadcow" class="user_name">roadcow:

      右边能显示菜单吗?
     

     
     
  •    
      href="/jerehedu/article/details/46424813#comments">Android实现图片轮显效果——自定义ViewPager控件
     

    style="margin:0px;">href="/Amazing_Kenboo" class="user_name">Amazing_Kenboo:

      @android_I_t:正好我也看到这里,楼主在注释里面说了* @param mainActivi...
     

     
     
  •    
      href="/jerehedu/article/details/46424813#comments">Android实现图片轮显效果——自定义ViewPager控件
     

    style="margin:0px;">href="/android_I_t" class="user_name">android_I_t:

      mainActivit中 myPager.start第六个参数获取不到啊
     

     
     
  •    
      href="/jerehedu/article/details/46911955#comments">Android典型界面设计——ViewPage+Fragment实现区域顶部tab滑动切换
     

    style="margin:0px;">href="/CTU24CAT" class="user_name">CTU24CAT:

      感觉很有用 ,谢谢了!
     

     
     
  •    
      href="/jerehedu/article/details/46236013#comments">使用ECharts实现数据图表分析
     

    style="margin:0px;">href="/Renfr" class="user_name">Renfr:

     
     

     
     
  •    
      href="/jerehedu/article/details/45365531#comments">NSURLSession下载和断点续传
     

    style="margin:0px;">href="/iOS_MingXing" class="user_name">iOS_MingXing:

      NSURL * url=这个是做什么的啊?????
     

     
     
     
     
    id="panel_Archive" class="panel">
     
      class="panel_head">文章存档
     
      class="panel_body">
     
    id="archive_list">
     
     
  • href="/JerehEdu/article/month/2016/02">2016年02月(18)
  • href="/JerehEdu/article/month/2016/01">2016年01月(2)
  • href="/JerehEdu/article/month/2015/10">2015年10月(9)
  • href="/JerehEdu/article/month/2015/08">2015年08月(10)
  • href="/JerehEdu/article/month/2015/07">2015年07月(16)
  • href="/JerehEdu/article/month/2015/06">2015年06月(20)
  • href="/JerehEdu/article/month/2015/05">2015年05月(20)
  • href="/JerehEdu/article/month/2015/04">2015年04月(57)
  •  
     
     
     
    id="homepageArticles" class="panel tracking-ad" data-mod="popu_4">
     
      class="panel_head">推荐文章
     
      class="panel_body" id="ad_commend">
     
       
    • href="http://blog.csdn.net/turingbooks/article/details/72416875" target="_blank">* 5月书讯:流畅的Python,终于等到你!
    •  
    • href="http://blog.csdn.net/blogdevteam/article/details/72526177"
    •   target="_blank">*【新收录】CSDN日报 —— Kotlin 专场
       
    • href="http://blog.csdn.net/jiangwei0910410003/article/details/70483088"target="_blank">* Android中带你开发一款自动爆破签名校验工具kstools
    •  
    • href="http://blog.csdn.net/guolin_blog/article/details/54895665"
    •   target="_blank">* Android图片加载框架最全解析——深入探究Glide的缓存机制
       
    • href="http://blog.csdn.net/lmj623565791/article/details/72667669"
    •   target="_blank">* Android 热修复 Tinker Gradle Plugin解析
       
    • href="http://blog.csdn.net/puppet_master/article/details/72455945"
    •   target="_blank">* Unity Shader-死亡溶解效果
         
       
       
         
         
       
       
      class="clear">
       
         
         
       
       
       
      class="tracking-ad" data-view="true" data-mod="ad_popu_189" data-mtp="63" data-order="40" data-con="ad_content_1259" style="width: 250px; height: 250px;">
       
      id="nav_show_top_stop" style="width: 250px;height: 250px;z-index:1000">
      id="cpro_u2734133">
       
       
       
       
         
       
         
       
      class="clear">
       
       
         
         
         
       
         
         
         
         
         
         
       
         
         
         
         
         
       
       
         
         
       
         
         
       
         
        href="http://c.csdnimg.cn/comm_ask/css/ask_float_block.css" type="text/css" rel="stylesheet" />
       
       
         
       
         
         
         
         
         
       
       
       
       
       
         
       
         
       
         
         
         
       
      id="a52b5334d" style="width: 1px; height: 1px; display: none;">
       
       
       
         
         
       
       
         
         
         
         
         
       
      class="pop_CA_cover" style="display:none">
       
      class="pop pop_CA" style="display:none">
       
      class="CA_header">
        收藏助手
        class="cancel_icon" id="fapancle" onclick="$('.pop_CA').hide();$('.pop_CA_cover').hide();">
       
       
       
         
       
       
       

      你可能感兴趣的:(java,java)