我需要使用InteropExcel从excel文件中获取特定行的最后一个非空单元格

时间:2016-06-30 09:02:55

标签: c#-4.0

我正在使用Interop Excel dll来获取excel文件的每一行的非空单元格。

这是我正在寻找的屏幕截图。

enter image description here

Cany有人建议使用C#代码获取行的最后一个非空单元格

我正在使用下面的代码。我正在获取行的最后一个单元格,但我需要一个特定行的最后一个非空单元格。

       Microsoft.Office.Interop.Excel.Application excel = new Application();
        Microsoft.Office.Interop.Excel.Workbook workBook =
            excel.Workbooks.Open(filename);
        Microsoft.Office.Interop.Excel.Worksheet sheet = workBook.Worksheets["Sample"];
        Microsoft.Office.Interop.Excel.Range range = sheet.UsedRange;
        Microsoft.Office.Interop.Excel.Range last = sheet.Cells.SpecialCells(Microsoft.Office.Interop.Excel.XlCellType.xlCellTypeLastCell, Type.Missing);
        //Microsoft.Office.Interop.Excel.Range cellRange = sheet.Range["3:3", last];
        //int lastCell = cellRange.Columns.Count;
        int lastUsedRow = last.Row;
        int lastUsedColumn = last.Column;
        long lastColumn = sheet.Cells[2, 2].End(Microsoft.Office.Interop.Excel.XlDirection.xlToLeft).Column;

先谢谢

1 个答案:

答案 0 :(得分:-1)

假设您想要获取第2行中最后一个非空单元格的值,其中值可能出现在列之间" A"和" AY"。然后,您将使用Excel公式:

=LOOKUP(2,1/(A2:Y2<>""),A2:Y2)

如果您可以在C#中访问此电子表格公式(我非常确定Visual Studio有相应的公式),那么您可以使用它并解决您的问题。