cxSpreadBook 要么 cxSpreadSheet 设置文本格式
uses
cxSSStyles,cxSSDesigner;
Type
TStyleAccess = class(TcxSSCellStyle);
TSheetAccess = class(TcxSSBookSheet);
procedure TForm2.Button16Click(Sender: TObject);
varRow,Col: Integer;
AStyle: TcxSSCellStyle;
CurrentStyle: integer;
begin
TSheetAccess(cxSpreadBook.ActiveSheet).Owner.BeginUpdate;
try
for Row := 0 to cxSpreadBook.ActiveSheet.RowCount - 1 do
for Col := 0 to cxSpreadBook.ActiveSheet.ColumnCount - 1 do
begin
AStyle := cxSpreadBook.ActiveSheet.GetCellObject(Col,row).Style;
CurrentStyle := TStyleAccess(AStyle).StyleInfo.FormatIndex;
if CurrentStyle =0 then //像那些时间类型的 不能强制转换成文本 不然会出错
begin
TStyleAccess(AStyle).StyleInfo.FormatIndex := 49;
TStyleAccess(AStyle).DoOnChange(AStyle, siFormat);
end;
end;
finally
TSheetAccess(cxSpreadBook.ActiveSheet).Owner.EndUpdate;
end;
end;