利用java操作Excel文件的方法

以下是对利用java操作Excel文件的方法进行了详细的介绍,需要的朋友可以过来参考下

很久以来都想研究一下利用java操作Excel的方法,今天没事,就稍微了解了一下,特总结一下。利用java操作Excel,有个开源的东东-jxl.jar,可以到http://sourceforge.net/projects/jexcelapi/files/下载。

一.读取Excel文件内容

复制代码 代码如下:

/** *//**读取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                //得到当前工作表的行数
                int rowNum = sheet[i].getRows();
                for(int j=0;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+" ");
                        }
                    }
                    sb.append(" ");
                }
                sb.append(" ");
            }
        }
        //最后关闭资源,释放内存
        wb.close();
        return sb.toString();
    }

二.写入Excel文件
这里有很多格式了,比如文本内容加粗,加上某些颜色等,可以参考jxl的api
复制代码 代码如下:

/**生成一个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();
            }
        }
    }

以上就是利用java操作Excel文件的方法的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » Java