在excel中,a1到a3都是整数,我现在想求a1到a3的平均分,结果放在a4中
问题1:要求结果保留两位小数,比如36.55
问题2:结果用百分比的形式表示,也是保留两位小数  比如35.62%
要求用delphi来操作

解决方案 »

  1.   

    var
      App, Book, Sheet: OleVariant;
    begin
      App := CreateOleObject('Excel.Application');
      Book := App.Workbooks.Open('C:\test.xls');
      Sheet := Book.ActiveSheet;
      Sheet.Range['A4'].FormulaR1C1 := '=AVERAGE(R[-3]C:R[-1]C)';
      Sheet.Range['A4'].NumberFormatLocal := '0.00_ ';
      Sheet.Range['A5'].FormulaR1C1 := '=AVERAGE(R[-3]C:R[-1]C)';
      Sheet.Range['A5'].NumberFormatLocal := '0.00%';
      Book.Save;
      App.Quit;
    end;
      

  2.   

    我就直接引用一楼的了
    我觉得要修改下
    用try
         App := CreateOleObject('Excel.Application');
      Book := App.Workbooks.Open('C:\test.xls');
      Sheet := Book.ActiveSheet;
      Sheet.Range['A4'].FormulaR1C1 := '=AVERAGE(R[-3]C:R[-1]C)';
      Sheet.Range['A4'].NumberFormatLocal := '0.00_ ';
      Sheet.Range['A5'].FormulaR1C1 := '=AVERAGE(R[-3]C:R[-1]C)';
      Sheet.Range['A5'].NumberFormatLocal := '0.00%';
      Book.Save;
      
      
      finally
       Book.CLose;
       App.Quit;
      end;