gpt4 book ai didi

C# 和 Excel,按名称选择列并获取最高值

转载 作者:行者123 更新时间:2023-12-04 22:27:04 24 4
gpt4 key购买 nike

我对 c# 很陌生,对 excel 管理也很陌生。我正在尝试使用 Microsoft.Office.Interop.Excel .
我有一个这样的excel文件:

enter image description here

我想要做的是打开文件,读取一列(即 x-com 列)并获得最高数字(当然,如果是数字)。

我打开了文件

Excel.Application xlApp = new Excel.Application();
Excel.Workbook xlWorkBook = xlApp.Workbooks.Open(fileName);
Excel.Worksheet xlWorksheet = xlWorkBook.Sheets[sheetNumber];
Excel.Range xlRange = xlWorksheet.UsedRange;
fileNamesheetNumber是该方法的输入。
  • 我怎样才能只读一栏?并获得最高的数字?
  • [可选] 我不确定 Excel.Range 到底是什么。如何在控制台上打印它?如果我打印 xlRange 会是什么样子?
  • 最佳答案

    编辑:
    我使用了以下库:
    - using ExcelDataReader; - using ClosedXML.Excel;我真的不记得我使用的两个库中的哪一个,但它可能是第二个。

    你可以试试这段代码:

    var file = new XLWorkbook("YOUR EXCEL FILE PATH");
    var foglio = file.Worksheet("sheet"); //select the worksheet
    var firstRowUsed = foglio.FirstRowUsed(); //Gets the first row used
    var ComuniRow = firstRowUsed.RowUsed(); //Gets the very first row used (in your case A1:"Control System")
    var LastRow = LastRowUsed.RowUsed(); //Last Row used
    ComuniRow = ComuniRow.RowBelow();//Select the row below (in your case A2:"P/M").
    string Value = ComuniRow.GetString(); //Assigns "P/M" to the string

    现在你有了一个字段的确切位置。
    此时,您只需循环整个列,直到“LastRowUsed”。
    while(ComuniRow != LastRow)
    {
    string test = ComuniRow.GetString();//the value of the current selected cell
    ComuniRow = ComuniRow.RowBelow();
    }

    如果您需要选择特定的列,您可以使用 .Cell(x)
    while(ComuniRow.Cell([cell value]) != LastRow.Cell([cell value]))
    {
    string test = ComuniRow.Cell([cell value]).GetString();//the value of the current selected cell
    ComuniRow = ComuniRow.RowBelow();
    }

    关于C# 和 Excel,按名称选择列并获取最高值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56884344/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com