用于 Excel® 电子表格的免费 .NET 库

通过开源 .NET 库读取、写入、操作和转换 XLS 和 XLSX 文件。

什么是非营利组织?

NPOI 是 POI Java 项目的 .NET 版本。它是一个开源 .NET 库,用于读取和写入 Microsoft Excel 文件格式。 NPOI.HSSF 命名空间提供了操作 XLS 文件格式的能力,而 NPOI .XSSF 命名空间允许您创建和修改 XLSX 文件。

NPOI is a .NET version of POI Java project. It is an open source .NET library to read and write Microsoft Excel file formats. 非营利组织HSSF namespace provides the ability to manipulate XLS file format, while NPOI.XSSF namespace allows you to create & modify XLSX files.

NPOI is a .NET version of POI Java project. It is an open source .NET library to read and write Microsoft Excel file formats. NPOI.HSSF namespace provides the ability to manipulate XLS file format, while NPOI.XSSF namespace allows you to create & modify XLSX files.

NPOI 允许您添加文本、插入超链接、创建和设置单元格和列的样式、插入图像以及从现有的 XLS 和 XLSX 文件中读取内容,而无需任何外部依赖。

Previous Next

如何安装 NPOI?

从 NuGet 安装 NPOI

 Install-Package NPOI -Version 2.4.1

通过 C# 操作 XLSX 文件

NPOI 允许 .NET 程序员从他们自己的 .NET 应用程序中创建和修改电子表格。为了修改现有文件,您可以加载文件并更新文本、表格、样式等。

使用 NPOI 编辑 XLSX - C#

IWorkbook wb = new XSSFWorkbook();
// Create a Worksheet
ISheet ws = wb.CreateSheet("FileFormat");
ICellStyle style = wb.CreateCellStyle();
//Setting the line of the top border
style.BorderTop = BorderStyle.Thick;
style.TopBorderColor = 256;
style.BorderLeft = BorderStyle.Thick;
style.LeftBorderColor = 256;
style.BorderRight = BorderStyle.Thick;
style.RightBorderColor = 256;
style.BorderBottom = BorderStyle.Thick;
style.BottomBorderColor = 256;
IRow row = ws.CreateRow(0);
ICell cell = row.CreateCell(1);
cell.CellStyle = style;
FileStream sw = File.Create("fileformat.xlsx");
wb.Write(sw);
sw.Close();

使用 NPOI 将 XLS 转换为 XLSX

在您使用 NPOI 打开和修改 XLS 文件后,请按照以下步骤将其保存为 XLSX。

  1. 创建新的 XSSFWorkbook
  2. 为 XLS 的每个工作表创建适当的 XSSFSheet
  3. 将数据从 XLS 工作表复制到 XLSX 工作表
  4. 将格式从 XLS 工作表复制到 XLSX 工作表
  5. 以 XLSX 格式保存工作簿

使用 NPOI 将 XLS 转换为 XLSX - C#

HSSFWorkbook retVal = new HSSFWorkbook();
for (int i = 0; i < source.NumberOfSheets; i++)
{
	HSSFSheet hssfSheet = (HSSFSheet)retVal.CreateSheet(source.GetSheetAt(i).SheetName);
	XSSFSheet xssfsheet = (XSSFSheet)source.GetSheetAt(i);
	CopySheets(xssfsheet, hssfSheet, retVal);
}

通过 C# 将图像添加到 XLSX

API 允许开发人员在电子表格文档中添加图像。您可以添加图像并设置图像属性。该 API 允许各种方法轻松地处理 XLSX 文件格式的图像。 IClientAnchor 允许您设置工作表内图像的顶部、底部、左侧和右侧位置。

使用 XSSF NPOI 创建表 - C#

IWorkbook wb = new XSSFWorkbook();
ISheet sheet1 = wb.CreateSheet("First Sheet");
// Add picture data to this workbook.
byte[] bytes = File.ReadAllBytes("fileformat.png");
int pictureIdx = wb.AddPicture(bytes, PictureType.PNG);
ICreationHelper helper = wb.GetCreationHelper();
// Create the drawing patriarch. This is the top level container for all shapes.
IDrawing drawing = sheet1.CreateDrawingPatriarch();
// add a picture shape
IClientAnchor anchor = helper.CreateClientAnchor();
// set top-left corner of the picture,
// subsequent call of Picture#resize() will operate relative to it
anchor.Col1 = 3;
anchor.Row1 = 2;
IPicture pict = drawing.CreatePicture(anchor, pictureIdx);
// auto-size picture relative to its top-left corner
pict.Resize();
FileStream sw = File.Create("image.xlsx");
wb.Write(sw);
sw.Close();
 中国人