예제 #1
0
 public FontVO(HSSFFont font) {
   fontName = font.getFontName();
   fontHeight = font.getFontHeight();
   boldweight = font.getBoldweight();
   italic = font.getItalic();
   strikeout = font.getStrikeout();
   typeOffset = font.getTypeOffset();
   underline = font.getUnderline();
   color = font.getColor();
 }
예제 #2
0
 /**
  * Копирует все свойства исходного фонта в целевой. И исходный и целевой фонты должны относиться к
  * одному и тому же документу Excel. Данный метод используется для того чтобы в последствии
  * поменять в новом фонте один или несколько свойств не затрагивая при этом свойства исходного
  * фонта.
  *
  * @param wb документ Excel.
  * @param src фонт взятый в качестве шаблона.
  * @return созданная в этом же документе копия шрифта.
  */
 public static HSSFFont copyFont(final HSSFWorkbook wb, final HSSFFont src) {
   final HSSFFont dst = wb.createFont();
   dst.setBoldweight(src.getBoldweight());
   dst.setCharSet(src.getCharSet());
   dst.setColor(src.getColor());
   dst.setFontHeight(src.getFontHeight());
   dst.setFontName(src.getFontName());
   dst.setItalic(src.getItalic());
   dst.setStrikeout(src.getStrikeout());
   dst.setTypeOffset(src.getTypeOffset());
   dst.setUnderline(src.getUnderline());
   return dst;
 }
예제 #3
0
 /**
  * Находит или создает новый стиль на основе указанного в аргументе исходного стиля в котором были
  * изменены цвета шрифта и/или фона. Информация о всех созданных данным методом стилях сохраняется
  * в контексте выполнения в пространстве имен {@link
  * org.echosoft.framework.reports.model.el.ELContext.Scope#VAR}.
  *
  * @param ectx контекст выполнения. Используется для получения информации о текущей ячейке и для
  *     кэширования информации о вновь созданных в документе стилях.
  * @param originalStyle исходный стиль, который должен послужить основой для создаваемого стиля.
  * @param color Определяет цвет шрифта в данной ячейке. Аргумент содержит идентификатор цвета в
  *     документе или <code>-1</code> если цвет шрифта должен остаться без изменений.
  * @param bgColor Определяет цвет фона в данной ячейке. Аргумент содержит идентификатор цвета в
  *     документе или <code>-1</code> если цвет шрифта должен остаться без изменений.
  * @return копия оригинального стиля указанной ячейки с измененными цветами фона и шрифта. Этот
  *     стиль уже зарегистрирован в рабочей книге.
  */
 public static HSSFCellStyle getAltColorStyle(
     final ExecutionContext ectx,
     final HSSFCellStyle originalStyle,
     final int color,
     final int bgColor) {
   final String styleName =
       "alt.color.style:" + originalStyle.getIndex() + ':' + color + ':' + bgColor;
   HSSFCellStyle style = (HSSFCellStyle) ectx.elctx.getVariables().get(styleName);
   if (style == null) {
     style = POIUtils.copyStyle(ectx.wb, originalStyle);
     if (color >= 0) {
       final HSSFFont of = ectx.wb.getFontAt(originalStyle.getFontIndex());
       HSSFFont nf =
           ectx.wb.findFont(
               of.getBoldweight(),
               (short) color,
               of.getFontHeight(),
               of.getFontName(),
               of.getItalic(),
               of.getStrikeout(),
               of.getTypeOffset(),
               of.getUnderline());
       if (nf == null) {
         nf = POIUtils.copyFont(ectx.wb, of);
         nf.setColor((short) color);
       }
       style.setFont(nf);
     }
     if (bgColor >= 0) {
       style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
       style.setFillForegroundColor((short) bgColor);
     }
     ectx.elctx.getVariables().put(styleName, style);
   }
   return style;
 }