我是个新手,现在做一个打开office的阅读器,用Java开发。
我解析excel文件内容的时候,发现只能获得纯文本,然后显示在JTable中,请问下:
像excel中单元格合并后的数据怎样得到数据的同时也得到单元格合并的信息,比如说
所获得的数据在excel中是横向和纵向合并多少个单元格,然后在JTable中也以这种合并单元格的方式进行显示出来。
还有,怎样获得EXCEL中的图片和图表,然后以跟excel中一样的方式进行显示出来。
急!!!

解决方案 »

  1.   

    杯具了,据我所知,poi目前还不能读图表,
    jxl可以读图片,但是支持得也不好
      

  2.   


    List lst = workbook.getAllPictures();
        for (Iterator it = lst.iterator(); it.hasNext(); ) {
            PictureData pict = (PictureData)it.next();
            String ext = pict.suggestFileExtension();
            byte[] data = pict.getData();
            if (ext.equals("jpeg")){
              FileOutputStream out = new FileOutputStream("pict.jpg");
              out.write(data);
              out.close();
            }
        }读图片的话,可以用这个试试,图表我还没找到资料
      

  3.   

    好像不行,poi写入excel的时候倒是可以合并单元格,
    要读取合并单元格的情况还没见过,当然内容是可以读取的。
      

  4.   

    哦,可以读的
    用sheet.getNumMergedRegions取得被合并的格子数
    然后用getMergedRegion(int index)取得某个索引上的合并区域CellRangeAddress
    然后用CellRangeAddress的getFirstColumn getFirstRow getLastColumn getLastRow
    可以知道此区域覆盖哪些格子
    但是图表搞不定,估计要换条路走了
      

  5.   


    非常感谢你,现在就图表和图片的问题了,还有就是在JTable中显示的问题了,由于以前很少接触Swing
    ,所以JTable的单元格动态合并估计也是比较难的一个问题,这几天自己多研究一下。
    至于得到图表和图片,一网友说可以这样做
    HSSFChart.getSheetCharts(wb.getSheetAt(0))//获得EXCEL第一张工作表中的图片和图表
    当然,我都还没有试
    不过感觉即使获得了,但是这些图标和图片在Excel中显示的位置也拿不到,悲剧。
      

  6.   


    得到图表和图片,一网友说可以这样做
    HSSFChart.getSheetCharts(wb.getSheetAt(0))//获得EXCEL第一张工作表中的图片和图表
    我还没有试验,也不知道,呵呵
      

  7.   

    在jTable中不带合并单元格的功能,得自己重写这个控件。具体的我也没写过,但是查找过这方面的资料,去google一下还是能找到相关资料的。如果能用。net做的话,就有一个flexcell.dll的文件,能支持单元格合并等多多种excel里面的常见操作。一定得用java的话,那只有加油把