クロスワークブック数式を使用すると、外部ワークブックのデータを参照して計算を行うことができます。例えば、異なる科目の5つのワークブックがある場合は、クロスワークブック数式を使用して、ワークシートに5つの科目のすべてのマークを合計できます。
DioDocs for Excelでは、外部ワークブックのフォルダーやWebパスを使用することで、クロスワークブック数式を使用できます。GetExcelLinkSourcesプロパティを使用して、リンクされたExcelワークブックの名前を取得し、UpdateExcelLinksメソッドを使用して、Excelのリンクのキャッシュを更新できます。
次のコードは、 外部ワークブックのフォルダーのパスを使用してクロスワークブック数式を作成し、Excelのリンクを更新する方法を示します。
C# |
コードのコピー
|
---|---|
//新しいワークブックを作成します var workbook = new GrapeCity.Documents.Excel.Workbook(); workbook.Worksheets[0].Range["B1"].Formula = @"='D:\[A.xlsx]Sheet1'!A1"; //外部ワークブックのインスタンスとして新しいワークブックを作成します var workbook2 = new GrapeCity.Documents.Excel.Workbook(); workbook2.Worksheets[0].Range["A1"].Value = "Hello, World!"; workbook2.Worksheets[0].Range["A2"].Value = "Hello"; //外部ワークブックのデータのキャッシュを更新します foreach (var item in workbook.GetExcelLinkSources()) { workbook.UpdateExcelLink(item, workbook2); } //Excelファイルに保存します workbook.Save("crossworkbookformula.xlsx"); |
次のコードは、外部ワークブックのWebパスを使用してクロスワークブック数式を作成し、Excelのリンクを更新する方法を示します。
C# |
コードのコピー
|
---|---|
//新しいワークブックを作成します var workbook = new GrapeCity.Documents.Excel.Workbook(); workbook.Worksheets[0].Range["B1"].Formula = "= 'http://wwww.grapecity.com/gcexcel/[SourceWorkbook.xlsx]Sheet1'!A1"; //外部ワークブックのインスタンスとして新しいワークブックを作成します var workbook2 = new GrapeCity.Documents.Excel.Workbook(); workbook2.Worksheets[0].Range["A1"].Value = 100; //外部ワークブックのデータのキャッシュを更新します foreach (var item in workbook.GetExcelLinkSources()) { workbook.UpdateExcelLink(item, workbook2); } //Excelファイルに保存します workbook.Save("crossworkbookformulawebpath.xlsx"); |