<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Bryan

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      37 Posts :: 3 Stories :: 24 Comments :: 0 Trackbacks

    Recently,we are maintaining a project and there is a bug "unreadable content in *.xls" when we export the excel report using the POI.For several days,we are unable to find the real reason.though from the beginning,we thought that It was the format,cell style,link problem.finally,we find that It is due to the Hyperlink problem.Of course ,there maybe other reasons which can cause this error.

    The example below comes from the POI website and I make some minor changes. By running it,we can get the error. whether It links to a url, file etc.

    public class POIExport{
     public static void main(String[] args) throws IOException{
      Workbook wb = new HSSFWorkbook(); //or new HSSFWorkbook();
         CreationHelper createHelper = wb.getCreationHelper();

         //cell style for hyperlinks
         //by default hypelrinks are blue and underlined
         CellStyle hlink_style = wb.createCellStyle();
         Font hlink_font = wb.createFont();
         hlink_font.setUnderline(Font.U_SINGLE);
         hlink_font.setColor(IndexedColors.BLUE.getIndex());
         hlink_style.setFont(hlink_font);

        
         Sheet sheet = wb.createSheet("Hyperlinks");
         //number of rows
         for (int i = 0; i < 14000 ; i++){
          Row row = sheet.createRow(i);
          //number of columns
          for(int j = 0 ; j < 5; j++){
           Cell cell = row.createCell((short)j);
           cell.setCellValue("URL Link");
           Hyperlink link = createHelper.createHyperlink(Hyperlink.LINK_URL);
           link.setAddress("http://poi.apache.org/");
           cell.setHyperlink(link);
           cell.setCellStyle(hlink_style);
          }
         }
         FileOutputStream out = new FileOutputStream("hyperinks.xls");
         wb.write(out);
         out.close();

     }

    }

    So we think that It's a bug of POI 3.5 and as a substitue,we try to use the formula to solve this issue.
    I have consulted with the POI development team and they say that the MS Excel can only have 64k Hyperlinks,but for this I have no idea. and I have also tested JXL which is another tool for generating the excel report and It has the same problem. for this question ,you can visit the url  for more details: https://issues.apache.org/bugzilla/show_bug.cgi?id=49654

    public class TestJXL {

    public static void main(String[] args) throws IOException, WriteException {

    String outputFile="jxl.xls";

    WorkbookSettings wb = new WorkbookSettings();

    wb.setLocale(new Locale("en", "EN"));

    WritableWorkbook book = Workbook.createWorkbook(new File(outputFile),wb);

    WritableSheet sheet= book.createSheet("Hyperlink",0);

    for(int i= 0 ;i < 6;i++)

    {

    for(int j = 0;j<10921; j ++){

    WritableHyperlink wh = new WritableHyperlink(i, j,

    new URL("http://www.andykhan.com/jexcelapi"));

    sheet.addHyperlink(wh);

    }

    }

    book.write();

    book.close();

    }

    }

    It seems that by POI and JXL, the excel report which can only have 65530 Hyperlinks and if It exceeds,It will give us the error.Anyone who have solution to this problem is welcome.Thanks.

    Meanwhile,if the output excel report has no format limitation,you can thinking of the following way instead.but if you have to set the format of the Hyperlink formula cell,the following method will not function.
    cell.setCellFormula("HYPERLINK(""http://mycsinfo.blog.hexun.com/26115547_d.html"",""Interpretation"")")

    posted on 2010-07-27 20:04 Life is no respector of any genius. 閱讀(515) 評論(0)  編輯  收藏 所屬分類: Java
    主站蜘蛛池模板: 在线日韩av永久免费观看| 97在线观免费视频观看| 中文字幕亚洲一区二区三区| 亚洲av无码专区在线观看亚| 精品国产一区二区三区免费看| 亚洲乱码中文论理电影| 91情侣在线精品国产免费| 亚洲一区二区免费视频| 无码人妻精品一二三区免费| 日韩亚洲产在线观看| 日韩毛片无码永久免费看| 无码一区二区三区亚洲人妻| 免费一级国产生活片| 国产精品小视频免费无限app| 亚洲中文字幕无码久久精品1| 日韩av无码免费播放| 亚洲黄色免费在线观看| a毛片基地免费全部视频| 国产精品亚洲专区一区| 国产亚洲av片在线观看18女人| 日韩av无码免费播放| 亚洲一区动漫卡通在线播放| 日本无吗免费一二区| baoyu122.永久免费视频| 亚洲黄色免费观看| 国产精品公开免费视频| 三年片免费观看大全国语| 麻豆亚洲av熟女国产一区二| 免费看美女让人桶尿口| 久久国产免费直播| 亚洲图片中文字幕| 全亚洲最新黄色特级网站 | 国产香蕉九九久久精品免费| 亚洲爆乳精品无码一区二区| 亚洲国产日韩成人综合天堂| 国产精品免费观看调教网| 亚洲中字慕日产2021| 免费人成在线观看网站视频 | 91在线视频免费播放| 一级做a爰片性色毛片免费网站 | 四虎永久成人免费|