我的编程空间,编程开发者的网络收藏夹
学习永远不晚

C#基于NPOI怎么操作Excel

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

C#基于NPOI怎么操作Excel

这篇文章主要介绍“C#基于NPOI怎么操作Excel”,在日常操作中,相信很多人在C#基于NPOI怎么操作Excel问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#基于NPOI怎么操作Excel”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

NPOI简介

NPOI是指构建在POI 3.x版本之上的一个程序,NPOI可以在没有安装Office的情况下对Word或Excel文档进行读写操作。

NPOI是一个开源的C#读写Excel、WORD等微软OLE2组件文档的项目。

优势

(一)传统操作Excel遇到的问题:

如果是.NET,需要在服务器端装Office,且及时更新它,以防漏洞,还需要设定权限允许.NET访问COM+,如果在导出过程中出问题可能导致服务器宕机。

Excel会把只包含数字的列进行类型转换,本来是文本型的,Excel会将其转成数值型的,比如编号000123会变成123。

导出时,如果字段内容以“-”或“=”开头,Excel会把它当成公式进行,会报错。

Excel会根据Excel文件前8行分析数据类型,如果正好你前8行某一列只是数字,那它会认为该列为数值型,自动将该列转变成类似1.42702E+17格式,日期列变成包含日期和数字的。

(二)使用NPOI的优势

您可以完全免费使用该框架

包含了大部分EXCEL的特性(单元格样式、数据格式、公式等等)

专业的技术支持服务(24*7全天候) (非免费)

支持处理的文件格式包括xls, xlsx, docx.

采用面向接口的设计架构( 可以查看 NPOI.SS 的命名空间)

同时支持文件的导入和导出

基于.net 2.0 也支持xlsx 和 docx格式(当然也支持.net 4.0)

来自全世界大量成功且真实的测试Cases

大量的实例代码

你不需要在服务器上安装微软的Office,可以避免版权问题。

使用起来比Office PIA的API更加方便,更人性化。

你不用去花大力气维护NPOI,NPOI Team会不断更新、改善NPOI,绝对省成本。

不仅仅对与Excel可以进行操作,对于doc、ppt文件也可以做对应的操作

NPOI之所以强大,并不是因为它支持导出Excel,而是因为它支持导入Excel,并能“理解”OLE2文档结构,这也是其他一些Excel读写库比较弱的方面。通常,读入并理解结构远比导出来得复杂,因为导入你必须假设一切情况都是可能的,而生成你只要保证满足你自己需求就可以了,如果把导入需求和生成需求比做两个集合,那么生成需求通常都是导入需求的子集,这一规律不仅体现在Excel读写库中,也体现在pdf读写库中,目前市面上大部分的pdf库仅支持生成,不支持导入。

操作Excel

        /// <summary>        /// 基于NPOI操作Excel        /// </summary>        public void ExportExcel()        {            string filePath = Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "\\Excel\\";            string fileName = filePath + "TestExcel_" + DateTime.UtcNow.ToString("yyyyMMddHHmmss") + ".xlsx";            if (!Directory.Exists(filePath))            {                Directory.CreateDirectory(filePath);            }            using (FileStream fs = new FileStream(fileName, FileMode.OpenOrCreate, FileAccess.ReadWrite))            {                XSSFWorkbook workbook = new XSSFWorkbook();                //创建单元格样式                ICellStyle cellStyle = workbook.CreateCellStyle();                //设置为文本格式,也可以为 text,即 dataFormat.GetFormat("text");                cellStyle.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin;    //下边框线                cellStyle.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin;      //左边框线                cellStyle.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin;     //右边框线                cellStyle.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin;       //上边框线                //设置页签名                ISheet sheet = workbook.CreateSheet("导出号段");                //设置列宽                sheet.SetColumnWidth(4, 10 * 500);//第五列 BTMAC                sheet.SetColumnWidth(5, 10 * 500);//第六列 WifiMAC1                sheet.SetColumnWidth(6, 10 * 500);//第七列 WifiMAC2                sheet.SetColumnWidth(7, 10 * 500);//第八列 HARD_CODE                sheet.SetColumnWidth(8, 10 * 500);//第九列 QR_CODE                //Excel表头栏位                string[] excelHeader = new string[] { "IMEI1", "IMEI2", "MEID", "MSN编号", "蓝牙MAC地址", "无线MAC地址1", "无线MAC地址2", "HARD_CODE", "QR_CODE", "TOKEN", "KEYMASTER" };                //设置表头字段                IRow headerRow = sheet.CreateRow(0);                for (int i = 0; i < excelHeader.Length; i++)                {                    headerRow.CreateCell(i).SetCellValue(excelHeader[i]);                }                //展开的数量                int count = int.Parse(LoginInfo.QTY);                //十六进制转为十进制                Int64 StarthardCode = Int64.Parse(LoginInfo.HardCode, NumberStyles.HexNumber);                Int64 StartbtMAC = Int64.Parse(LoginInfo.BTMAC, NumberStyles.HexNumber);                Int64 StartWifiMAC1 = Int64.Parse(LoginInfo.WiFiMAC1, NumberStyles.HexNumber);                Int64 StartWifiMAC2 = 0;                if (LoginInfo.IsEnableWiFiMAC2)                {                    StartWifiMAC2 = Int64.Parse(LoginInfo.WiFiMAC2, NumberStyles.HexNumber);                }                //填充Excel                for (int i = 0; i < count; i++)                {                    IRow row = sheet.CreateRow(i + 1);                    //BTMAC                    Int64 current_btMAC = StartbtMAC + i;                    //转回十六进制,大写                    //string strCurrent_btMAC = Convert.ToString(current_btMAC, 16).ToUpper();                    string strCurrent_btMAC = current_btMAC.ToString("X").ToUpper();                    row.CreateCell(4).SetCellValue(strCurrent_btMAC);                    //WifiMAC1                    Int64 current_WifiMAC1 = StartWifiMAC1 + i;                    //转回十六进制,大写                    string strCurrent_WifiMAC1 = current_WifiMAC1.ToString("X").ToUpper();                    row.CreateCell(5).SetCellValue(strCurrent_WifiMAC1);                    //WifiMAC2                    if (LoginInfo.IsEnableWiFiMAC2)                    {                        Int64 current_WifiMAC2 = StartWifiMAC2 + i;                        //转回十六进制,大写                        string strCurrent_WifiMAC2 = current_WifiMAC2.ToString("X").ToUpper();                        row.CreateCell(6).SetCellValue(strCurrent_WifiMAC2);                    }                    //HardCode                    Int64 current_HardCode = StarthardCode + i;                    //转回十六进制,小写                    string strCurrent_HardCode = current_HardCode.ToString("X").ToLower();                    row.CreateCell(7).SetCellValue(strCurrent_HardCode);                }                workbook.Write(fs);           //写入到Excel中                      }        }

到此,关于“C#基于NPOI怎么操作Excel”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

C#基于NPOI怎么操作Excel

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

C#基于NPOI怎么操作Excel

这篇文章主要介绍“C#基于NPOI怎么操作Excel”,在日常操作中,相信很多人在C#基于NPOI怎么操作Excel问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#基于NPOI怎么操作Excel”的疑惑有所
2023-06-30

C#中怎么用NPOI操作Excel

这篇“C#中怎么用NPOI操作Excel”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C#中怎么用NPOI操作Excel”文
2023-06-29

C#操作NPOI实现Excel数据导入导出

这篇文章主要为大家详细介绍了C#如何操作NPOI实现Excel数据导入导出功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
2023-02-15

怎么用C#实现NPOI的Excel导出

这篇文章主要讲解了“怎么用C#实现NPOI的Excel导出”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用C#实现NPOI的Excel导出”吧!技术点:1.自定义attribute属性2
2023-06-26

C#怎么写入Excel操作

这篇文章主要介绍“C#怎么写入Excel操作”,在日常操作中,相信很多人在C#怎么写入Excel操作问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#怎么写入Excel操作”的疑惑有所帮助!接下来,请跟着小编
2023-06-18

C#中怎么使用NPOI读取excel转为DataSet

这篇文章主要介绍了C#中怎么使用NPOI读取excel转为DataSet的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C#中怎么使用NPOI读取excel转为DataSet文章都会有所收获,下面我们一起来看看吧
2023-06-29

关于Python操作Excel的基本方法

这篇文章主要介绍了关于Python操作Excel的基本方法,Python是一种功能强大的编程语言,可以用于许多任务,包括处理Excel文件,需要的朋友可以参考下
2023-05-18

C#中怎么使用NPOI库读写Excel文件

今天小编给大家分享一下C#中怎么使用NPOI库读写Excel文件的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。第一步添加程引
2023-06-29

C#中怎么使用Npoi导出Excel合并行列

这篇文章主要讲解了“C#中怎么使用Npoi导出Excel合并行列”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#中怎么使用Npoi导出Excel合并行列”吧!现在用Npoi导出Excel,
2023-06-29

C++ 中怎么利用Builder操作Excel表

本篇文章为大家展示了C++ 中怎么利用Builder操作Excel表,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。首先新建一个表单Form1,保存单元文件Unit1.cpp,保存工程文件Projec
2023-06-17

C#操作excel的方法是什么

这篇文章主要介绍“C#操作excel的方法是什么”,在日常操作中,相信很多人在C#操作excel的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#操作excel的方法是什么”的疑惑有所帮助!接下来
2023-06-22

C#中怎么使用Spire.XLS来操作Excel数据

这篇“C#中怎么使用Spire.XLS来操作Excel数据”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“C#中怎么使用Spi
2023-07-05

基于PHP怎么制作通用的Excel导入程序

这篇文章主要介绍了基于PHP怎么制作通用的Excel导入程序的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇基于PHP怎么制作通用的Excel导入程序文章都会有所收获,下面我们一起来看看吧。用PowerBuild
2023-06-30

使用python3怎么操作excel

使用python3怎么操作excel?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面向对象的脚本语
2023-06-14

Python基于win32com客户端实现Excel操作的详细过程

这篇文章主要介绍了Python基于win32com客户端实现Excel操作的详细过程,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2023-05-18

excel函数求和怎么操作

这篇文章主要介绍“excel函数求和怎么操作”,在日常操作中,相信很多人在excel函数求和怎么操作问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”excel函数求和怎么操作”的疑惑有所帮助!接下来,请跟着小编
2023-07-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录