C#怎么读取excel的有效行数或者最大有效列数

发布时间:2021-08-18 20:18:59 作者:chen
来源:亿速云 阅读:664

本篇内容主要讲解“C#怎么读取excel的有效行数或者最大有效列数”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#怎么读取excel的有效行数或者最大有效列数”吧!

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>

        /// 读取某一个excel文件的某一个工作表的有效行数或者最大有效列数

        /// </summary>

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

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

        /// <param name="readFlag">为true代表读取的为:有效行数,为:false代表读取的为:最大有效列数</param>

        /// <returns>返回值 “不为-1” 代表读取成功,否则为读取失败</returns>

        public static int rowORcolAllCount(string save_address, int sheet_number, Boolean readFlag)//读取excel表格相应工作表的所有数据

        {

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

            FileStream readfile = null;

            try

            {

                //如果传入参数合法

                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)//如果需要读取‘有效行数’

                        {

                            rowORcolCnt = sheet.LastRowNum+1;//有效行数(NPOI读取的有效行数不包括列头,所以需要加1)

                        }

                        else

                        { //如果需要读取‘最大有效列数’

                            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方法产生了异常!");

            }

            finally

            {

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

            }

            return rowORcolCnt;

        }

    }

}

到此,相信大家对“C#怎么读取excel的有效行数或者最大有效列数”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

推荐阅读:
  1. 如何有效优化Mysql瓶颈
  2. mysql权限如何有效管理

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

上一篇:excel怎么逐列读取所有数据

下一篇:Docker的常用命令整理

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》