文档章节

NPOI 操作Excel

o
 osc_wws45aot
发布于 2019/08/20 09:29
字数 431
阅读 10
收藏 0

精选30+云产品,助力企业轻松上云!>>>

一、NPOI组件导入

右键项目菜单,“管理NuGet程序包”

直接搜索“NPOI”即会出现列表,下载第一个进行安装即可

安装完成后项目引用会出现以下几项

二、基础使用

添加引用

using NPOI.HPSF;
using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;

Excel操作开始

HSSFWorkbook hssfworkbook = new HSSFWorkbook();//先创建Workbook
ISheet sheet= hssfworkbook.CreateSheet("Sheet1");//创建sheet页
IRow row1=sheet.CreateRow(0);//创建行
row1.CreateCell(0).SetCellValue("test");//创建单元格并设置值

文件导出

FileStream file = new FileStream(sFilePath, FileMode.Create);
hssfworkbook.Write(file);
file.Close();

测试代码(以MVC实例):

/// <summary>
        /// 读取xls内容
        /// </summary>
        /// <returns></returns>
        public ActionResult Index()
        {
            string sFilePath = @"C:\text.xls";
            //根据路径获取读取xls文件
            HSSFWorkbook wb = new HSSFWorkbook(new FileStream(sFilePath, FileMode.Open));
            //获取sheet对象
            ISheet sheet1 = wb.GetSheet("Sheet1");
            //获取行
            IRow row = sheet1.GetRow(1);
            //获取单元格
            ICell cell = row.GetCell(0);
            ICell cell1 = row.GetCell(1);

            var cellValue = cell.ToString();
            return View();
        }

        /// <summary>
        /// NPIO导出excel
        /// </summary>
        /// <returns></returns>
        public FileResult DownFile()
        {
            string sFilePath = @"C:\text.xls";
            HSSFWorkbook hssfworkbook = new HSSFWorkbook();//先创建Workbook
            ISheet sheet = hssfworkbook.CreateSheet("Sheet1");//创建sheet页
            IRow row1 = sheet.CreateRow(0);//创建行
            row1.CreateCell(0).SetCellValue("test");//创建单元格并设置值

            //设置列宽(字符宽度)
            sheet.SetColumnWidth(0, 10 * 256);//第一列,10个字符宽度
            //设置行高
            row1.HeightInPoints = 40;//高度(像素)
            //设置网格的默认行高和列框
            sheet.DefaultColumnWidth = 100 * 256;
            sheet.DefaultRowHeightInPoints = 30;

            //设置单元格样式 
            //样式创建
            ICellStyle style = hssfworkbook.CreateCellStyle();
            style.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;//文字横向居中
            style.VerticalAlignment = VerticalAlignment.Center;//文字纵向居中
            IFont font = hssfworkbook.CreateFont();//字体
            font.FontHeight = 20 * 20;
            style.SetFont(font);

            ICell cell = row1.Cells[0];//获取单元格对象
            cell.CellStyle = style;//绑定样式

            //单元格合并
            sheet.AddMergedRegion(new NPOI.SS.Util.CellRangeAddress(0, 0, 0, 8));//合拼了A1到I1

            //设置文件的详细信息
            DocumentSummaryInformation dsi = PropertySetFactory.CreateDocumentSummaryInformation();
            dsi.Company = "公司名称";//公司
            SummaryInformation si = PropertySetFactory.CreateSummaryInformation();
            si.Subject = "主题";//主题
            hssfworkbook.DocumentSummaryInformation = dsi;
            hssfworkbook.SummaryInformation = si;

            FileStream file = new FileStream(sFilePath, FileMode.Create);
            hssfworkbook.Write(file);
            file.Close();
            return File(sFilePath, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "text.xls");
        }

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
老牌开源Office操作组件NPOI现已支持.NET Core

昨天在微信群里听到老牌Excel开发利器NPOI的作者瞿总说4.6.1版本的NPOI已经支持.NET Standard 2.0了,这也就意味着你可以在.NET Core中使用NPOI了。 写在前面 曾经的.NET Framework时代就很喜...

依乐祝
2019/01/15
0
0
NPOI学习--转载

转自:https://www.cnblogs.com/pengze0902/p/6150070.html 很多的软件项目几乎都包含着对文档的操作,前面已经介绍过两款操作文档的组件,现在介绍一款文档操作的组件NPOI。 NPOI可以生成没...

osc_xf69gbe7
2018/04/05
4
0
.net core下对于Excel的一些操作及使用

原文:.net core下对于Excel的一些操作及使用 在上一篇[.net core下配置、数据库访问等操作实现]主要介绍了读取配置,数据库操作的一些方法实例,本篇主要介绍下 .net core下针对Excel的相关操...

osc_zoa3moe9
2019/12/07
1
0
老牌开源Office操作组件NPOI现已支持.NET Core

昨天在微信群里听到老牌Excel开发利器NPOI的作者瞿总说4.6.1版本的NPOI已经支持.NET Standard 2.0了,这也就意味着你可以在.NET Core中使用NPOI了。 作者:依乐祝 原文地址 :https://www.c...

dotNET跨平台
2019/01/16
0
0
老牌开源Office操作组件NPOI现已支持.NET Core

昨天在微信群里听到老牌Excel开发利器NPOI的作者瞿总说4.6.1版本的NPOI已经支持.NET Standard 2.0了,这也就意味着你可以在.NET Core中使用NPOI了。 作者:依乐祝原文地址 :https://www.cnb...

osc_m6qqd6pr
2019/01/15
1
0

没有更多内容

加载失败,请刷新页面

加载更多

linux下java环境搭建

1、jdk下载: 官方地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html 如下图所示,我这边选择的是红框中的版本 2、压缩包上传至服务器 将下载的压缩包上传...

wc_飞豆
50分钟前
17
0
面试题:Java对象不再使用时,为什么要赋值为null?

前言 许多Java开发者都曾听说过“不使用的对象应手动赋值为null“这句话,而且好多开发者一直信奉着这句话;问其原因,大都是回答“有利于GC更早回收内存,减少内存占用”,但再往深入问就回...

码农突围
52分钟前
22
0
设计模式(5) 原型模式

原型模式 原型模式的适用场景 浅拷贝 深拷贝 用Initialize方法修改初始化状态 原型模式与之前学习的各种工厂方法、单例模式、建造者模式最大、最直观的区别在于,它是从一个既有的对象“克隆...

zhixin9001
53分钟前
7
0
获取免费的pycharm激活码网站

http://www.lookdiv.com/

云烟成雨forever
53分钟前
27
0
用Helm部署Kubernetes应用,支持多环境部署与版本回滚

1 前言 Helm是优秀的基于Kubernetes的包管理器。利用Helm,可以快速安装常用的Kubernetes应用,可以针对同一个应用快速部署多套环境,还可以实现运维人员与开发人员的职责分离。现在让我们安...

南瓜慢说
54分钟前
25
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部