溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

C#怎么讀取excel的有效行數(shù)或者最大有效列數(shù)

發(fā)布時(shí)間:2021-08-18 20:18:59 來(lái)源:億速云 閱讀:819 作者:chen 欄目:系統(tǒng)運(yùn)維

本篇內(nèi)容主要講解“C#怎么讀取excel的有效行數(shù)或者最大有效列數(shù)”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“C#怎么讀取excel的有效行數(shù)或者最大有效列數(shù)”吧!

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using NPOI.SS.UserModel;

using NPOI.HSSF.UserModel;

using System.IO;

namespace www.xinduofen.cn

{

    class NpoiOperateExcel

    {

/// <summary>

        /// 讀取某一個(gè)excel文件的某一個(gè)工作表的有效行數(shù)或者最大有效列數(shù)

        /// </summary>

        /// <param name="save_address">代表excel表格保存的地址,包括"文件名.xls"</param>

        /// <param name="sheet_number">代表將要讀取的sheet表的索引位置</param>

        /// <param name="readFlag">為true代表讀取的為:有效行數(shù),為:false代表讀取的為:最大有效列數(shù)</param>

        /// <returns>返回值 “不為-1” 代表讀取成功,否則為讀取失敗</returns>

        public static int rowORcolAllCount(string save_address, int sheet_number, Boolean readFlag)//讀取excel表格相應(yīng)工作表的所有數(shù)據(jù)

        {

            int rowORcolCnt = -1;//初始化為-1

            FileStream readfile = null;

            try

            {

                //如果傳入?yún)?shù)合法

                if (!string.IsNullOrEmpty(save_address) && sheet_number > 0)

                {

                    readfile = new FileStream(save_address, FileMode.Open, FileAccess.Read);

                    HSSFWorkbook hssfworkbook = new HSSFWorkbook(readfile);

                    ISheet sheet = hssfworkbook.GetSheetAt(sheet_number - 1);

                    if (sheet != null)

                    {

                        if (readFlag)//如果需要讀取‘有效行數(shù)’

                        {

                            rowORcolCnt = sheet.LastRowNum+1;//有效行數(shù)(NPOI讀取的有效行數(shù)不包括列頭,所以需要加1)

                        }

                        else

                        { //如果需要讀取‘最大有效列數(shù)’

                            for (int rowCnt = sheet.FirstRowNum; rowCnt <= sheet.LastRowNum; rowCnt++)//迭代所有行

                            {

                                IRow row = sheet.GetRow(rowCnt);

                                if (row != null && row.LastCellNum > rowORcolCnt)

                                {

                                    rowORcolCnt = row.LastCellNum;

                                }

                            } 

                        }

                    }

                }

            }

            catch (Exception)

            {

                Console.WriteLine("NpoiOperateExcel.rowOrColumnAllCount方法產(chǎn)生了異常!");

            }

            finally

            {

                if (readfile != null) { readfile.Close(); }

            }

            return rowORcolCnt;

        }

    }

}

到此,相信大家對(duì)“C#怎么讀取excel的有效行數(shù)或者最大有效列數(shù)”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI