VBA -> NPOI excel для чтения c#

#c# #vba #excel #apache-poi #npoi

#c# #vba #excel #apache-poi #npoi

Вопрос:

Добрый день, я пытаюсь использовать NPOI для чтения 2 файлов Excel. Один файл действует как своего рода «ключ», где я делаю некоторые суммированные значения, индексы и сопоставления между ними при открытии. Ниже приведен фрагмент кода VBA, который отлично работает. Два файла Excel — «wb» и «wb2» (извините за мои ужасные соглашения об именовании).

 With wb2.Sheets(4)
lastRow3 = .Range("C" amp; .Rows.Count).End(xlUp).Row
End With


With wb.Sheets(2)
lastRowwb2 = .Range("C" amp; .Rows.Count).End(xlUp).Row
End With

For Each cell In wb.Sheets(2).Range("A1:A" amp; lastRowwb2)
    cell.Offset(0, 3) = Application.SumIf(wb2.Sheets(4).Range("B" amp; firstrow amp; ":B" amp; lastRow3), cell.Value, wb2.Sheets(4).Range("K" amp; firstrow amp; ":K" amp; lastRow3))
Next cell

For Each cell In wb.Sheets(2).Range("F1:F" amp; 3)
    If cell.Offset(0, 1) <> 0 Then
        occupancy = occupancy amp; cell.Offset(0, 0) amp; " - " amp; Format(cell.Offset(0, 1), "Percent") amp; ", "
    Else
    End If
Next cell
  

Вот ниже мое начало c#

  // compariosn files
        ISheet sheet = hssfwb.GetSheet("GEOCODING");
        ISheet sheet1 = hssfwb.GetSheet("GEODISTRIBUTION");
        ISheet sheet2 = hssfwb.GetSheet("OCCUPANCY");
        ISheet sheet5 = hssfwb.GetSheet("CONSTRUCTION");
        ISheet sheet9 = hssfwb.GetSheet("NUMSTORIES");
        ISheet sheet10 = hssfwb.GetSheet("FLOORAREA");



        //coding sheet
        ISheet sheet3 = hssfwb1.GetSheet("Occupancy");
        ISheet sheet4 = hssfwb1.GetSheet("Fire to RMS");
        ISheet sheet6 = hssfwb1.GetSheet("Construction");
        ISheet sheet7 = hssfwb1.GetSheet("ATC Consturction");
        ISheet sheet8 = hssfwb1.GetSheet("FIRE Classes");

        for (int row = 0; row <= sheet3.LastRowNum; row  )
        {
            sheet3.CreateRow(row).CreateCell(3).SetCellFormula("");
        }

        for (int row = 0; row <= 2; row  )
        {
            if (sheet3.GetRow(row).GetCell(6).ToString() != "0")
            {
                string occupancy = sheet3.GetRow(row).GetCell(5).ToString()   " - "   sheet3.GetRow(row).GetCell(6).ToString()   ", ";
            }

        }
  

Я не уверен, как запустить формулу на одном листе, используя значения другого листа (разные файлы)