Ich habe ein Problem mit dem Schreiben von Funktionen aus C# in Excel-Datei.Schreiben von Funktionen in Excel von C#
private void AddDemandFunctions()
{
Func<string, string, string> function = (range, shift) =>
{
var builder = new StringBuilder();
builder.Append("=LICZ.JEŻELI(");
builder.Append(range);
builder.Append("; \"");
builder.Append(shift);
builder.Append("\")");
return builder.ToString();
};
int startRow = 5;
int endRow = 20;
string [] columns = { "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z", "AA", "AB", "AC", "AD", "AE", "AF", "AG", "AH", "AI", "AJ", "AK", "AL", "AM" };
foreach (var column in columns)
{
string range = column + startRow + ":" + column + endRow;
worksheet.Range[column + 21].Formula = function(range, "D"); // HERE I GET AN EXCEPTION RIGHT IN MY FACE :(
worksheet.Range[column + 22].Formula = function(range, "E");
worksheet.Range[column + 23].Formula = function(range, "L");
worksheet.Range[column + 24].Formula = function(range, "N");
}
}
Die Ausnahme ist:
An unhandled exception of type 'System.Runtime.InteropServices.COMException' occurred in mscorlib.dll
Additional information: Wyjątek od HRESULT: 0x800A03EC.
My Excel (2010) polnische Sprachversion ist. Wenn ich versuchte, "=" zu löschen, funktioniert es, aber es schreibt nur Text. Dann, wenn ich "=" in Excel-Datei hinzufügen, ist alles in Ordnung. Es gibt keinen Fehler in der Funktionszeichenfolge.
ich mit nicht-polnisch-Funktion auch versucht: COUNTIF
und ich habe die gleiche Ausnahme ...
Irgendwelche Ideen?
Grüße von PL :)
möglich duplizieren: https://stackoverflow.com/questions/16400302/excel-worksheet-cellsrow-col-formula-vs-range-set-valuemissing-value- a – ASh
Ich denke, dass ich andere Bibliothek verwende, weil ich Metode Set_Value auf Range Objekt wie in Ihrem Thema nicht habe ... – Roofy
ist es excel.interop? Versuchen Sie 'Value' Eigenschaft (' set_Value' ist ein Setter) – ASh