2017-09-15 1 views
0

Ich versuche ein Prozentformat festzulegen, wenn ich eine Zelle erstelle, dies ist mein Code.Festlegen des Formats als Prozentsatz in einer Zelle mit Google Tabellen-API

new Data.CellData 
{ 
    UserEnteredValue = new Data.ExtendedValue 
    { 
     FormulaValue = "=(B2/C2)-1" 
    }, 
    EffectiveFormat = new Data.CellFormat 
    { 
     NumberFormat = new Data.NumberFormat 
     { 
      Pattern = "00.0%", 
      Type = "NUMBER" 
     } 
    } 
} 

Aktueller Wert dargestellt ist „-,2488570834“ und ich brauche dieses „-24,88%“. Was ich vermisse?

Vielen Dank im Voraus.

Antwort

0

Versuchen nach den Number format examples im Dokument: enter image description here

Ich habe auch festgestellt, ein sample code dieses (Umwandlung Format Ihre Probe) zu testen:

var ss = SpreadsheetApp.getActiveSpreadsheet(); 
    var range = ss.getActiveRange(); 

    var rows = range.getNumRows(); 
    var cols = range.getNumColumns(); 
    for(var row = 1; row <= rows; row++) { 
    for(var col = 1; col <= cols; col++) { 
     var cell = range.getCell(row, col); 
     var value = cell.getValue(); 
     if(typeof(value) == 'number') { 
     cell.setNumberFormat("##.#%"); 
     } 
    } 
    } 

Ergebnis:

enter image description here

Das Codebeispiel ist für Apps s cript, aber die Implementierung in C# wäre die gleiche. Ändern Sie Pattern = "00.0%", zu Pattern = "##.#%",.

Hoffe, das hilft.

+0

Vielen Dank für Ihre Hilfe, aber in meinem Fall hat es nicht funktioniert. Ich denke, mein Problem ist mehr mit der Datenstruktur, die ich sende, als mit dem String-Format. – malvakian

Verwandte Themen