XlsReadWriteII EXCEL Cell Font 单元字体设置
通过XLSReadWriteII5在写EXCEL时,由于XLSReadWriteII5中使用的是个性化的TFont,因而通过参数带入TFont,不能完整地将TFont带入Cell的Font,问题解决如下:
一、问题说明
1、TFontStyle
EXCEL(windows)使用:
type TFontStyle = (fsBold, fsItalic, fsUnderline, fsStrikeOut);
2、XLSReadWriteII5 使用
Type Txc12FontStyle=xfsBold,xfsItalic,xfsStrikeOut,xfsOutline,xfsShadow,xfsCondense,xfsExtend}
3、Txc12FontStyle不支持下划线,只能设置Cell的 FontUnderline参数。
二、如何带入Font
Font.Name和Font,Size可以直接带入。
但是,Font.Style需要判断重新设置,间接带入:
1、定义全局变量Font1:TFont,带入Cell的Font参数
2、定义XLSReadWriteII5临时风格变量
Var CellFontStyle : TXc12FontStyles; // XLSReadWriteII5 Cell 字体风格
3、写EXCEL方法
Var CellFontStyle : TXc12FontStyles;
Befgin
......
FontName:=Font1.Name; // 直接带入
FontSize:=Font1.Size; // 直接带入
// 收下需要间接带入
CellFontStyle:=[];
if fsBold in Font1.Style then CellFontStyle:=CellFontStyle+[xfsBold];
if fsItalic in Font1.Style then CellFontStyle:=CellFontStyle+[xfsItalic];
if fsStrikeOut in Font1.Style then CellFontStyle:=CellFontStyle+[xfsStrikeOut];
if fsUnderline in Font1.Style then FontUnderline:=xulSingle;
FontStyle := CellFontStyle;
.......
End;
生成EXCEL,正常带入Font参数,效果如下: