使用NPOI进行Excel操作

一、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();

三、样式及单元格操作

//设置列宽(字符宽度)
sheet.SetColumnWidth(0, 10 * 256);//第一列,10个字符宽度

//设置行高
row.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 = row.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;

四、Excel文件读取

//根据路径获取读取xls文件
HSSFWorkbook wb = new HSSFWorkbook(new FileStream(@"C:\Users\Yc\Desktop\text.xls", FileMode.Open)); //获取sheet对象 ISheet sheet1 = wb.GetSheet("Sheet1");
//获取行
IRow row = sheet1.GetRow(0);
//获取单元格
ICell cell = row1.GetCell(0);

读取完毕之后,按需操作内容即可

PS:最近用上了,想想还是记录一下的好

转载于:https://www.cnblogs.com/weimingtian/p/11353140.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C# NPOI是一个用于在C#中操作Excel的库。NPOI的行和列的索引都是从0开始的。NPOI支持读取Excel文件的两种格式:HSSF(.xls)和XSSF(.xlsx)。使用NPOI进行Excel操作的步骤如下: 1. 首先,将NPOI.dll导入你的项目中。在解决方案资源管理器中,右键点击项目,选择“引用”或“添加引用”,然后选择NPOI.dll进行导入。 2. 接着,引入NPOI的命名空间。在你的代码文件的开头,使用`using NPOI`来引入NPOI的命名空间。 3. 创建一个Workbook对象,表示一个工作簿。可以使用`HSSFWorkbook`或`XSSFWorkbook`类来创建对应格式的工作簿。 4. 获取工作簿中的工作表(Sheet)。可以使用`GetSheetAt`方法来获取指定索引的工作表,也可以使用`GetSheet`方法根据工作表名称来获取。 5. 在工作表中,可以使用`GetRow`方法获取指定索引的行,使用`GetCell`方法获取指定索引的单元格。 6. 对于读取操作,可以使用单元格的`ToString`方法获取单元格的值。对于写入操作,可以使用单元格的`SetCellValue`方法设置单元格的值。 7. 在完成操作后,记得保存工作簿,可以使用`Write`方法将工作簿保存到文件中,也可以使用`WriteTo`方法将工作簿保存到流中。 下面是一个示例代码,演示了如何使用NPOI读取和写入Excel文件: ```csharp using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using NPOI.XSSF.UserModel; // 读取Excel文件 IWorkbook workbook; using (FileStream file = new FileStream("path/to/excel.xlsx", FileMode.Open, FileAccess.Read)) { if (Path.GetExtension(file.Name).Equals(".xls")) workbook = new HSSFWorkbook(file); else workbook = new XSSFWorkbook(file); ISheet sheet = workbook.GetSheetAt(0); for (int rowIndex = 0; rowIndex <= sheet.LastRowNum; rowIndex++) { IRow row = sheet.GetRow(rowIndex); for (int cellIndex = 0; cellIndex < row.LastCellNum; cellIndex++) { ICell cell = row.GetCell(cellIndex); string cellValue = cell.ToString(); Console.WriteLine("Cell({0}, {1}): {2}", rowIndex, cellIndex, cellValue); } } } // 写入Excel文件 using (FileStream file = new FileStream("path/to/new_excel.xlsx", FileMode.Create, FileAccess.Write)) { IWorkbook workbook = new XSSFWorkbook(); ISheet sheet = workbook.CreateSheet("Sheet1"); for (int rowIndex = 0; rowIndex < 10; rowIndex++) { IRow row = sheet.CreateRow(rowIndex); for (int cellIndex = 0; cellIndex < 10; cellIndex++) { ICell cell = row.CreateCell(cellIndex); cell.SetCellValue("Data " + rowIndex + "-" + cellIndex); } } workbook.Write(file); } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值