当前位置:软件学习 > Excel >>

java操作Excel

利用java操作Excel,需要下载个开源的jar包-jxl.jar。
一.读取Excel文件内容
 
java 代码
/**读取Excel文件的内容
* @param file  待读取的文件
* @return
*/ 
public static String readExcel(File file){  
    StringBuffer sb = new StringBuffer();  
      
    Workbook wb = null;  
    try {  
        //构造Workbook(工作薄)对象  
        wb=Workbook.getWorkbook(file);  
    } catch (BiffException e) {  
        e.printStackTrace();  
    } catch (IOException e) {  
        e.printStackTrace();  
    }  
      
    if(wb==null)  
        return null;  
      
    //获得了Workbook对象之后,就可以通过它得到Sheet(工作表)对象了  
    Sheet[] sheet = wb.getSheets();  
      
    if(sheet!=null&&sheet.length>0){  
        //对每个工作表进行循环  
        for(int i=0;i<sheet.length;i++){
            //得到当前工作表的行数  
            int rowNum = sheet[i].getRows();  
            for(int j=1;j<rowNum;j++){
                //得到当前行的所有单元格  
                Cell[] cells = sheet[i].getRow(j);  
                if(cells!=null&&cells.length>0){  
                    //对每个单元格进行循环  
                    for(int k=0;k
                        //读取当前单元格的值  
                        String cellValue = cells[k].getContents();  
                        sb.append(cellValue+"\t");  
                    }  
                }  
                sb.append("\r\n");  
            }  
            sb.append("\r\n");  
        }  
    }  
    //最后关闭资源,释放内存  
    wb.close();  
    return sb.toString();  
二.写入Excel文件
 
这里有很多格式了,比如文本内容加粗,加上某些颜色等,可以参考jxl的api,同时还推荐一篇不错的文章:http://www.ibm.com/developerworks/cn/java/l-javaExcel/?ca=j-t10
 
java 代码
/**生成一个Excel文件
     * @param fileName  要生成的Excel文件名
     */ 
    public static void writeExcel(String fileName){  
        WritableWorkbook wwb = null;  
        try {  
            //首先要使用Workbook类的工厂方法创建一个可写入的工作薄(Workbook)对象  
            wwb = Workbook.createWorkbook(new File(fileName));  
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
        if(wwb!=null){  
            //创建一个可写入的工作表  
            //Workbook的createSheet方法有两个参数,第一个是工作表的名称,第二个是工作表在工作薄中的位置  
            WritableSheet ws = wwb.createSheet("sheet1", 0);  
              
            //下面开始添加单元格  
            for(int i=0;i<10;i++){  
                for(int j=0;j<5;j++){  
                    //这里需要注意的是,在Excel中,第一个参数表示列,第二个表示行  
                    Label labelC = new Label(j, i, "这是第"+(i+1)+"行,第"+(j+1)+"列");  
                    try {  
                        //将生成的单元格添加到工作表中  
                        ws.addCell(labelC);  
                    } catch (RowsExceededException e) {  
                        e.printStackTrace();  
                    } catch (WriteException e) {  
                        e.printStackTrace();  
                    }  
 
                }  
            }  
 
            try {  
                //从内存中写入文件中  
                wwb.write();  
                //关闭资源,释放内存  
                wwb.close();  
            } catch (IOException e) {  
                e.printStackTrace();  
            } catch (WriteException e) {  
                e.printStackTrace();  
            }  
        }  
    }  
三.在一个Excel文件中查找是否包含某一个关键字
 
java 代码
/**搜索某一个文件中是否包含某个关键字
     * @param file  待搜索的文件
     * @param keyWord  要搜索的关键字
     * @return
     */ 
    public static boolean searchKeyWor
补充:软件开发 , Java ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,