NPOI是一个强大的开源库,特别为.NET开发者设计,用于处理Microsoft Office文件格式,如Excel(.xlsx,.xls)和Word(.docx)。在标题中提到的"NPOI 1.2.4"是该库的一个特定版本,它提供了无需依赖Microsoft Office组件即可进行导入和导出数据的功能。这使得开发者能够在没有安装Office的环境中,仍然能够高效地处理Excel和Word文档。 在描述中,重点强调了NPOI 1.2.4不再依赖于Office的头文件,这意味着它不需客户端系统上安装任何额外的软件或组件。这一特性极大地提高了程序的移植性和跨平台性,使得开发者可以更轻松地在不同的Windows、Linux或Mac OS环境下构建应用程序。此外,这种独立性还减少了由于Office版本兼容性问题可能导致的错误,简化了开发过程。 NPOI的核心功能包括: 1. **Excel处理**: - **读取Excel文件**:NPOI允许开发者读取现有的Excel文件,获取工作表、单元格的数据,以及样式、图表等信息。 - **写入Excel文件**:开发者可以创建新的Excel文件,或者向现有文件添加新的工作表,填充数据,设置单元格样式,创建公式,以及绘制图表。 - **支持多种格式**:NPOI支持旧版的BIFF8(.xls)格式以及较新的Open XML(.xlsx)格式。 2. **Word处理**: - **读取Word文件**:NPOI可以读取.docx文件,提取文本、段落、图片、表格等元素。 - **写入Word文件**:开发者可以创建新的Word文档,或者编辑现有文档,插入文本、段落、图片、表格,以及应用样式和布局。 3. **性能优化**: - **流式处理**:NPOI支持流式处理,允许大文件的处理而不会消耗大量内存。 - **分块读写**:对于非常大的工作簿,NPOI可以分块读取或写入,以提高效率和降低内存需求。 4. **兼容性**: - **跨平台**:由于不依赖于Office组件,NPOI可以在多种操作系统上运行,包括Windows、Linux和Mac OS。 - **与其他库兼容**:NPOI可以与ASP.NET、WPF、WinForms等.NET框架无缝集成。 5. **API友好**: - **简单易用**:NPOI提供了直观且易于理解的API,使得开发者可以快速上手并进行复杂操作。 6. **社区支持**: - **活跃的社区**:NPOI有丰富的文档和社区支持,用户可以通过官方文档、Stack Overflow、GitHub等途径获取帮助和解决问题。 在压缩包中的"NPOI 1.2.4 assembly"可能包含NPOI库的编译后的.NET组件,这些组件可以直接在.NET项目中引用,以便开发者利用其功能来处理Excel和Word文件。在实际开发中,只需将这个库添加到项目中,就可以调用其丰富的类和方法来实现文件的导入和导出操作。 NPOI 1.2.4作为一个独立且功能完备的库,为.NET开发者提供了解决Excel和Word处理问题的有效工具,其跨平台性和高性能使其成为开发中不可或缺的一部分。
1
NPOI,顾名思义,就是POI的.NET版本。那POI又是什么呢?POI是一套用Java写成的库,能够帮助开发者在没有安装微软Office的情况下读写Office 97-2003的文件,支持的文件格式包括xls, doc, ppt等。
2026-04-22 14:16:53 5.45MB NPOI Excel Office 97-2003文件
1
NPOI是一个开源的.NET库,专为处理Microsoft Office文件格式而设计,特别是Excel文档。在1.2.4版本中,它提供了丰富的功能,使开发者能够方便地在C#和VB.NET等.NET环境中创建、读取和修改Excel工作簿。这个版本包括了二进制库、示例代码和发布说明,帮助用户更好地理解和使用NPOINPOI 1.2.4二进制文件(NPOI 1.2.4 binary.zip)包含了编译好的库文件,使得开发人员可以直接在他们的项目中引用,无需自行编译源代码。这些库支持.NET Framework,通常包含DLL文件,如NPOI.dll,它提供了与Excel文件交互的主要接口,以及可能的其他依赖项。 NPOI 1.2.4示例代码(NPOI 1.2.4 examples.zip)是开发者了解如何使用NPOI API的重要资源。这些示例涵盖了从创建新的Excel工作簿、添加工作表、填充数据到读取和修改现有文件的各种操作。通过学习和运行这些示例,开发者可以快速上手,掌握NPOI的基本用法和高级特性,例如样式设置、公式计算、图表生成等。 "1.2.4 Release Notes.txt"文件则包含了该版本的更新日志、改进和修复的问题。它通常会列出相对于前一个版本的新功能、性能优化、已知问题以及可能的兼容性问题。在1.2.4版本中,可能会有关于错误修复的信息,例如解决了在处理大型工作簿时的性能问题,或者添加了对新Excel功能的支持。阅读这些笔记有助于开发者了解是否应升级到此版本,以及升级后可能需要注意的问题。 NPOI库的主要优势在于它的易用性和灵活性。它可以处理大量的数据,创建复杂的公式,甚至与数据库集成,将数据导出为Excel格式。对于数据分析、报表生成或自动化办公流程的开发,NPOI是一个非常实用的工具。 NPOI 1.2.4提供了一个稳定且功能丰富的平台,用于处理Excel文件。无论是初次接触还是资深开发人员,都能通过提供的二进制库、示例代码和发布说明,快速地在.NET项目中集成和利用NPOI的能力。开发者应该仔细阅读文档,理解每个类和方法的功能,以便充分利用NPOI的强大功能,实现高效的数据管理和报告生成。
2026-04-22 14:15:23 1.06MB NPOI
1
NPOI是一个强大的开源库,专门用于处理Microsoft Office文件,特别是Excel文档。在标题和描述中提到的"NPOI 1.2.4"是最新的版本,它允许开发者在不依赖于实际安装的Microsoft Excel软件的情况下,进行Excel文件的操作和生成。 **NPOI概述** NPOI是.NET平台上一个非常实用的工具,它基于Apache POI项目,为.NET开发者提供了读写Microsoft Office格式文件的能力,如XLS和XLSX(Excel)、DOC和DOCX(Word)等。NPOI的主要优势在于其跨平台性,可以在Windows、Linux甚至Mac OS等不同操作系统上运行,为.NET开发环境提供了与Java环境中的Apache POI类似的接口。 **NPOI 1.2.4版本特性** 1. **兼容性增强**:NPOI 1.2.4版本可能对旧版的API进行了优化,确保与更早版本的兼容性,同时也支持最新的Excel格式。 2. **性能提升**:新版本可能通过优化内部算法和数据结构提高了处理大型Excel文件时的性能。 3. **错误修复**:这个版本可能解决了之前版本中的一些已知问题,提高了稳定性和可靠性。 4. **新功能添加**:可能增加了对某些特定Excel功能的支持,如图表、数据验证、条件格式等。 **NPOI操作Excel** NPOI提供了丰富的API,使得开发者可以方便地进行以下操作: 1. **读取Excel文件**:通过`HSSFWorkbook`或`XSSFWorkbook`类,可以打开和读取XLS或XLSX文件,获取工作表、单元格、公式等内容。 2. **创建新Excel文件**:利用`Workbook`类,开发者可以创建新的Excel文件,并添加工作表。 3. **修改Excel文件**:可以添加、删除或重命名工作表,修改单元格的值,设置样式,插入图片等。 4. **写入数据**:可以批量写入数据到Excel,这对于数据分析、报表生成等场景非常有用。 5. **公式处理**:支持Excel的内置公式,能够读取和写入公式。 6. **格式控制**:可以设置单元格的字体、颜色、对齐方式、边框样式等,以满足各种格式需求。 **使用NPOI的注意事项** 1. **内存管理**:处理大文件时,要注意内存的使用,因为整个工作簿会被加载到内存中。 2. **异常处理**:在操作文件时,应妥善处理可能出现的IO异常和其他错误。 3. **版本兼容性**:不同版本的Excel文件格式有所差异,确保NPOI版本与目标文件格式匹配。 **总结** NPOI 1.2.4版本是一个强大的Excel操作工具,对于.NET开发者来说,无论是在服务器端还是客户端,都能方便地生成、读取和修改Excel文件,而无需实际安装Excel应用程序。使用NPOI可以极大地提高开发效率,简化Excel相关的编程任务。在实际项目中,根据具体需求选择合适的API,可以实现复杂的Excel处理逻辑。
2026-04-22 14:13:22 1.23MB NPOI 1.2.4 最新版,操作excel
1
NPOI是一个强大的开源库,专门用于处理Microsoft Office文件,特别是Excel文档,它在C#编程环境中被广泛应用。标题中的"NPOI 1.2.5"指的是该库的一个特定版本,1.2.5,这通常是软件开发中的一个稳定版本,提供了对Excel文件的基本操作支持。 NPOI的核心功能包括读取和写入Excel文件,它允许开发者在不依赖Microsoft Office的情况下,进行数据导入和导出。这对于服务器端处理大量Excel数据非常有用,因为它可以高效、便捷地处理Excel格式的数据流,而无需实际打开或交互于Office应用程序。 在描述中提到的“C#封装类”是指NPOI库为C#开发者提供的API,这些类使得C#程序员能够更容易地与Excel文件进行交互。通过这些封装类,开发者可以创建新的工作簿、工作表,添加单元格,设置样式,以及执行各种复杂的公式和操作。例如,`HSSFWorkbook`类代表了一个Excel 97-2003格式的工作簿,而`XSSFWorkbook`则对应于较新的OOXML(Open XML)格式。`ISheet`接口表示工作表,`IRow`接口代表行,`ICell`接口代表单元格,这些类和接口提供了丰富的操作方法。 在标签中提到了“excel C#”,这意味着这个压缩包可能包含了使用C#语言编写的示例代码或库,用于演示如何使用NPOI操作Excel文件。这通常包括创建新的Excel文件、读取现有文件、修改数据、添加图表、设置格式等操作。 文件名称列表中提到的“.net 4.0”和“.net 2.0”表明这个压缩包可能包含针对两种不同.NET Framework版本的编译库。.NET 2.0是较早的版本,而.NET 4.0是后来的版本,具有更多的特性和改进。这确保了无论你的项目基于哪个.NET版本,都可以找到兼容的NPOI库进行使用。 使用NPOI时,开发者需要注意的一些关键点包括: 1. **内存管理**:由于NPOI在内存中处理整个工作簿,对于大型Excel文件,可能会消耗大量内存,因此需要谨慎处理大文件,或者使用流式处理来降低内存占用。 2. **格式兼容性**:NPOI支持多种Excel格式,包括旧的BIFF8(.xls)和新的OOXML(.xlsx),但不同的格式可能有不同的API接口和限制。 3. **错误处理**:在进行文件操作时,应妥善处理可能出现的异常,如文件不存在、权限问题、数据格式错误等。 4. **性能优化**:通过批量操作和缓存策略,可以提高处理大量数据时的性能。 5. **单元格样式**:NPOI允许设置单元格的字体、颜色、对齐方式、边框等样式,提供了一套丰富的样式API。 6. **数据验证**:可以利用NPOI设置数据验证规则,限制用户输入的数据类型和范围。 7. **公式处理**:NPOI支持读取和写入Excel中的公式,使得在程序中计算和处理Excel公式成为可能。 NPOI是C#开发人员处理Excel文件的重要工具,它提供了丰富的API,使开发人员能够在应用程序中轻松实现Excel数据的读写和操作。无论是导入数据到数据库,还是生成报告,NPOI都能为C#开发者提供强大的支持。
2026-04-22 14:07:23 1.83MB excel
1
NPOI是一个开源库,专为.NET Framework设计,用于读取和写入Microsoft Office格式的文件,特别是Excel。NPOI 1.2.5是该库的一个稳定版本,截至2013年8月28日发布。这个版本可能包含了修复的bug、性能优化以及对旧版Office文件格式的支持。相较于测试版2.0.1,1.2.5在当时可能是更安全的选择,因为稳定版通常经过更多的测试,确保了更好的兼容性和可靠性。 在压缩包中,我们可以看到以下几个文件: 1. **bin**:这个目录很可能包含了NPOI库的不同版本(例如.NET Framework 2.0、3.5等)的编译二进制文件,如DLLs。开发者可以直接引用这些文件到他们的项目中,以便使用NPOI的功能。 2. **Ionic_Utils_Zip_license.txt**:这可能是一个关于Ionic.Zip库的许可证文件,因为NPOI可能会用到这个库来处理压缩和解压缩操作。Ionic.Zip是一个用于.NET的Zip文件操作库,允许程序创建、读取和修改ZIP文件。 3. **License.txt**:这是NPOI本身的许可证文件,详细规定了用户如何合法地使用、分发和修改NPOI库的条款。通常,开源软件会采用如Apache License、MIT License等宽松的许可协议,鼓励开发者的使用和创新。 4. **Read Me.txt**:这是一个标准的文档,通常包含有关软件的基本信息、安装指南、使用注意事项或快速启动步骤等内容。 5. **Release Notes.txt**:此文件详细列出了NPOI 1.2.5版本相对于前一个版本的改进、新功能、已知问题和解决的bug。这对于开发者来说非常重要,因为他们可以了解升级后能获得哪些新特性或性能提升。 6. **examples**:这个目录可能包含了使用NPOI的示例代码或教程,帮助开发者快速上手,理解如何操作Excel文件,如读取单元格数据、写入新数据、格式化工作表等。 使用NPOI,开发者可以实现以下功能: - **创建Excel文件**:从零开始创建一个新的Excel工作簿,添加工作表,插入数据和公式。 - **读取Excel文件**:打开现有的Excel文件,读取单元格、行、列的数据,包括数字、文本、日期等不同类型的值。 - **编辑Excel文件**:在已有的Excel文件中添加、删除或修改数据,包括修改单元格样式、合并单元格、设置条件格式等。 - **处理工作表和工作簿**:复制、移动工作表,调整工作簿的属性,如保护工作簿、设置密码等。 - **导入导出数据**:将数据库或其他数据源的数据导入到Excel,或将Excel数据导出到其他格式。 - **支持多种文件格式**:NPOI不仅支持老版的XLS格式,还支持较新的XLSX和OOXML格式。 NPOI是.NET开发者处理Excel文件的强大工具,尤其适合需要大量自动化处理Excel数据的场景,如数据分析、报表生成、数据导入导出等。通过使用NPOI 1.2.5稳定版,开发者可以确保其应用程序具有可靠的Excel操作能力,而无需依赖于Microsoft Office本身。
2026-04-22 13:54:52 5.29MB NPOI
1
开发平台要求:VS2005 or VS2008 with .NET 2.0 Runtime (SP1) vs2003 with .NET 1.1 NPOI,顾名思义,就是POI的.NET版本。那POI又是什么呢?POI是一套用Java写成的库,能够帮助开发者在没有安装微软Office的情况下读写Office 97-2003的文件,支持的文件格式包括xls, doc, ppt等。
2026-04-22 13:28:56 8.58MB NPOI 1.2.5 Office 97-2003
1
NPOI 中 Word 的常用操作 NPOI 是一个流行的开源 Java 库,用于处理 Microsoft Office 文件格式,包括 Word、Excel 和 PowerPoint 等。下面将详细介绍 NPOI 中 Word 的常用操作。 创建文档 需要创建一个新的 Word 文档。使用 NPOI,可以使用 `XWPFDocument` 类来创建一个新的 Word 文档。例如: ```java XWPFDocument m_Docx = new XWPFDocument(); ``` 页面设置 在创建文档后,需要设置页面的大小和方向。NPOI 提供了 `CT_SectPr` 类来设置页面的属性。例如: ```java CT_SectPr m_SectPr = new CT_SectPr(); m_SectPr.pgSz.w = (ulong)16838; // 设置页面宽度为 A4 横向 m_SectPr.pgSz.h = (ulong)11906; // 设置页面高度为 A4 横向 m_Docx.Document.body.sectPr = m_SectPr; ``` 创建段落 在 Word 文档中,段落是最基本的单位。使用 NPOI,可以使用 `XWPFParagraph` 类来创建一个新的段落。例如: ```java XWPFParagraph gp = m_Docx.CreateParagraph(); ``` 设置段落格式 在创建段落后,需要设置段落的格式,例如字体、字号、颜色等。使用 NPOI,可以使用 `CT_P` 类来设置段落的格式。例如: ```java CT_P m_p = m_Docx.Document.body.AddNewP(); m_p.AddNewPPr().AddNewJc().val = ST_Jc.center; // 设置段落水平居中 ``` 设置行距 在 Word 文档中,行距是非常重要的。使用 NPOI,可以使用 `CT_Spacing` 类来设置行距。例如: ```java m_p.AddNewPPr().AddNewSpacing().line = "400"; // 设置行距为 20 磅 m_p.AddNewPPr().AddNewSpacing().lineRule = ST_LineSpacingRule.exact; // 设置行距规则 ``` 创建 RUN 在 Word 文档中,RUN 是一个基本的文字单元。使用 NPOI,可以使用 `XWPFRun` 类来创建一个新的 RUN。例如: ```java XWPFRun gr = gp.CreateRun(); gr.GetCTR().AddNewRPr().AddNewRFonts().ascii = "黑体"; // 设置 RUN 的字体 gr.GetCTR().AddNewRPr().AddNewRFonts().eastAsia = "黑体"; // 设置 RUN 的东亚字体 gr.GetCTR().AddNewRPr().AddNewRFonts().hint = ST_Hint.eastAsia; // 设置 RUN 的东亚字体提示 ``` 段首行缩进 在 Word 文档中,段首行缩进是非常常见的操作。使用 NPOI,可以使用 `Indentation` 方法来设置段首行缩进。例如: ```java gp.IndentationFirstLine = (int)100; // 设置段首行缩进为 100 磅 ``` 计算段首行缩进 在设置段首行缩进时,需要计算出正确的缩进值。使用 NPOI,可以使用 `Indentation` 方法来计算段首行缩进。例如: ```java protected int Indentation(String fontname, int fontsize, int Indentationfonts, FontStyle fs) { // 字显示宽度,用于段首行缩进 Graphics m_tmpGr = this.CreateGraphics(); m_tmpGr.PageUnit = GraphicsUnit.Point; SizeF size = m_tmpGr.MeasureString("好", new Font(fontname, fontsize * 0.75F, fs)); return (int)size.Width * Indentationfonts * 10; } gp.IndentationFirstLine = Indentation("宋体", 21, 2, FontStyle.Regular); // 设置段首行缩进为 2 字符 ``` NPOI 提供了许多基本的操作来处理 Word 文档,包括创建文档、设置页面、创建段落、设置段落格式、设置行距、创建 RUN 和段首行缩进等。使用这些操作,可以轻松地生成 Word 文档。
2026-04-13 16:20:49 90KB NPOI、docx
1
NPOI是一个强大的开源库,尤其在处理Microsoft Office文件格式如Excel和Word时,它提供了丰富的功能。在本文中,我们将深入探讨如何使用NPOI根据Word模板生成Word文档,以此来实现特定格式的批量导出。 NPOI是.NET平台上的一个API,它允许开发者读写Microsoft Office文件,包括Excel、Word、PowerPoint等。NPOI 2.3版本引入了更多的改进和优化,使得操作这些文件变得更加高效和便捷。 在"根据word模板生成word"的场景中,NPOI的主要作用是读取Word模板文件,然后根据实际的数据填充模板中的占位符,最后保存为新的Word文档。这个过程可以用于自动化报告生成、批量文档创建等场景,极大地提高了工作效率。 以下是实现这个功能的基本步骤: 1. **读取Word模板**:使用NPOI的`XWPFDocument`类打开Word模板文件。`XWPFDocument`是NPOI处理Word .docx格式的类,它提供了读取和修改Word文档的能力。 2. **查找和替换占位符**:在模板中,通常会有一些占位符文本,例如`{{name}}`或`{{date}}`,我们需要找到这些占位符并进行替换。这可以通过遍历文档中的`XWPFParagraph`和`XWPFRun`对象完成,然后使用`Replace`方法替换占位符。 3. **数据绑定**:如果你有结构化数据(如数据库查询结果或JSON对象),你可以遍历这些数据,并将每个数据项与模板中的相应占位符对应起来。确保替换的顺序和模板中的占位符顺序一致。 4. **保存新文档**:完成所有替换后,使用`XWPFDocument`的`Write`方法将内容写入新的Word文件。这样就生成了一个基于模板且填充了实际数据的新文档。 5. **处理复杂格式**:如果模板包含表格、图片或者复杂的样式,NPOI也提供了相应的API来处理。例如,`XWPFTable`用于处理表格,`XWPFPictureData`用于处理图片,`XWPFParagraph`和`XWPFRun`的样式属性可以用来改变字体、颜色、对齐方式等。 6. **性能优化**:在处理大量数据或大文件时,需要注意内存管理和效率问题。可以考虑分批处理,或者使用流式处理技术来减少内存占用。 7. **异常处理**:在实际应用中,一定要对可能出现的异常进行处理,比如文件读写异常、数据格式错误等,以保证程序的健壮性。 通过以上步骤,你可以构建一个灵活的Word模板生成系统,根据不同的输入数据生成格式统一的Word文档。这个功能在报表自动化、合同生成、邮件合并等多种场景下都有广泛的应用。 NPOI提供了一种强大而灵活的方式来处理Word文档,使得开发者能够轻松地根据模板生成定制化的Word文件。通过熟练掌握NPOI的API和技巧,你可以实现更多复杂的Word文档操作,进一步提升工作效率。
2025-12-30 15:10:33 1.18MB Npoi Npoi2.3
1
NPOI是一个强大的开源库,专门用于处理Microsoft Office文件,特别是Excel文档。它支持两种主要的Excel文件格式:.xls(Excel 2003及更早版本)和.xlsx(Excel 2007及更高版本)。这个特性使得NPOI在处理不同版本Excel文件时具有高度的兼容性,无论是读取还是写入数据。 1. **NPOI的基本概念与功能** NPOI是.NET平台上的一种API,它可以用来创建、读取和修改Microsoft Office文件,包括Word、Excel和PowerPoint等。在Excel处理方面,NPOI提供了丰富的功能,如创建新的工作簿、工作表,插入数据,格式化单元格,以及添加图表、公式等。 2. **支持的文件格式** - `.xls`:这是Excel 2003及更早版本使用的BIFF8格式,NPOI可以完全支持读写此格式,包括工作表、样式、公式、图表等内容。 - `.xlsx`:这是Excel 2007及更高版本引入的基于Open XML标准的文件格式,NPOI通过使用Open XML SDK实现对这种格式的支持,同样可以进行读写操作。 3. **Excel导入与导出** - **导入**:使用NPOI,你可以方便地从Excel文件中读取数据,不论是老版的.xls还是新版的.xlsx。例如,你可以通过HSSFWorkbook(针对.xls)或XSSFWorkbook(针对.xlsx)类来打开文件,然后遍历工作表中的每一行和每一列,将数据提取到程序中。 - **导出**:相反,你也可以将程序中的数据写入Excel文件。通过创建新的工作簿对象,添加工作表,填充单元格,设置样式等,NPOI能帮助你生成符合需求的Excel文件。 4. **实际应用** - 数据分析:NPOI常用于数据分析项目,从大量的Excel数据中提取信息,进行计算和处理。 - 报表生成:在企业系统中,NPOI可以用来生成自定义的Excel报表,根据用户需求展示数据。 - 文件转换:NPOI还可以用于将旧版的.xls文件转换为.xlsx格式,或者反之,以确保文件在不同版本的Excel中都能正常打开。 5. **性能优化** 在处理大量数据时,NPOI提供了流式处理的API,可以避免一次性加载整个工作簿到内存,从而提高性能并降低内存占用。 6. **代码示例** 创建一个新的Excel文件并写入数据的基本代码如下: ```csharp using NPOI.HSSF.UserModel; // for .xls files using NPOI.XSSF.UserModel; // for .xlsx files // 创建一个.xls文件 HSSFWorkbook workbook = new HSSFWorkbook(); ISheet sheet = workbook.CreateSheet("Sheet1"); IRow row = sheet.CreateRow(0); ICell cell = row.CreateCell(0); cell.SetCellValue("Hello, NPOI!"); // 写入文件 FileStream file = new FileStream("output.xls", FileMode.Create, FileAccess.Write); workbook.Write(file); file.Close(); // 对于.xlsx文件,只需更换工作簿类型 XSSFWorkbook workbookXlsx = new XSSFWorkbook(); // 其余操作相同 ``` 7. **社区支持与扩展** NPOI拥有活跃的开发者社区,不断更新和完善其功能。此外,还有很多第三方库和工具基于NPOI开发,提供了更高级的功能,如更复杂的公式处理、图像操作等。 总结来说,NPOI是一个强大的工具,对于需要在.NET环境中处理Excel文件的应用程序,无论是数据导入、导出,还是生成报表,NPOI都是一个不可或缺的组件。它的跨版本兼容性确保了无论你的用户使用的是哪个版本的Excel,你的应用程序都能无缝地处理Excel文件。
2025-12-30 14:48:36 7.95MB npoi excel导入 excel导出
1