通过Excel公式字符串读取Excel单元格值

问题描述

我的C#.Net应用程序通过使用excel公式字符串加载和读取excel表格单元格值。

例如-excel工作表位置和选项卡名称及其单元格行/列将作为公式字符串提供。

'D:\ datax [Data.Xls] EOD'!$ A5

根据上述公式-C#应用程序从该位置加载Data.Xls并打开EOD选项卡,应读取第5行A列的值。

寻找在C#.Net框架中完成的最佳方法

解决方法

                string con = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + openFileDialog1.FileName + ";Extended Properties='Excel 8.0;HDR=Yes;READONLY=true;IMEX=1;'";
                using (var connection = new System.Data.OleDb.OleDbConnection(con))
                {
                    connection.Open();

                    xlApp = new Application();
                    xlWorkbook = xlApp.Workbooks.Open(openFileDialog1.FileName);

                    for (int ipage = 1; ipage <= xlApp.ActiveWorkbook.Sheets.Count; ipage++)
                    {
                        Worksheet page = xlApp.ActiveWorkbook.Sheets[ipage];
                        page.Columns.ClearFormats();
                        sayfa.Rows.ClearFormats();
                        var xlRange = page.UsedRange;
                        var lastRow = page.Cells.SpecialCells(XlCellType.xlCellTypeLastCell).Row;
                        int sum = xlRange.Rows.Count - 1;

                        var columns = new List<string>();
                        string ObjecType = "";

                        for (int i = 1; i < xlRange.Columns.Count + 1; i++)
                        {
                        
                        }
                    
                    }
                    
                    connection.Close();
                }