C#使用NPOI库读写Excel文件

本文实例为大家分享了C#使用NPOI库读写Excel文件的具体代码,供大家参考,具体内容如下

第一步添加程引用 : 右键项目工程 — 管理 NuGet程序包 — 搜索 NOPI — 安装

对文件Excel进行操作

读取excel文件

private IWorkbook wk;  
private FileStream fs; 
private void OpenExcel(string path)
        {
            StringBuilder sbr = new StringBuilder();
            try
            {
                using (fs = File.OpenRead(path))   //打开myxls.xls文件
                {
                    wk = new XSSFWorkbook(fs);   //把xls文件中的数据写入wk中
 
                    for (int i = 0; i < wk.NumberOfSheets; i++)  //NumberOfSheets是myxls.xls中总共的表数
                    {
                        ISheet sheet = wk.GetSheetAt(i);   //读取当前表数据
 
                        for (int j = 0; j <= sheet.LastRowNum; j++)  //LastRowNum 是当前表的总行数
                        {
                            IRow row = sheet.GetRow(j);  //读取当前行数据
                            if (row != null)
                            {
                                sbr.Append("-------------------------------------\r\n"); //读取行与行之间的提示界限
                                for (int k = 0; k <= row.LastCellNum; k++)  //LastCellNum 是当前行的总列数
                                {
                                    ICell cell = row.GetCell(k);  //当前表格
                                    if (cell != null)
                                    {
                                        sbr.Append(cell.ToString());   //获取表格中的数据并转换为字符串类型
                                    }
                                }
                            }
                        }
                    }
                }
            }
            catch (Exception)
            {
                MessageBox.Show("文件被其他应用打开,请关闭对该文件的引用!!!");
            }
        }

修改 写入

private void SetCellValue(ISheet sheet,int row,int column,String value)
 {
            ICell tmpCell = sheet.GetRow(row).GetCell(column);
            tmpCell.SetCellValue(value);
}

保存

private void SaveExcel(String path)
{
            //把编辑过后的工作薄重新保存为excel文件
            FileStream fs2 = File.Create(path);
            wk.Write(fs2);
            fs2.Close();
            MessageBox.Show("文件修改成功!!!");
 }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • C#基于NPOI生成具有精确列宽行高的Excel文件的方法

    本文实例讲述了C#基于NPOI生成具有精确列宽行高的Excel文件的方法,是非常具有实用价值的技巧分享给大家供大家参考.具体方法如下:. 一.前言 NPOI是操作Excel的神器,导出导入快如闪电, 但是SetColumnWidth函数个人感觉不会用,怎么弄都无法控制好,因为他是以字符数量去设置宽度,实际上Excel列宽还有个像素的概念,更难搞懂了. //附带SetColumnWidth的用法和注释 IWorkbook hssfworkbook = new HSSFWorkbook(); ISh

  • C#通过NPOI操作Excel的实例代码

    C#操作Excel的方法有很多种,常见的有微软官方的OLE Automation,Apache的POI等.这里介绍的是POI翻译成C#的NPOI. POI是Apache的通过Java操作Office的一个API,可以对Excel,Word,PPT等进行操作,十分的强大.然后就被翻译成C#版本的NPOI了,和log4j与log4net很相似. 好像在NPOI的.net4.0版本之前是不支持office2007及以上的XML格式的,但是最新的版本已经支持了.只需要下载并引用下面五个程序集就能使用了.

  • c# 根据NPOI 读取一个excel 文件的多个Sheet

    大家都知道NPOI组件可以在你本地没有安装office的情况下来 读取,创建excel文件.但是大家一般都是只默认读取一个excel文件的第一个sheet.那么如果要读取一个excel 的所有sheet 要怎么做呢? 下面就来告诉大家如何操作NPOI 读取excel 的所有sheet. 首先我们先讲解操作excel 单独创建的一个类,我命名为 EXECLHELP using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using NPOI.XSSF

  • C#使用NPOI导入Excel的方法详解

    本文实例讲述了C#使用NPOI导入Excel的方法.分享给大家供大家参考,具体如下: NPOI是由国人开发的一个进行excel操作的第三方库.百度百科介绍如下:NPOI 本文主要介绍如何使用NPOI将Excel数据读取. 首先引入程序集: using System.IO; using System.Reflection; using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using System.Web; 然后定位到文件位置: string

  • c# 应用NPOI获取Excel中的图片,保存至本地的算法

    要求:读取excel中的图片,保存到指定路径 思路:  利用NPOI中 GetAllPictures()方法获取图片信息 步骤: 1.新建一个Windows窗体应用程序 2.桌面新建一个excel,贴入两张图片 如下图: 3.在Form中拖入一个button 4.点击button,在点击事件方法中写入,要读取图片的方法:ExcelToImage 点击事件方法如下: private string exclePath = @"C:\users\lenovo\Desktop\testPic.xls&q

  • C#使用NPOI实现Excel和DataTable的互转

    什么是NPOI? NPOI是指构建在POI 3.x版本之上的一个程序,NPOI可以在没有安装Office的情况下对Word或Excel文档进行读写操作. NPOI是一个开源的C#读写Excel.WORD等微软OLE2组件文档的项目. 使用NuGet安装NPOI NuGet直接搜索NPOI,目前版本是v2.4.1,将其安装至项目即可. 安装完成后,项目会自动为我们添加这4个引用 同时还需要在程序中引入NPOI.SS.UserModel;NPOI.XSSF.UserModel;NPOI.HSSF.U

  • C# 基于NPOI操作Excel

    目录 1 单元格下拉框 2 添加批注 3 读取数据 结语 常见问题解决 NPOI 导出添加批注功能 POI导出Excel时下拉列表值超过255的问题 日期格式导入混乱 注意 1 单元格下拉框 在开发中我们会遇到为单元格设置下拉框.一般可以编写如下: var cellRanges = new CellRangeAddressList(firstRow, lastRow, firstCol, latsCol); DVConstraint constraint = DVConstraint.Creat

  • C#使用NPOI实现Excel导入导出功能

    本文实例为大家分享了C#使用NPOI实现Excel导入导出的具体代码,供大家参考,具体内容如下 Excel导入 使用OpenFileDiolog控件和button结合,选择文件导入,将路径显示在文本框 设置按钮点击事件,将文件路径赋给textBox.Text private void Department_SUM_Click(object sender, EventArgs e)         {             OpenFileDialog open = new OpenFileDi

  • C#实现NPOI的Excel导出详解

    技术点: 1.自定义attribute属性 2.通过反射取类及其属性的attribute属性值 3.NPOI包常用属性及方法(我也仅仅知道用到过的,陌生的要么见名知意,要么百度查) 实现功能点: List类对象的模板导出,实用场景例子见最后代码块(emm...还是比较抽象,代码见) EXCEL导出类DTO超类 定义继承导出类DTO的特性说明类 Excel帮助类 这部分要讲的点其实挺多的,关键就是EXCEL导出所用到的数据源是强类型的. 可以看出来list其实是EF的Queryable toLis

  • C#使用NPOI上传excel

    写本文章的目的是为了记录工作中遇到的问题,方便以后遇到可以迅速解决问题 我使用的NPOI版本是2.2.1.0版本 需要用到的命名空间 using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; 首先需要读取excel文件中的内容转为表格 string path为excel表格文件的在本地的地址 Stream fs为上传文件的流可以根据Request.Files[0].InputStream  获得

随机推荐