【NetOffice】方法 : Excel の計算をプログラムで実行する
- 2012.11.17 Saturday
- 21:27
Source and Project
Microsoft.Office.Interop.Excelでできる事は、NetOfficeでも似たようなコードで実現できるのではないか!?という安易な発想でMSDNに書かれているコードを試してみることにします。
今回は
方法 : Excel の計算をプログラムで実行する
http://msdn.microsoft.com/ja-jp/library/2kseswtc(v=vs.80).aspx
計算式が指定されたRangeオブジェクトのCalculateメソッドを呼び出すと、指定された計算式が評価され、値が表示されます。
using System;
using System.Linq;
using NetOffice.ExcelApi;
namespace Art55.NetOfficeDemo20121117_010
{
class Program
{
static void Main()
{
// 方法 : Excel の計算をプログラムで実行する
// http://msdn.microsoft.com/ja-jp/library/2kseswtc(v=vs.80).aspx
var application = new Application {Visible = true};
Worksheet worksheet = application.Workbooks.Add().Worksheets.OfType<Worksheet>().First();
Name valuesRange = application.Names.Add("valuesRange", worksheet.Range("A1", "A5"));
Name sumRange = application.Names.Add("sumRange", valuesRange.RefersToRange.Last().Offset(1));
var random = new Random();
valuesRange
.RefersToRange
.ToList()
.ForEach(cell => cell.Value2 = random.Next(20));
sumRange.RefersToRange.Formula = "=SUM(" + valuesRange.RefersToRange.Address + ")";
sumRange.RefersToRange.FormulaHidden = true;
sumRange.RefersToRange.Calculate();
}
}
}
■計算式を設定する。
sumRange.RefersToRange.Formula = "=SUM(" + valuesRange.RefersToRange.Address + ")";
■計算する。
sumRange.RefersToRange.Calculate();
実行結果
Source and Project
--------------------------------------
本投稿は、CodePlexで公開されているNetOfficeを利用しています。
NetOffice - MS Office in .NET
http://netoffice.codeplex.com/
NetOffice関連の記事は下記にまとめています。
【NetOffice】【Excel】NetOfficeのまとめ
http://pro.art55.jp/?eid=1304102
--------------------------------------