源码下载:具体下载地址
提取码:NHZL
总的来说,NPOI是一个不错的插件,不过建议开源项目作者把精力更多的放在永攀高峰的技术上,取的更大的成果。
asp.net中利用NPOI实现导出DataSet到Excel中,首先下载对应的dll,下载地址:将其添加到项目引用中。下面给出一个方法NPOIHelper.cs,代码如下:using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Configu
数据导出这个功能很常见,平时也是经常要用到,asp.net 中要实现这个功能。
一般来就是两种方法,一种是利用HttpResponse获取HTTP响应数据流写入到excel文件,但这个方法,相对来说实现比较烦琐,而且效率不高,重点我按网上那些写法导出的文件是打不开的。
所以我选择另一种方法,别人写好的开源插件,一般C#导出导入excel使用的是NPOI或MyXls,这篇文章就是介绍使用NPOI...
DataTable dt = new DataTable("Table");
var strPath = Path.Combine(_webhostenvironment.ContentRootPath, AppConfigurtaion.Configuration["AppSettings:upload"]);
string name = DateTime..
protected void getExcel(DataTable dt)
NPOI.HSSF.UserModel.HSSFWorkbook book = new NPOI.HSSF.UserModel.HSSFWorkbook();
NPOI.SS.UserModel.Sheet sheet = book.CreateSheet("table1");
NPOI.SS.UserModel.Row row = sheet.CreateRow(0);
for (int i = 0; i < dt.Columns.Count; i++)
row.CreateCell(i).SetCellValue(dt.Columns[i].ColumnName);
for (int i = 0; i < dt.Rows.Count; i++)
NPOI.SS.UserModel.Row row2 = sheet.CreateRow(i + 1);
for (int j = 0; j < dt.Columns.Count; j++)
row2.CreateCell(j).SetCellValue(dt.Rows[i][j].ToString());
//写入到客户端
System.IO.MemoryStream ms = new System.IO.MemoryStream();
book.Write(ms);
Response.AddHeader("Content-Disposition", string.Format("attachment; filename=excel.xls"));
Response.BinaryWrite(ms.ToArray());
book = null;
ms.Close();
ms.Dispose();
1.1、NPOI是什么
NPOI是POI的.NET版本,POI是一套用Java写成的库,我们在开发中经常用到导入导出表格、文档的情况,NPOI能够帮助我们在没有安装微软Office的情况下读写Office文件,如xls, doc, ppt等。NPOI采用的是Apache 2.0许可证(poi也是采用这个许可证),这意味着它可以被用于任何商业或非商业项目,我们不用担心因为使用它而必须开放你自己的源代码,所以它对于很多从事业务系统开发的公司来说绝对是很不错的选择。
1.2、NPOI简
不管用哪一种语言开发应用程序,导出功能是最常见的,一般导出文件格式最常见的有PDF 、Excel、CSV、Word、TXT等,今天我们在此介绍一下Excel的导出方法。
微软提供了导出Excel的多种办法,但是今天我们在这里只介绍一种第三方的导出方法,因为它简单,更多符合我们的编程习惯(个人观点),下面开始:
一、下载,官网地址:https://npoi.codeplex.c
在 .NET 6 中,你可以使用 NPOI 库来创建 Excel 文件。NPOI 是一个用于读取和写入 Microsoft Office 格式文档的 .NET 库,包括 Excel、Word 和 PowerPoint 文件。
以下是一个简单的示例,用于创建一个包含一些数据的 Excel 文件:
首先,你需要安装 NPOI 库,可以通过 NuGet 包管理器或者命令行工具来安装:
Install-Package NPOI -Version 2.5.4
或者使用 dotnet cli:
dotnet add package NPOI --version 2.5.4
然后,你需要引入 NPOI 命名空间:
```csharp
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using System.IO;
最后,可以按照以下步骤创建一个 Excel 文件:
```csharp
// 创建一个工作簿
IWorkbook workbook = new XSSFWorkbook();
// 创建一个工作表
ISheet sheet = workbook.CreateSheet("Sheet1");
// 创建一行,并在该行中创建单元格
IRow row = sheet.CreateRow(0);
row.CreateCell(0).SetCellValue("Name");
row.CreateCell(1).SetCellValue("Age");
// 添加一些数据
row = sheet.CreateRow(1);
row.CreateCell(0).SetCellValue("John");
row.CreateCell(1).SetCellValue(30);
row = sheet.CreateRow(2);
row.CreateCell(0).SetCellValue("Jane");
row.CreateCell(1).SetCellValue(25);
// 保存文件
using (var fileStream = new FileStream("example.xlsx", FileMode.Create, FileAccess.Write))
workbook.Write(fileStream);
这将创建一个名为 `example.xlsx` 的 Excel 文件,其中包含两列数据:名称和年龄。
注意,这是一个简单的示例,你可以根据需要添加更多的行和列,并使用不同的数据类型。