`
talentkep
  • 浏览: 100453 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

jxl 例子

阅读更多
  1. package chb.util;       
  2.       
  3. import java.io.File;       
  4. import java.io.IOException;       
  5.       
  6. import jxl.Cell;       
  7. import jxl.Sheet;       
  8. import jxl.Workbook;       
  9. import jxl.read.biff.BiffException;       
  10. import jxl.write.Label;       
  11. import jxl.write.WritableImage;       
  12. import jxl.write.WritableSheet;       
  13. import jxl.write.WritableWorkbook;       
  14. import jxl.write.WriteException;       
  15. import jxl.write.biff.RowsExceededException;       
  16.       
  17. public class ExcelUtils {       
  18.       
  19.         /**读取Excel文件的内容     
  20.          * @param file  待读取的文件     
  21.          * @return     
  22.          */      
  23.         public static String readExcel(File file){       
  24.                 StringBuffer sb = new StringBuffer();       
  25.                        
  26.                 Workbook wb = null;       
  27.                 try {       
  28.                         //构造Workbook(工作薄)对象       
  29.                         wb=Workbook.getWorkbook(file);       
  30.                 } catch (BiffException e) {       
  31.                         e.printStackTrace();       
  32.                 } catch (IOException e) {       
  33.                         e.printStackTrace();       
  34.                 }       
  35.                        
  36.                 if(wb==null)       
  37.                         return null;       
  38.                        
  39.                 //获得了Workbook对象之后,就可以通过它得到Sheet(工作表)对象了       
  40.                 Sheet[] sheet = wb.getSheets();       
  41.                        
  42.                 if(sheet!=null&&sheet.length>0){       
  43.                         //对每个工作表进行循环       
  44.                         for(int i=0;i    
  45.                                 //得到当前工作表的行数       
  46.                                 int rowNum = sheet[i].getRows();       
  47.                                 for(int j=0;j    
  48.                                         //得到当前行的所有单元格       
  49.                                         Cell[] cells = sheet[i].getRow(j);       
  50.                                         if(cells!=null&&cells.length>0){       
  51.                                                 //对每个单元格进行循环       
  52.                                                 for(int k=0;k    
  53.                                                         //读取当前单元格的值       
  54.                                                         String cellValue = cells[k].getContents();       
  55.                                                         sb.append(cellValue+"\t");       
  56.                                                 }       
  57.                                         }       
  58.                                         sb.append("\r\n");       
  59.                                 }       
  60.                                 sb.append("\r\n");       
  61.                         }       
  62.                 }       
  63.                 //最后关闭资源,释放内存       
  64.                 wb.close();       
  65.                 return sb.toString();       
  66.         }       
  67.         /**生成一个Excel文件     
  68.          * @param fileName  要生成的Excel文件名     
  69.          */      
  70.         public static void writeExcel(String fileName){       
  71.                 WritableWorkbook wwb = null;       
  72.                 try {       
  73.                         //首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象       
  74.                         wwb = Workbook.createWorkbook(new File(fileName));       
  75.                 } catch (IOException e) {       
  76.                         e.printStackTrace();       
  77.                 }       
  78.                 if(wwb!=null){       
  79.                         //创建一个可写入的工作表       
  80.                         //Workbook的createSheet方法有两个参数,第一个是工作表的名称,第二个是工作表在工作薄中的位置       
  81.                         WritableSheet ws = wwb.createSheet("sheet1"0);       
  82.                                
  83.                         //下面开始添加单元格       
  84.                         for(int i=0;i<10;i++){       
  85.                                 for(int j=0;j<5;j++){       
  86.                                         //这里需要注意的是,在Excel中,第一个参数表示列,第二个表示行       
  87.                                         Label labelC = new Label(j, i, "这是第"+(i+1)+"行,第"+(j+1)+"列");       
  88.                                         try {       
  89.                                                 //将生成的单元格添加到工作表中       
  90.                                                 ws.addCell(labelC);       
  91.                                         } catch (RowsExceededException e) {       
  92.                                                 e.printStackTrace();       
  93.                                         } catch (WriteException e) {       
  94.                                                 e.printStackTrace();       
  95.                                         }       
  96.       
  97.                                 }       
  98.                         }       
  99.       
  100.                         try {       
  101.                                 //从内存中写入文件中       
  102.                                 wwb.write();       
  103.                                 //关闭资源,释放内存       
  104.                                 wwb.close();       
  105.                         } catch (IOException e) {       
  106.                                 e.printStackTrace();       
  107.                         } catch (WriteException e) {       
  108.                                 e.printStackTrace();       
  109.                         }       
  110.                 }       
  111.         }        
  112.         /**搜索某一个文件中是否包含某个关键字     
  113.          * @param file  待搜索的文件     
  114.          * @param keyWord  要搜索的关键字     
  115.          * @return     
  116.          */      
  117.         public static boolean searchKeyWord(File file,String keyWord){       
  118.                 boolean res = false;       
  119.                        
  120.                 Workbook wb = null;       
  121.                 try {       
  122.                         //构造Workbook(工作薄)对象       
  123.                         wb=Workbook.getWorkbook(file);       
  124.                 } catch (BiffException e) {       
  125.                         return res;       
  126.                 } catch (IOException e) {       
  127.                         return res;       
  128.                 }       
  129.                        
  130.                 if(wb==null)       
  131.                         return res;       
  132.                        
  133.                 //获得了Workbook对象之后,就可以通过它得到Sheet(工作表)对象了       
  134.                 Sheet[] sheet = wb.getSheets();       
  135.                        
  136.                 boolean breakSheet = false;       
  137.                        
  138.                 if(sheet!=null&&sheet.length>0){       
  139.                         //对每个工作表进行循环       
  140.                         for(int i=0;i    
  141.                                 if(breakSheet)       
  142.                                         break;       
  143.                                        
  144.                                 //得到当前工作表的行数       
  145.                                 int rowNum = sheet[i].getRows();       
  146.                                        
  147.                                 boolean breakRow = false;       
  148.                                        
  149.                                 for(int j=0;j    
  150.                                         if(breakRow)       
  151.                                                 break;       
  152.                                         //得到当前行的所有单元格       
  153.                                         Cell[] cells = sheet[i].getRow(j);       
  154.                                         if(cells!=null&&cells.length>0){       
  155.                                                 boolean breakCell = false;       
  156.                                                 //对每个单元格进行循环       
  157.                                                 for(int k=0;k    
  158.                                                         if(breakCell)       
  159.                                                                 break;       
  160.                                                         //读取当前单元格的值       
  161.                                                         String cellValue = cells[k].getContents();       
  162.                                                         if(cellValue==null)       
  163.                                                                 continue;       
  164.                                                         if(cellValue.contains(keyWord)){       
  165.                                                                 res = true;       
  166.                                                                 breakCell = true;       
  167.                                                                 breakRow = true;       
  168.                                                                 breakSheet = true;       
  169.                                                         }       
  170.                                                 }       
  171.                                         }       
  172.                                 }       
  173.                         }       
  174.                 }       
  175.                 //最后关闭资源,释放内存       
  176.                 wb.close();       
  177.                        
  178.                 return res;       
  179.         }       
  180.     /**往Excel中插入图片     
  181.      * @param dataSheet  待插入的工作表     
  182.      * @param col 图片从该列开始     
  183.      * @param row 图片从该行开始     
  184.      * @param width 图片所占的列数     
  185.      * @param height 图片所占的行数     
  186.      * @param imgFile 要插入的图片文件     
  187.      */      
  188.     public static void insertImg(WritableSheet dataSheet, int col, int row, int width,       
  189.             int height, File imgFile){       
  190.             WritableImage img = new WritableImage(col, row, width, height, imgFile);       
  191.             dataSheet.addImage(img);       
  192.     }        
  193.            
  194.            
  195.     public static void main(String[] args) {       
  196.                     
  197.             try {       
  198.                     //创建一个工作薄       
  199.                         WritableWorkbook workbook = Workbook.createWorkbook(new File("D:/test1.xls"));       
  200.                         //待插入的工作表       
  201.                         WritableSheet imgSheet = workbook.createSheet("Images",0);       
  202.                         //要插入的图片文件       
  203.                         File imgFile = new File("D:/1.png");       
  204.                         //图片插入到第二行第一个单元格,长宽各占六个单元格       
  205.                         insertImg(imgSheet,0,1,6,6,imgFile);       
  206.                         workbook.write();       
  207.                         workbook.close();       
  208.                 } catch (IOException e) {       
  209.                         e.printStackTrace();       
  210.                 } catch (WriteException e) {       
  211.                         e.printStackTrace();       
  212.                 }                   
  213.     }        
  214.                
  215. }       
分享到:
评论

相关推荐

    java poi jxl 操作excel的小例子

    Java POI 和 JXL 是两种常用的 Java 库,用于处理 Microsoft Excel 文件。在这个入门级的实例中,我们将探讨如何使用这两个库来操作Excel文件。首先,我们先了解一下这两个库的基本概念。 1. **Java POI**: - ...

    JxlAPI和jar包(附加例子和说明)

    提供的`jxl例子和说明.docx`文档应该包含更多详细的示例和解释,帮助你更好地理解和运用Jxl API。 总的来说,Jxl库是Java开发人员处理Excel文件的强大工具,通过学习其API和实践使用,可以大大提高处理Excel数据的...

    JXL读写Excel小例子

    在这个"JXL读写Excel小例子"中,我们将深入探讨如何使用JXL库来操作Excel数据。 首先,为了开始使用JXL,你需要将其添加到你的项目依赖中。如果你使用Maven,可以在pom.xml文件中添加以下依赖: ```xml ...

    jxl.jar和例子

    标题中的"jxl.jar和例子"表明了这个压缩包包含了一个名为"jxl.jar"的文件和相关的示例。这提示我们,这是一个关于使用Java处理Excel文件的资源包。jxl.jar是Java Excel API(JExcelApi)的一个版本,它是一个开源库...

    jxl导出excel 完整例子工程

    jxl导出excel 完整例子工程jxl导出excel 完整例子工程jxl导出excel 完整例子工程 jxl导出excel 完整例子工程jxl导出excel 完整例子工程jxl导出excel 完整例子工程

    JXL读写Excel例子demo

    在"JXL读写Excel例子demo"中,我们将探讨如何利用JXL库来处理Excel数据。这个示例程序包含了一个名为"Jxl读写Excel例子demo.jxl.jar"的库文件,它是JXL库的实现,可以集成到Java项目中以处理Excel文件。 JXL库提供...

    jxl操作excel文件例子

    标题“jxl操作excel文件例子”指的是利用JXL库进行Excel文件处理的实际应用。描述中提到的“通过jxl操作excel,简单方便”,暗示了JXL库的一个关键优点——简洁易用的API,使得对Excel文件的操作变得相当直观。 JXL...

    jxl及jxlApi

    以下是一个写入数据的例子: ```java WritableWorkbook workbook = Workbook.createWorkbook(new File("output.xls")); WritableSheet sheet = workbook.createSheet("Sheet1", 0); for (int row = 0; row ; ...

    Jxl读写Excel例子demo(2)

    本示例“Jxl读写Excel例子demo(2)”将详细解释如何利用jxl.jar库进行Excel文件的操作。 首先,我们需要理解Jxl库的核心概念。Jxl提供了对Excel文件格式的全面支持,包括单元格类型(文本、数字、日期等)、样式...

    jxl.jar最新版本+使用说明+例子

    以下是如何写入字符串、数字和日期的例子: ```java import jxl.write.*; WritableSheet writableSheet = (WritableSheet) sheet; WritableFont font = new WritableFont(WritableFont.createFont("宋体"), 12); ...

    java与jxl、log4j综合运用例子

    在这个例子中,我们探讨了如何将Java与其他两个重要工具——JXL和Log4j——结合起来使用。 JXL是一个Java库,专为处理Excel文件而设计。它允许程序员读取、写入和修改Excel工作簿,为数据处理和报告生成提供了便利...

    jxl报表制作的例子

    在"jxl报表制作的例子"中,作者提供了一个封装类,这个类可能是为了简化JXL的使用,隐藏了一些底层的复杂性,让报表生成变得更加便捷。封装类通常会包含一些静态方法,如创建新工作簿、添加工作表、写入数据、设置...

    jxl操作Excel 的具体例子

    接下来,我们将通过一个简单的例子来演示如何使用JXL读取和写入Excel文件。在这个例子中,我们创建一个名为"WaterSystem"的Excel工作簿,并填充一些数据。 1. **写入Excel文件:** 要创建一个新的Excel文件并写入...

    jxl模版生成excel

    8. **jxls-examples-0.9.5-sources.jar**:这是一个包含jxls库源代码的例子包,可以帮助开发者深入理解jxl的内部工作机制,以及如何编写使用jxl的代码。 总的来说,jxl是一个强大的工具,适用于需要在Java应用中...

    jxl帮助

    **JXL库详解与使用指南** JXL,全称为Java Excel API,是一个开源的Java库,主要用于读写Microsoft Excel文件。这个库为开发者提供了一种简单、高效的处理Excel电子表格的方式,无需依赖Microsoft Office或者COM...

    JXL导出excel的示例及文档

    JXL,全称为Java Excel API,是一个开源的Java库,用于读取、写入和修改Microsoft Excel文件。这个库在Java编程中非常有用,因为Java原生并不支持直接操作Excel,而JXL提供了方便的接口来实现这一功能。在本示例中,...

    jxl包和使用的例子 带注释和说明文档 预览打印功能

    本文将详细介绍jxl包的使用,包括其API、文档、实验例子以及程序注释,并特别关注预览打印功能。 jxl库,全称为Java Excel API,是一个开源项目,它提供了在Java应用程序中读取、写入和修改Excel文件的能力。这个库...

    jxl操作excel实例,jxl jar包下载

    在这个例子中,我们将创建一个名为`Test.java`的文件,用于演示如何使用`jxl`库。 ```java import jxl.*; import jxl.write.*; public class Test { public static void main(String[] args) { // 读取Excel文件...

    java操作excel文件jxl.jar文件的源码,及例子

    这些例子对于初学者来说非常有价值,可以帮助快速理解和掌握JXL的用法。 在实际开发中,使用JXL的步骤通常包括: 1. 添加`jxl.jar`到项目类路径。 2. 使用`WorkbookSettings`配置读写参数,比如编码、是否忽略错误...

Global site tag (gtag.js) - Google Analytics