NPOI生成excel表格
1.什么是NPOI?百度百科给出的定义是:NPOI是指构建在POI 3.x版本之上的一个程序,NPOI可以在没有安装Office的情况下对Word或Excel文档进行读写操作。
简单的说,NPOI就是一个功能强大的用来读写excel和word文档的类库。
<!--[if !supportLists]-->2. 2.NPOI生成EXCEL表格的基本过程:获取数据>创建表格>将数据写入表格
<!--[if !supportLists]-->3. 3.代码示例
创建两个类:学生类和员工类
public class Student { public String no; public String name; } public class Worker { public String age; public String job; public String name; }
表格两个sheet页的表头
/// <summary> /// 获取学生表头 /// </summary> /// <returns></returns> public List<String> GetStuHeaderList() { var stuHeaderList = new List<String>(); stuHeaderList.Add("学号"); stuHeaderList.Add("姓名"); return stuHeaderList; } /// <summary> /// 获取工人表头 /// </summary> /// <returns></returns> public List<String> GetWorHeaderList() { var worHeaderList = new List<String>(); worHeaderList.Add("姓名"); worHeaderList.Add("年龄"); worHeaderList.Add("工作"); return worHeaderList; }
获取数据:项目中一般会在数据库中获取数据,这里为了简化,直接向列表中添加内容
public void GetData(List<Student> stuList, List<Worker> workList) { Student stu1 = new Student(); stu1.no = "1"; stu1.name = "小A"; stuList.Add(stu1); Student stu2 = new Student(); stu2.no = "2"; stu2.name = "小B"; stuList.Add(stu2); Worker work1 = new Worker(); work1.age = "20"; work1.job = "工程师"; work1.name = "小C"; workList.Add(work1); Worker work2 = new Worker(); work2.age = "22"; work2.job = "技术员"; work2.name = "小D"; workList.Add(work2); }
创建EXCEL文件并写入数据
public String CreateExcelFile(String filePath, String fileName) { String result = "S"; //为列表添加数据 List<Student> stuList = new List<Student>(); List<Worker> workList = new List<Worker>(); this.GetData(stuList, workList); if (!string.IsNullOrEmpty(filePath)) { NPOI.HSSF.UserModel.HSSFWorkbook book = new NPOI.HSSF.UserModel.HSSFWorkbook(); NPOI.SS.UserModel.ISheet sheet = book.CreateSheet("sheet1"); //设置标题样式 ICellStyle style1 = book.CreateCellStyle(); style1.Alignment = HorizontalAlignment.Center; IFont font = book.CreateFont(); font.Boldweight = short.MaxValue; font.FontHeight = 280; style1.SetFont(font); //写标题 NPOI.SS.UserModel.IRow row1 = sheet.CreateRow(0); row1.Height = 420; sheet.AddMergedRegion(new CellRangeAddress(0, 0, 0, 1));//合并单元格 ICell cell1 = row1.CreateCell(0); cell1.CellStyle = style1; cell1.SetCellValue("学生信息表"); //设置表头字体 ICellStyle style2 = book.CreateCellStyle(); style2.Alignment = HorizontalAlignment.Center; IFont font3 = book.CreateFont(); font3.Boldweight = short.MaxValue; style2.SetFont(font3); style2.WrapText = true; style2.VerticalAlignment = VerticalAlignment.Center; //写文件头 NPOI.SS.UserModel.IRow row2 = sheet.CreateRow(1); List<String> headerList = this.GetStuHeaderList(); for (int i = 0; i < headerList.Count; i++) { ICell cell5 = row2.CreateCell(i); cell5.CellStyle = style2; cell5.SetCellValue(headerList[i]); } //写数据 for (int i = 0; i < stuList.Count; i++) { NPOI.SS.UserModel.IRow row3 = sheet.CreateRow(i + 2); row3.CreateCell(0).SetCellValue(stuList[i].no); row3.CreateCell(1).SetCellValue(stuList[i].name); } //生成员工表 book = WriteWorkerFileToExcel(book, filePath + @"\" + fileName + ".xls", workList); // 写入到客户端 using (System.IO.MemoryStream ms = new System.IO.MemoryStream()) { book.Write(ms); using (FileStream fs = new FileStream(filePath +@"\" + fileName + ".xls", FileMode.Create, FileAccess.Write)) { byte[] data = ms.ToArray(); fs.Write(data, 0, data.Length); fs.Flush(); } book = null; } } return result; } /// <summary> /// 生成sheet2 /// </summary> /// <param name="book"></param> /// <param name="filePath"></param> /// <param name="workList"></param> /// <returns></returns> public NPOI.HSSF.UserModel.HSSFWorkbook WriteWorkerFileToExcel(NPOI.HSSF.UserModel.HSSFWorkbook book, String filePath,List<Worker> workList) { if (!string.IsNullOrEmpty(filePath)) { NPOI.SS.UserModel.ISheet sheet = book.CreateSheet("sheet2"); List<String> headerList = this.GetWorHeaderList(); //设置标题样式 ICellStyle style1 = book.CreateCellStyle(); style1.Alignment = HorizontalAlignment.Center; IFont font = book.CreateFont(); font.Boldweight = short.MaxValue; font.FontHeight = 280; style1.SetFont(font); //写标题 NPOI.SS.UserModel.IRow row1 = sheet.CreateRow(0); row1.Height = 420; sheet.AddMergedRegion(new CellRangeAddress(0, 0, 0, 2)); ICell cell1 = row1.CreateCell(0); cell1.CellStyle = style1; cell1.SetCellValue("员工信息表"); //设置表头字体 ICellStyle style2 = book.CreateCellStyle(); style2.Alignment = HorizontalAlignment.Center; IFont font3 = book.CreateFont(); font3.Boldweight = short.MaxValue; style2.SetFont(font3); style2.WrapText = true; style2.VerticalAlignment = VerticalAlignment.Center; //写文件头 NPOI.SS.UserModel.IRow row2 = sheet.CreateRow(1); for (int i = 0; i < headerList.Count; i++) { ICell cell5 = row2.CreateCell(i); cell5.CellStyle = style2; cell5.SetCellValue(headerList[i]); } //写数据 for (int i = 0; i < workList.Count; i++) { NPOI.SS.UserModel.IRow row3 = sheet.CreateRow(i + 2); row3.CreateCell(0).SetCellValue(workList[i].name); row3.CreateCell(1).SetCellValue(workList[i].job); row3.CreateCell(2).SetCellValue(workList[i].age); } return book; } return null; }
相关推荐
在这个场景中,我们要关注的是如何利用NPOI在VB.NET中获取Excel指定表格位置的图片。 首先,理解NPOI的基本用法至关重要。NPOI提供了对HSSFWorkbook(用于旧版的XLS格式)和XSSFWorkbook(用于较新的XLSX格式)的...
### NPOI 导出 Excel 表格技术详解 #### 一、概述 NPOI 是一个基于 Apache POI 的 .NET 版本,用于读写 Microsoft Office 格式的文件,如 Excel 和 Word。NPOI 提供了丰富的 API 来操作这些文件,尤其在处理 Excel...
在.NET开发环境中,如果你需要将Excel文件转换为PDF格式,NPOI库是一个非常实用的工具。NPOI是一个开源的API,它允许开发者读写Microsoft Office格式的文件,包括Excel(XLS和XLSX)。这篇博客文章的作者提供了使用...
本文实例讲述了C#基于NPOI生成具有精确列宽行高的Excel文件的方法,是非常具有实用价值的技巧分享给大家供大家参考。具体方法如下:。 一、前言 NPOI是操作Excel的神器,导出导入快如闪电, 但是SetColumnWidth函数...
将这些数据组织成表格格式,然后使用NPOI生成Word文档并插入相应的表格。 总结一下,C#和NPOI的组合使得在Word文档中动态生成内容变得非常方便。无论是插入表格展示数据,还是插入图片增强视觉效果,NPOI都提供了...
在“npoi实现excel中多个表格数据分别合并”这个主题中,我们将深入探讨如何利用NPOI库来处理Excel文件中的多个工作表(表格)并进行数据的合并操作。这在数据处理、分析和报告生成等场景中非常常见。 首先,我们...
`NPOI导入导出Excel表格方法.txt`文件应该包含了关于如何使用NPOI进行Excel导入和导出的文本说明,包括可能的步骤、注意事项和示例代码。这将帮助开发者快速理解并开始使用NPOI库。 通过这个压缩包,开发者可以学习...
- **样式与格式**: NPOI允许设置单元格的字体、颜色、对齐方式、边框等属性,使Excel表格更加美观和专业。 - **公式与引用**: 支持Excel的内置公式和单元格间的引用,使得数据分析和计算变得更加便捷。 2. **...
内容概要:本资源介绍了如何从...阅读建议:此资源以如何读取Excel数据,将Excel数据转换为Datatable格式,然后将datatable导入Mysql数据库 ,同时还介绍了如何将Datatable数据生成Excel表格,及相关NPOI操作Excel例子
综上所述,C#结合NPOI库生成Excel表格是一种高效且灵活的方法,特别适用于那些需要在无Office环境下生成Excel的项目。通过熟练掌握NPOI的使用,开发者可以创建出具有复杂格式和数据结构的Excel文件,满足各种业务...
在Unity游戏开发环境中,C#是主要的编程语言,NPOI插件的引入使得开发者可以在游戏中或者相关应用中生成和操作Excel文件,这在数据管理、报告生成或者用户数据导出等场景下非常有用。 首先,要理解如何在Unity中...
导出数据到Excel文件时,NPOI允许你从数据库、列表或任何数据源中获取数据,并将其转换为Excel表格。这在数据分析、报表生成或批量数据处理场景中非常有用。你可以根据需求动态创建表格结构,甚至在运行时调整样式...
【NPOI生成EXCEL】是使用开源库NPOI来创建和操作Excel文件的一种技术。NPOI是一个专门用于处理Microsoft Office文件格式的.NET库,尤其适用于生成和修改Excel(.xls)文档。它提供了丰富的API,允许开发人员在程序中...
NPOI是.NET平台上的一个开源库,它允许开发者处理Microsoft Office文件,包括Word(.docx)和Excel(.xlsx)文档。Layui则是一个轻量级的前端UI框架,常用于构建美观的Web界面。 本项目的核心知识点主要包括以下...
以上就是使用NPOI对Excel进行操作的关键知识点,涵盖了文件创建、数据写入、表格合并以及样式设置等常见功能。通过这些技术,开发者可以方便地在程序中生成、修改和处理Excel文档,大大提升了工作效率。在实际项目中...
总之,NPOI为.NET开发者提供了一种强大而灵活的方式来处理Excel文件,无论是简单的数据导出还是复杂的报表生成,都能轻松应对。通过学习和掌握NPOI的使用,我们可以提升应用程序的交互性和功能,满足用户对数据管理...
NPOI本身并不提供直接的打印接口,但你可以先用NPOI生成Excel文件,然后通过系统打印服务或者第三方打印库进行打印。 6. **NPOI与其他技术的集成**: NPOI可与ASP.NET、WPF、WinForms等.NET框架无缝集成,实现Web...
在这个“NPOI导出复杂格式Excel”的示例中,我们将深入探讨如何使用NPOI来创建包含多个表格和工作簿的复杂Excel文件。 首先,我们要理解NPOI的基本概念。在NPOI中,`HSSFWorkbook`和`XSSFWorkbook`分别代表了旧版的...
本文将深入探讨在C#中处理Excel的相关知识点,包括Excel表格操作类、搜索功能、NPOI库的使用以及高效地将Excel数据导入SQL Server的方法。 首先,ExcelHelper.cs文件可能是一个自定义的C#类库,用于简化Excel文件的...
在C#编程环境中,生成Excel数据的图表是一项常见的任务,特别是在数据分析、报表生成或用户界面展示等场景。这里我们将深入探讨如何使用C#和`Microsoft.Office.Interop.Excel`库来实现这个功能。 首先,`Microsoft....