Hello.
Please teach it again.
I do not work by a function supported in CalculateFormula Method normally?
Would you teach it?
Excel excel = new Excel();
Worksheet sheet = excel.Worksheets[0];
sheet.Name = "Sheet1";
sheet.Cells[0,0].Formula = "=YEAR(2005)";
sheet.Cells[0,1].Formula = "=MONTH(12)";
sheet.Cells[0,2].Formula = "=DAY(24)";
sheet.Cells[1,0].Formula = "=DATE(A1,B1,C1)";
excel.CalculateFormula();
Console.WriteLine(sheet.Cells[0,0].StringValue);
Console.WriteLine(sheet.Cells[0,1].StringValue);
Console.WriteLine(sheet.Cells[0,2].StringValue);
Console.WriteLine(sheet.Cells[1,0].StringValue);
The output on the console is:
1905
VSX9llyJqxvIIGMrZA
24
#VALUE!
Why will not it be output as follows?
2005
12
24
2005/12/24 0:00:00
daimaru(japan)
I translate this sentence by translation software
Please try this attached fix.
The output should be same as MS Excel:
1905
1
24
1905-12-24 0:00:00
In previous version:
1905
VSX9llyJqxvIIGMrZA
24
#VALUE!
The second line of garbage text is an evaluation limitation and the fourth is a bug.
Please try this attached fix with the following sample code:
Excel excel = new Excel();
Worksheet sheet = excel.Worksheets[0];
sheet.Name = "Sheet1";
sheet.Cells[0,0].Formula = "=YEAR(2005)";
sheet.Cells[0,1].Formula = "=MONTH(12)";
sheet.Cells[0,2].Formula = "=DAY(24)";
sheet.Cells[1,0].Formula = "=DATE(A1,B1,C1)";
sheet.Cells[100,100].PutValue(12);
excel.CalculateFormula();
Console.WriteLine(sheet.Cells[0,0].StringValue);
Console.WriteLine(sheet.Cells[0,1].StringValue);
Console.WriteLine(sheet.Cells[0,2].StringValue);
Console.WriteLine(sheet.Cells[1,0].StringValue);
Thank you.
I worked well.
Flexibility such as your company has not watched a certain correspondence till now, and I think very favorably.
Hello.
It is one step more, but I want to increase only 1st on the date that I led by a DATE function, but do not work by this program.
Will there be measures method?
Excel excel = new Excel();
excel.Open(@"C:\TEMP.XLS");
Worksheet sheet = excel.Worksheets[0];
DateTime dt = new DateTime(2005,12,24);
sheet.Cells[1,1].PutValue(dt);
sheet.Cells[0,0].Formula = "=YEAR(B2)";
sheet.Cells[0,1].Formula = "=MONTH(B2)";
sheet.Cells[0,2].Formula = "=DAY(B2)";
sheet.Cells[1,0].Formula = "=DATE(A1,B1,C1)";
sheet.Cells[1,2].Formula = "=B1+1";
excel.CalculateFormula();
Console.WriteLine(sheet.Cells[1,0].StringValue);
Console.WriteLine(sheet.Cells[1,2].StringValue);
The output on the console is:
2005/12/24 0:00:00
#VALUE!
Why will not it be output as follows?
2005/12/24 0:00:00
2005/12/25 0:00:00
daimaru(japan)
I translate this sentence by translation software