Hi,

Sorry, I sent a broken code, here is the code that will  fix
your issues about  rendering.

Regards,
Guillaume

/**
    * Sets the value of the tablePrintRanges property.
    *
    * @param value allowed object is {...@link String }
    *
    */
   public void setTablePrintRanges(final String value) {
       if (value == null || !value.contains(":")) {
           throw new IllegalArgumentException("ranges is null");
       }
       this.tablePrintRanges = value;
       final int s = value.indexOf(':');
       final String l = value.substring(0, s);
       final String r = value.substring(s + 1);

       String vl = l.substring(l.indexOf('.') + 1);
       String vr = r.substring(r.indexOf('.') + 1);
       vl = removeDollars(vl);
       vr = removeDollars(vr);

       {
           int j = 0;
           for (int i = vl.length() - 1; i >= 0; i--) {
               final int c = vl.charAt(i);
               if (Character.isLetter(c)) {
                   final int val = c - 'A' + 1;
                   this.printStartCol += val * Math.pow(26, j);
                   j++;
               } else {
                   this.printStartRow = i;
               }
           }
           final String substring = vl.substring(j);
           this.printStartRow = Integer.valueOf(substring) - 1;
           this.printStartCol--;
       }
       {
           int j = 0;
           for (int i = vr.length() - 1; i >= 0; i--) {
               final int c = vr.charAt(i);
               if (Character.isLetter(c)) {
                   final int val = c - 'A' + 1;
                   this.printStopCol += val * Math.pow(26, j);
                   j++;
               } else {
                   this.printStopRow = i;
               }
           }
           final String substring = vr.substring(j);
           this.printStopRow = Integer.valueOf(substring) - 1;
           this.printStopCol--;
       }
   }

   private final String removeDollars(String s) {
       final int length = s.length();
       final StringBuilder t = new StringBuilder(length);
       for (int i = 0; i < length; i++) {
           char c = s.charAt(i);
           if (c != '$') {
               t.append(c);
           }
       }
       return t.toString();
   }

Reply via email to