第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

c# excel 如何在使用的范圍內(nèi)查找第一個單元格。

c# excel 如何在使用的范圍內(nèi)查找第一個單元格。

C#
白衣非少年 2021-11-21 18:10:26
我可以XlCellType.xlCellTypeLastCell用來查找使用范圍內(nèi)的最后一個單元格。如何在一行中獲得第一個單元格?獲取最后一個單元格位置的代碼。    Excel.Range mergeCells = (Excel.Range)mergeSheet.Cells[6,1].EntireRow;    var rowRng = mergeCells.SpecialCells(XlCellType.xlCellTypeLastCell, Type.Missing);    var colPosition = rowRng.Column;一種方法是獲取mergeCells.value并循環(huán)以遞增計數(shù)器,直到我看到空/空值。但我希望把它寫成一行。有任何想法嗎 ?測試用例:(1)預(yù)期結(jié)果 colPosition = 1(2)預(yù)期結(jié)果 colPosition = 5
查看完整描述

3 回答

?
開滿天機

TA貢獻1786條經(jīng)驗 獲得超13個贊

這是使用 Excel Interop 庫的解決方案(如問題中所標記)。下面的方法將返回給定行中第一個單元格的基于 1 的列索引。它適用于您提供的測試用例以及我自己的一些測試用例。請注意,如果您只想使用已用范圍中的第一行 - 而不是提供的行,您可以使用ActiveSheet.UsedRange.Rows[1].Row.


    public static int FindFirstCellInExcelRow(string filePath, int rowNum)

    {

        Excel.Application xlApp = null;

        Excel.Workbook wkBook = null;

        Excel.Worksheet wkSheet = null;

        Excel.Range range = null;

        try

        {

            xlApp = new Excel.Application();

            wkBook = xlApp.Workbooks.Open(filePath);

            wkSheet = wkBook.ActiveSheet;

            range = wkSheet.Cells[rowNum, 1].EntireRow;

            if (range.Cells[1, 1].Value != null)

            {

                return range.Cells[1, 1].Column;

            }

            var result = range.Find(What: "*", After: range.Cells[1, 1], LookAt: Excel.XlLookAt.xlPart, LookIn: Excel.XlFindLookIn.xlValues, SearchOrder: Excel.XlSearchOrder.xlByColumns, SearchDirection: Excel.XlSearchDirection.xlNext, MatchByte: false, MatchCase: false);

            int colIdx = result?.Column ?? 0; // return 0 if no cell in row contains value

            return colIdx;

        }

        finally

        {

            wkBook.Close();

            Marshal.ReleaseComObject(xlApp);

            Marshal.ReleaseComObject(wkBook);

            Marshal.ReleaseComObject(wkSheet);

            Marshal.ReleaseComObject(range);

            xlApp = null;

            wkBook = null;

            wkSheet = null;

            range = null;

        }

    }


查看完整回答
反對 回復(fù) 2021-11-21
?
鴻蒙傳說

TA貢獻1865條經(jīng)驗 獲得超7個贊

我強烈 (x10) 建議在 Microsoft 的 Excel 庫上使用 ClosedXML(除非您使用舊的 xls 文件)。使用 ClosedXML 您可以執(zhí)行以下操作(這是從他們的網(wǎng)頁中直接獲取的):


從 NuGet 包中獲取它。 Install-Package ClosedXML -Version 0.93.1


https://github.com/ClosedXML/ClosedXML/wiki/Finding-and-extracting-the-data


  var wb = new XLWorkbook(northwinddataXlsx);

  var ws = wb.Worksheet("Data");


  // Look for the first row used

  var firstRowUsed = ws.FirstRowUsed();


  // Narrow down the row so that it only includes the used part

  var categoryRow = firstRowUsed.RowUsed();


  // Move to the next row (it now has the titles)

  categoryRow = categoryRow.RowBelow();


  // Get all categories

  while (!categoryRow.Cell(coCategoryId).IsEmpty())

  {

    String categoryName = categoryRow.Cell(coCategoryName).GetString();

    categories.Add(categoryName);


    categoryRow = categoryRow.RowBelow();

  }


查看完整回答
反對 回復(fù) 2021-11-21
?
不負相思意

TA貢獻1777條經(jīng)驗 獲得超10個贊

試試下面的代碼片段,這將給出 excel 使用范圍的第一行


Excel.Workbook xlWB = Globals.ThisAddIn.Application.ActiveWorkbook;

Excel.Worksheet xlWS = xlWB.ActiveSheet;

int firstRow = xlWS.UsedRange.Row;


查看完整回答
反對 回復(fù) 2021-11-21
  • 3 回答
  • 0 關(guān)注
  • 451 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號