是否可以通过Open Office API设置单元格的数字格式?
我正在将一些数据导出到OpenOffice Calc中,我想使用用户定义的格式。
下面是我的代码的一个例子:
try
AOpenOffice := GetActiveOleObject('com.sun.star.ServiceManager');
except
on E: Exception do
begin
AOpenOffice := CreateOleObject('com.sun.star.ServiceManager');
end;
end;
AStarDesktop := AOpenOffice.createInstance('com.sun.star.frame.Desktop');
AFileProp := varArrayCreate([0, -1], varVariant);
AMyDoc := AStarDesktop.LoadComponentFromURL('private:factory/scalc', '_blank', 0, AFileProp);
AAllSheets := AMyDoc.Sheets;
AMySheet := AAllSheets.getByIndex(0);
for AColumn := 0 to 9 do begin
for ARow := 1 to 10 do begin
ARange := Chr(ord('A') + AColumn) + IntToStr(ARow);
AMyCell := AMySheet.getCellRangeByName(ARange);
AValue := (AColumn + 1) * ARow * 1000;
AMyCell.setFormula(AValue);
// ? TODO set number format
end;
end;
谢谢你的建议。
1条答案
按热度按时间q9yhzks01#
试试这个:
ActivateSheetByIndex(1).getCellByPosition(col - 1, row - 1).NumberFormat := 36; {Date}