Exemple #1
0
 /**
  * Метод проверяет наличие в рабочей книге зарегистрированного фонта с указанными характеристиками
  * и если он отсутствует то регистрирует его.
  *
  * @param wb рабочая книга в которой должен быть зарегистрирован требуемый фонт.
  * @param font характеристики требуемого фонта.
  * @return зарегистрированный в рабочей книге фонт с требуемыми характеристиками.
  */
 public static HSSFFont ensureFontExists(final HSSFWorkbook wb, final Font font) {
   final short colorId = font.getColor() != null ? font.getColor().getId() : 0;
   HSSFFont f =
       wb.findFont(
           font.getBoldWeight(),
           colorId,
           font.getFontHeight(),
           font.getFontName(),
           font.isItalic(),
           font.isStrikeout(),
           font.getTypeOffset(),
           font.getUnderline());
   if (f == null) {
     f = wb.createFont();
     f.setBoldweight(font.getBoldWeight());
     f.setCharSet(font.getCharSet());
     f.setColor(colorId);
     f.setFontHeight(font.getFontHeight());
     f.setFontName(font.getFontName());
     f.setItalic(font.isItalic());
     f.setStrikeout(font.isStrikeout());
     f.setTypeOffset(font.getTypeOffset());
     f.setUnderline(font.getUnderline());
   }
   return f;
 }
 public void applyTo(HSSFFont font) {
   font.setFontName(fontName);
   font.setFontHeight(fontHeight);
   font.setBoldweight(boldweight);
   font.setItalic(italic);
   font.setStrikeout(strikeout);
   font.setTypeOffset(typeOffset);
   font.setUnderline(underline);
   font.setColor(color);
 }
Exemple #3
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;
 }
Exemple #4
0
 /** 單元格的字体 workbook excel font --字体模型 */
 public static HSSFFont getHSSFFont(HSSFWorkbook workbook, Font f) {
   HSSFFont font = workbook.createFont();
   // 字体名称
   font.setFontName(f.getFontNm());
   // 字号
   font.setFontHeightInPoints(f.getFontSize());
   // 字体颜色
   font.setColor(f.getFontColor());
   // 下划线
   font.setUnderline(f.getUnderline());
   // 上标下标
   font.setTypeOffset(f.getOffset());
   // 删除线
   font.setStrikeout(f.getDelLine());
   // 加粗
   font.setBoldweight(f.getBold());
   // 斜线
   font.setItalic(f.getItalic());
   // 字体高度
   // font.setFontHeight(arg0);
   return font;
 }