delphi 通过Open Office API设置数字格式

xj3cbfub  于 2022-12-18  发布在  其他
关注(0)|答案(1)|浏览(126)

是否可以通过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;

谢谢你的建议。

q9yhzks0

q9yhzks01#

试试这个:ActivateSheetByIndex(1).getCellByPosition(col - 1, row - 1).NumberFormat := 36; {Date}

相关问题