ClosedXML 简介:它是什么以及为什么需要它
\n\nClosedXML 是一个用于 C# (.NET) 的强大开源库,旨在创建、读取和编辑 Microsoft Excel 文件(.xlsx、.xlsm、.xltx 格式)。它提供了一个方便的面向对象接口来处理电子表格,无需安装 Microsoft Office 或使用 COM 对象。
\n\n该库特别适用于:
\n- \n
- 报表自动化 — 使用来自数据库、API 或其他来源的数据生成复杂的 Excel 报表 \n
- 数据导入/导出 — 在系统之间批量处理表格数据 \n
- 创建模板 — 用数据填充预先准备好的 Excel 模板 \n
- 财务和分析计算 — 处理公式、数据透视表、图表 \n
- 从 VBA 迁移 — 将宏迁移到现代 C# \n
ClosedXML 支持 Excel 的所有主要功能:单元格格式化、合并单元格、条件格式化、图表、数据透视表、数据验证、工作表保护等等。同时,该库完全在内存中运行,并且服务器上无需安装 Excel。
\n\n安装 ClosedXML
\n\n通过 NuGet 包管理器安装 ClosedXML。以下是所有安装方法:
\n\n通过 .NET CLI
\ndotnet add package ClosedXML\n\n通过包管理器控制台 (Visual Studio)
\nInstall-Package ClosedXML\n\n通过 NuGet 包管理器 UI
\n- \n
- 在 Visual Studio 中打开您的项目 \n
- 右键单击项目 → "管理 NuGet 包" \n
- 找到 "ClosedXML" 并点击 "安装" \n
验证安装
\n安装后,在您的代码中添加 using 指令:
\nusing ClosedXML.Excel;\n\n快速入门:创建您的第一个 Excel 表格
\n\n让我们创建一个包含员工数据的简单表格并将其保存到文件:
\n\nusing ClosedXML.Excel;\n\nclass Program\n{\n static void Main(string[] args)\n {\n // 创建一个新的工作簿\n using (var workbook = new XLWorkbook())\n {\n // 添加一个工作表\n var worksheet = workbook.Worksheets.Add("员工");\n\n // 填充标题\n worksheet.Cell("A1").Value = "ID";\n worksheet.Cell("B1").Value = "姓名";\n worksheet.Cell("C1").Value = "职位";\n worksheet.Cell("D1").Value = "薪资";\n\n // 填充数据\n worksheet.Cell("A2").Value = 1;\n worksheet.Cell("B2").Value = "伊万·彼得罗夫";\n worksheet.Cell("C2").Value = "开发人员";\n worksheet.Cell("D2").Value = 150000;\n\n worksheet.Cell("A3").Value = 2;\n worksheet.Cell("B3").Value = "玛丽亚·西多罗娃";\n worksheet.Cell("C3").Value = "分析师";\n worksheet.Cell("D3").Value = 120000;\n\n // 格式化标题\n var headerRange = worksheet.Range("A1:D1");\n headerRange.Style.Font.Bold = true;\n headerRange.Style.Fill.BackgroundColor = XLColor.LightBlue;\n\n // 自动调整列宽\n worksheet.Columns().AdjustToContents();\n\n // 保存文件\n workbook.SaveAs("employees.xlsx");\n }\n\n Console.WriteLine("文件创建成功!");\n }\n}\n\n此示例创建一个包含三行数据和格式化标题的 employees.xlsx 文件。
ClosedXML 的主要方法和功能
\n\n1. 创建工作簿和工作表
\n方法: new XLWorkbook() 和 workbook.Worksheets.Add()
描述: 创建