8

EPPlus を使用してワークシートを読み取ります。このワークシートでは、必要なデータは列にありますB-D。列Aには、無視する静的な値があります。col の値はAまで埋められRow 1000ます。しかし、必要なデータは、たとえばRow 450. 現在私は使用しています

int endRow = workSheet.Dimension.End.Row;

読み取る最後の行を計算しますが、それは の値を返します1000450col を無視してendRow の値を取得する方法はありAますか?

4

3 に答える 3

5

または、値がnullかどうかを確認することもできます。

if(worksheet.cells[row,column].value != null)
   {
         //ok to proceed
   }
于 2012-09-25T01:26:06.640 に答える
1

必要な情報を取得するには、Linq クエリを使用します。

using (ExcelPackage exPackage = new ExcelPackage(aFile))
        {
            ExcelWorksheet sheet = exPackage.Workbook.Worksheets["Sheet1"];

            List<String> checkCol = new List<String>();
            checkCol.Add("B");
            checkCol.Add("C");
            checkCol.Add("D");

            int longestColumn = 0;

            foreach (String col in checkCol)
            {
                var cells = from c in sheet.Cells[col + ":" + col]
                            where c.Value != null & c.Text.ToString() != ""
                            select c;

                if (cells.Count() > longestColumn) longestColumn = cells.Count();

            }


            MessageBox.Show("The endpoint is: " + longestColumn.ToString());
        }
于 2012-09-11T15:39:16.680 に答える