如何获得列值与单元格地址从Excel c#

本文关键字:地址 Excel 单元格 何获得 | 更新日期: 2023-09-27 18:09:13

我能够使用下面的代码从excel中读取一列。代码将这些值读入系统。数组中。并使用这个系统。数组对象数据,我将其转换为列表类型。然而,对于从excel中读取的每个单元格…我需要它的地址(更确切地说,是第2行)。我怎么能做到呢?

string sFilePath = "C:''Mydata.xls";            
xlApp = new Excel.Application();
xlWorkBook = xlApp.Workbooks.Open(sFilePath);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item("PID");
xlApp.Visible = true;
Excel.Range MyColumn = oExcelSheet.UsedRange.Columns[7];
System.Array myvalues = (System.Array)MyColumn.Cells.Value;
List<string> strArray = myvalues.OfType<string>().Select(o => o.ToString()).ToList();

我不知道这是否有帮助,但是在调试模式下检查时…System.Array(我。

如何获得列值与单元格地址从Excel c#

如果有人有兴趣知道答案…下面这行代码实际上跳过了空值并丢失了实际索引

List<string> strArray = myvalues.OfType<string>().Select(o => o.ToString()).ToList();

所以,不使用上面的代码…我试图显式地循环数组值,并通过添加'if null'检查和添加项目到列表

来保留每个项目的索引
range = xlWorkSheet.UsedRange;
int rowCount = range.Rows.Count;
List<string> strArray = new List<string>();
for (int i = 1; i < rowCount; i++)
{
    if (myvalues.GetValue(i, 1) == null)
        strArray.Add(" ");   
    else  
       strArray.Add(myvalues.GetValue(i, 1).ToString());  
}