数式を含む Excel ファイルを解析する場合は、数式が含まれているセルと数式が何であるかを判断して定める必要があります。この記事では、Spire.XLS for .NET ライブラリーを使用して、数式を含むセルを取得し、C# および VB.NET で数式を返す方法を学習することができます。 Spire.XLS for.NET をインストールします まず、Spire.XLS for.NET パッケージに含まれている DLL ファイルを.NETプロジェクトの参照として追加する必要があります。DLL ファイルは、このリンクからダウンロードするか、NuGet を介してインストールできます。 PM> Install-Package Spire.XLS 数式を含むセルを取得し、数式を返す 数式を含むセルを取得して数式を返す手順は次のとおりです。 Workbook インスタンスを作成します。 Workbook.LoadFromFile() メソッドを使用して Excel ファイルをロードします。 Workbook.Worksheets [sheetIndex] プロパティを使用して、インデックスで目的のワークシートを取得します。 StringBuilder インスタンスを作成します。 Worksheet.AllocatedRange プロパティを使用して、ワークシートの使用範囲にアクセスします。 使用範囲内のセルをループします。 ループ内で、CellRange.HasFormula プロパティを使用してセルに数式が含まれているかどうかを検出します。結果が true の場合は、CellRange.RangeAddressLocal プロパティと CellRange.Formula プロパティを使用してセルの名前と数式を取得します。次に、StringBuilder.AppendLine() メソッドを使用してそれらを StringBuilder に追加します。 File.WriteAllText() メソッドを使用して、StringBuilder のコンテンツを .txt ファイルに書き込みます。 C# VB.NET using Spire.Xls; using System.IO; using System.Text; namespace ReadFormulas { class Program { static void Main(string[] args) { //Workbook インスタンスを作成する Workbook workbook = new Workbook(); //Excel ドキュメントをロード workbook.LoadFromFile("C:UsersAdministratorDesktopFormulas.xlsx"); //最初のワークシートを取得する Worksheet sheet = workbook.Worksheets[0]; //StringBuilderインスタンスを作成する StringBuilder sb = new StringBuilder(); //ワークシートの使用範囲にアクセスする CellRange usedRange = sheet.AllocatedRange; //使用範囲内のセルをループする foreach (CellRange cell in usedRange) { //現在のセルに数式があるかどうかを検出する if (cell.HasFormula) { //セル名を取得する string cellName = cell.RangeAddressLocal; //数式を取得する string formula = cell.Formula; //セル名と数式をStringBuilderに追加する sb.AppendLine(cellName + " has a formula: " + formula); } } // StringBuilderのコンテンツを.txtファイルに書き込む File.WriteAllText("formulas.txt", sb.ToString()); } } } Imports Spire.Xls Imports System.IO Imports System.Text Namespace ReadFormulas Class Program static void Main(string() args) { 'Workbook インスタンスを作成する Dim workbook As Workbook = New Workbook() 'Excel ドキュメントをロード workbook.LoadFromFile("C:UsersAdministratorDesktopFormulas.xlsx") '最初のワークシートを取得する Dim sheet As Worksheet = workbook.Worksheets(0) 'StringBuilderインスタンスを作成する Dim sb As StringBuilder = New StringBuilder() 'ワークシートの使用範囲にアクセスする Dim usedRange As CellRange = sheet.AllocatedRange '使用範囲内のセルをループする Dim cell As CellRange For Each cell In usedRange '現在のセルに数式があるかどうかを検出する if (cell.HasFormula) { 'セル名を取得する Dim cellName As String = cell.RangeAddressLocal '数式を取得する Dim formula As String = cell.Formula 'セル名と数式をStringBuilderに追加する sb.AppendLine(cellName + " has a formula: " + formula) } Next ' StringBuilderのコンテンツを.txtファイルに書き込む File.WriteAllText("formulas.txt", sb.ToString()) } End Class End Namespace 一時ライセンスを申請する 結果ドキュメントから評価メッセージを削除したい場合、または機能制限を取り除く場合は、についてこのメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 にお問い合わせ、30 日間有効な一時ライセンスを取得してください。