C# 得到EXCEL表格中的有效行數和列數

来源:https://www.cnblogs.com/maihang/archive/2019/04/09/10678412.html
-Advertisement-
Play Games

每種方法中上面的是Excel的行數,下麵的是Excel的列數。方法七:經過加工修改已經可以讀出來的是有效數據行 using Excel = Microsoft.Office.Interop.Excel;//Excel表讀寫 Excel.Application app = new Excel.Appl ...


每種方法中上面的是Excel的行數,下麵的是Excel的列數。方法七:經過加工修改已經可以讀出來的是有效數據行

using Excel = Microsoft.Office.Interop.Excel;//Excel表讀寫
Excel.Application app = new Excel.Application();
object omissing = System.Reflection.Missing.Value;
Excel.Workbook workbook = app.Workbooks.Open(excleItem.FullName, omissing, omissing, omissing, omissing, omissing, omissing, omissing, omissing, omissing, omissing, omissing, omissing, omissing, omissing);
Excel.Sheets sheets = workbook.Worksheets;//讀取Excel表格的標簽頁
Excel.Worksheet worksheet = (Excel.Worksheet)sheets.get_Item(1);//讀取第一張表

方法1:
  worksheet.UsedRange.Rows.Count
  worksheet.UsedRange.Columns.Count
  缺點:有時可能會比實際數大一些,原因是如果你把最後幾行(列)數據清除後(非整行或整列刪除),用這個命令仍返回未清除前的值。就是說現在雖然是空的,但是你曾經用過也算你的。

方法2:
  worksheet.Range(“A65535″).End(xlUp).Row
  worksheet.Range(“IV1″).End(xlToLeft).Column
  可以簡寫為:
  worksheet.[A65536].End(xlUp).Row
  worksheet.[IV1].End(xlToLeft).Column
  缺點:只能計算出一列(行)的最後一個單元格所在的行(列)數。本例是只返回A列最後一個單元格所占的行數。

方法3:
  worksheet.Cells.SpecialCells(xlCellTypeLastCell).Row
  worksheet.Cells.SpecialCells(xlCellTypeLastCell).Column
  缺點:在工作表進行對刪除或清除操作時也會變得比實際情況大。

方法4:
  worksheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
  worksheet.UsedRange.SpecialCells(xlCellTypeLastCell).Column
  缺點:在工作表進行對刪除或清除操作時也會變得比實際情況大。

方法5:
  worksheet.CountA(ActiveSheet.Range(“A:A”))
  worksheet .CountA(ActiveSheet.Range(“1:1″))
  只能統計一列(行)的實際使用情況,得到的不一定是最後一行(列)的位置。方法2的數值比此方法大時,說明在A列的數據間有空白未填寫的單元格。

方法6:
  worksheet.Cells.Find(What:=”*”, After:=[A1], SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
  worksheet.Cells.Find(What:=”*”, After:=[A1], SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column
   效果同方法2

方法7:
  worksheet.UsedRange.CurrentRegion.Rows.Count
  worksheet.UsedRange.CurrentRegion.Columns.Count
  缺點:CurrentRegion 所在位置的活動區域,若有空行或者空列,則空行或空列後面的無法獲取到

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 上一篇文章,小樂給大家介紹了《Java8新特性之方法引用》,下麵接下來小樂將會給大家介紹Java8新特性之Stream,稱之為流,本篇文章為上半部分。 1、什麼是流? Java Se中對於流的操作有輸入輸出IO流,而Java8中引入的Stream 屬於Java API中的一個新成員,它允許你以聲明性 ...
  • public class 類名{ private double 財產 = 0;//設一個財產的屬性; public void 一個月工資(){ this.財產 +=4500; }//設一個方法增加財產; public double 顯示財產(){ return this.財產; }//設一個方法,返 ...
  • 目前信息化產業發展勢頭很好,互聯網就成為了很多普通人想要涉及的行業,因為相比於傳統行業,互聯網行業漲薪幅度大,機會也多,所以就會大批的人想要轉行來學習Java開發。目前來講市場上需要的Java人員非常多,而且按照現在的勢頭,以後會需要更多的Java開發人員,理由是以後每個人公司都會有自己的網站,有自 ...
  • /// /// 生成隨機的字元串 /// /// 驗證碼長度 /// public string CreateRandomCode(int codeCount) { string allChar = "0,1,2,3,4,5,6,7,8,9,A,B,C,D... ...
  • 晚上利用空閑時間,用Socket做了一些小功能。 功能如下: a.聊天 b.傳文件 c.抖動好友 主界面: 伺服器 客戶端 操作步驟: 伺服器(測試環境的IP地址為:192.168.92.111,視情況而定): >開始監聽 客戶端: >連接 註:服務端和客戶端同時運行步驟: 功能一: 服務端 客戶端 ...
  • 1. 在使用Entity Framework這種ORM框架得時候,一般結合Repository倉儲形式來處理業務邏輯;雖然這種模式帶來很多好處,但是也會引發一些爭議,在此拋開不談,小弟結合項目經驗來實現一下,歡迎大佬拍磚; 2. 後續會帶來Dapper 基於Repository實現,代碼一些實現會兼 ...
  • ...
  • 指針很簡單 引子 學電腦語言,首先推薦C語言.無論是數據結構還是演算法,站在C語言的角度,會讓我們理解的更加清晰透徹. 但是,指針不太"友好",讓很多人抓狂,頭疼.不少人選擇了放棄,繞行.百度上有千千萬個解決方法,而我們放棄的理 由和簡單,路在腳下,向前還?是向後? C語言之所以經久不衰,就是因為指 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...