Package org.jsoup.nodes

Examples of org.jsoup.nodes.Element


    return 0;
  }
 
  public boolean setCellValue(int sheetNumber,int row,int column,String value){
    if(sheetNumber<getNumberOfSheets()){
      Element table = tables.get(sheetNumber);
      Elements trs = table.select("tr");
      if(row<trs.size()){
        Element tr = trs.get(row);
        Elements tds = tr.select("td");
        if(column<tds.size()){
          Element td = tds.get(column);
          if(td!=null){
            td.html(value);
            return true;
          }
        }else{
          int addColumns = column-tds.size()+1;
          addColumns(sheetNumber,tds.size(),addColumns);
View Full Code Here


    InputStream in = null;
    try {
      in = new FileInputStream(file1);
      Workbook book = WorkbookFactory.create(in);
      Document doc = Jsoup.parse("");
      Element body = doc.body();
      for(int i=0;i<book.getNumberOfSheets();i++){
        Sheet sheet = book.getSheetAt(i);
        if(!ExcelUtility.isEmptySheet(sheet)){
          Element table = body.appendElement("table");
          table.attr("title",sheet.getSheetName());
          ExcelUtility.convertSheet2HTMLTable(sheet, table);
        }
      }
      result.setSucceed();
      result.setData(doc.select("table").toString());
View Full Code Here

      /**!
       * 新建空表格,然后逐个的填入数据。如果有公式的话那就设置为公式
       */
      HSSFWorkbook book = new HSSFWorkbook();
      for(int i=0;i<tables.size();i++){
        Element table = tables.get(i);
        HSSFSheet sheet = null;
        if(table.hasAttr("title")){
           sheet = book.createSheet(table.attr("title"));
        }else{
          sheet = book.createSheet();
        }
      }
      WorkbookStyleContainer styleContainer = new WorkbookStyleContainer();
      for(int i=0;i<tables.size();i++){
        Element table = tables.get(i);
        HSSFSheet sheet = book.getSheetAt(i);
        ExcelUtility.convertHTMLTable2Sheet(styleContainer,sheet, table);
      }
      System.out.println("Total styles:"+styleContainer.cellStyleMap.size());
      return book;
View Full Code Here

        ByteArrayOutputStream bos = new ByteArrayOutputStream();
//        DocumentConverter.convert(doc.toString().getBytes("utf-8"), "html", bos, "xls");
        Workbook wb = WorkbookFactory.create(new ByteArrayInputStream(bos.toByteArray()));
        Elements tableElements = doc.select("table");
        for(int i=0;i<tableElements.size();i++){
          Element table = tableElements.get(i);
          if(table.hasAttr("title")){
            if(wb.getNumberOfSheets()>i){
              wb.setSheetName(i, table.attr("title"));
            }
          }
        }
        return wb;
      } catch (Exception e) {
View Full Code Here

  public static void appendEmptyRowAndColumn(Element table,int row,int column){
    int totalColumns = -1;
    if(table!=null){
      Elements colgroups = table.select("colgroup");
      if(colgroups.size()>0){
        Element colgroup = colgroups.get(0);
        totalColumns = column+colgroup.children().size();
        for(int i=0;i<column;i++){
          colgroup.prepend("<col width=\"67\" />");
        }
      }
      Elements tbodys = table.select("tbody");
      if(tbodys.size()>0){
        Element tbody = tbodys.get(0);
        for(int i=0;i<row;i++){
          tbody.prepend("<tr/>");
          for(int j=0;j<totalColumns;j++){
            tbody.child(0).append("<td/>");
          }
        }
        for(int i=row;i<tbody.children().size();i++){
          Element tr = tbody.child(i);
          for(int j=0;j<column;j++){
            tr.prepend("<td/>");
          }
        }
      }
    }
  }
View Full Code Here

 
  public static void setTableFormula(Element table,int row,int column,String formula){
    if(table!=null){
      Elements trs = table.select("tr");
      if(trs.size()>row){
        Element tr = trs.get(row);
        Elements tds = tr.children();
        if(tds.size()>column){
          Element td = tds.get(column);
          if(!StringUtils.isBlank(formula)){
            if(formula.startsWith("=")){
              td.attr("formula",formula);
            }else{
              td.attr("formula","="+formula);
            }
          }
        }
      }
    }
View Full Code Here

 
  public static void adjustStyle(Element element){
    if(element!=null&&element.tagName().equalsIgnoreCase("table")){
      Elements trs = element.select("tr");
      for(int tri=0;tri<trs.size();tri++){
        Element tr = trs.get(tri);
        int trHeight = -1;
        if(tr.hasAttr("height")){
          String trHeightS = tr.attr("height");
          try{
            trHeight = Integer.parseInt(trHeightS);
          }catch(NumberFormatException e){
            e.printStackTrace();
          }
        }
        Elements tds = tr.children();
        int tdHeight = -1;
        for(int tdi=0;tdi<tds.size();tdi++){
          Element td = tds.get(tdi);
          if(td.hasAttr("height")){
            String tdHeightS = td.attr("height");
            try{
              tdHeight = Integer.parseInt(tdHeightS);
            }catch(NumberFormatException e){
              e.printStackTrace();
            }
          }
          if(tdHeight>trHeight){
            trHeight = tdHeight;
          }
          /**!
           * 处理生成的HTML的颜色的问题
           */
          Elements fonts = td.select("font");
          if(fonts.size()==0){
            css(td,"font-size","1.64em");
          }
          for(int fonti=0;fonti<fonts.size();fonti++){
            Element font = fonts.get(fonti);
            if(font.hasAttr("size")){
              String fontsizeS = font.attr("size");
              try{
                int fontsize = Integer.parseInt(fontsizeS);
                switch(fontsize){
                case 1: css(td,"font-size","1.26em");
                break;
                case 2: css(td,"font-size","1.64em");
                break;
                case 3: css(td,"font-size","2.0em");
                break;
                case 4: css(td,"font-size","2.26em");
                break;
                case 5: css(td,"font-size","3.0em");
                break;
                case 6: css(td,"font-size","4em");
                break;
                case 7: css(td,"font-size","6em");
                break;
                default: css(td,"font-size","1.26em");
                }
              }catch(NumberFormatException e){
                e.printStackTrace();
              }
            }else{
              css(td,"font-size","1.64em");
            }
            if(font.hasAttr("color")){
              css(td, "color", font.attr("color"));
            }
            if(font.hasAttr("face")){
              css(td,"font-family",font.attr("face"));
            }
          }
          /**!
           * 处理字体在单元格中的位置问题
           */
 
View Full Code Here

      //rowNum
      List<Elements> rows = sheetRowCells.get(i);
      for(int j=0;j<rows.size();j++){
        Elements row = rows.get(j);
        for(int k=0;k<row.size();k++){
          Element td = row.get(k);
          if(td.hasAttr("formula")){
            td.text("");
          }
        }
      }
    }
  }
View Full Code Here

      List<Elements> rows = sheetRowCells.get(i);
      for(int j=0;j<rows.size();j++){
        Elements row = rows.get(j);
        //colNum
        for(int k=0;k<row.size();k++){
          Element td = row.get(k);
          if(td.hasAttr("formula")){
            evaluate(i, j, k);
          }
        }
      }
    }
View Full Code Here

      Elements rows = sheetRows.get(sheetNum);
      if(rowNum>=0&&rowNum<=rows.size()){
        List<Elements> tds = sheetRowCells.get(sheetNum);
        Elements cells = tds.get(rowNum);
        if(colNum>=0&&colNum<cells.size()){
          Element cell = cells.get(colNum);
          if(cell.hasAttr("formula")){
            if(StringUtils.isBlank(cell.text())){
              String formula = cell.attr("formula");
              if(formula!=null){
                if(formula.startsWith("=")){
                  formula = formula.substring(1);
                }
              }
              String parseID = String.format("%d,%d,%d", sheetNum,rowNum,colNum);
              if(es.contains(parseID)){
                throw new ExcelException("Recursive cell formula evaluation in sheet:"+sheetNum+" cell:"+rowNum+","+colNum);
              }
              es.add(parseID);
                ANTLRStringStream input = new ANTLRStringStream(formula);
                  ExcelFormulaLexer lexer = new ExcelFormulaLexer(input);
                  CommonTokenStream tokens = new CommonTokenStream(lexer);
                  ExcelFormulaParser parser = new ExcelFormulaParser(tokens);
                  Object result = null;
                  CommonTree t  = (CommonTree) parser.expressions().getTree();
                  System.out.println(t.toStringTree());
                  CommonTreeNodeStream nodes = new CommonTreeNodeStream(t);
                  ExcelFormulaJavaTree evaluator = new ExcelFormulaJavaTree(nodes,this,es,sheetNum,true);
                  result = evaluator.expr();
                  cell.text(result.toString());
                  return result;
            }else{
              return cell.text();
            }
          }else{
            return cell.text();
          }
         
        }else{
          throw new ExcelException("Invalid column number:"+colNum+" in sheet:"+sheetNum+" at row:"+rowNum);
        }
View Full Code Here

TOP

Related Classes of org.jsoup.nodes.Element

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.