我对C#和excel管理非常陌生。我正在尝试使用Microsoft.Office.Interop.Excel
来做到这一点。
我有一个这样的Excel文件:
我想做的就是打开文件,读取一列(即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;
fileName
和sheetNumber
是此方法的输入。
xlRange
会是什么样子?答案 0 :(得分:2)
编辑:
我使用了以下库:
-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();
}