在不安装 Microsoft Office 的情况下用 C# 创建 Excel 文件

在不安装 Microsoft Office 的情况下用 C# 创建 Excel 文件
在不安装 Microsoft Office 的情况下用 C# 创建 Excel 文件

用 C# 无缝生成 Excel 文件

在 C# 中创建 Excel 文件(.XLS 和 .XLSX)可能是许多应用程序的关键要求。然而,依靠在服务器或客户端计算机上安装 Microsoft Office 可能不切实际且麻烦。

幸运的是,有强大的库和工具可供开发人员使用 C# 以编程方式生成 Excel 电子表格,而无需 Microsoft Office。本文探讨了有效实现这一目标的各种方法和库。

命令 描述
ExcelPackage.LicenseContext = LicenseContext.NonCommercial; 将 EPPlus 的许可证上下文设置为非商业用途。
var worksheet = package.Workbook.Worksheets.Add("Sheet1"); 使用 EPPlus 在 Excel 包中创建一个名为“Sheet1”的新工作表。
worksheet.Cells[1, 1].Value = "Hello"; 使用 EPPlus 将第 1 行第 1 列单元格的值设置为“Hello”。
IWorkbook workbook = new XSSFWorkbook(); 初始化新的工作簿实例以使用 NPOI 创建 .XLSX 文件。
ISheet sheet = workbook.CreateSheet("Sheet1"); 使用 NPOI 在工作簿中创建一个名为“Sheet1”的新工作表。
IRow row = sheet.CreateRow(0); 使用 NPOI 在工作表中的索引 0 处创建新行。
row.CreateCell(0).SetCellValue("Hello"); 使用 NPOI 将第 0 行第 0 列的单元格的值设置为“Hello”。

了解 C# 中 Excel 文件的创建

上面提供的脚本演示了如何利用两个流行的库:EPPlus 和 NPOI,在 C# 中创建 Excel 文件(.XLS 和 .XLSX),而无需安装 Microsoft Office。第一个脚本利用 EPPlus 库。首先使用以下命令将 EPPlus 的许可证上下文设置为非商业用途 ExcelPackage.LicenseContext = LicenseContext.NonCommercial;。这可确保遵守 EPPlus 许可条款。接下来,它使用以下命令创建一个新的 Excel 包实例 using (var package = new ExcelPackage()),并使用添加一个名为“Sheet1”的新工作表 var worksheet = package.Workbook.Worksheets.Add("Sheet1");。通过直接设置单元格的值来将数据添加到单元格中,例如, worksheet.Cells[1, 1].Value = "Hello"; 将值“Hello”分配给第一行的第一个单元格。然后将文件保存到磁盘上 package.SaveAs(new FileInfo("example.xlsx"));,完成Excel文件创建过程。

第二个脚本利用 NPOI 库创建 Excel 文件。首先初始化一个新的工作簿实例以创建 .XLSX 文件 IWorkbook workbook = new XSSFWorkbook();。使用以下命令在工作簿中创建一个名为“Sheet1”的新工作表 ISheet sheet = workbook.CreateSheet("Sheet1");。通过调用创建行和单元格并填充数据 IRow row = sheet.CreateRow(0);row.CreateCell(0).SetCellValue("Hello");, 分别。然后将创建的工作簿写入文件流,并使用 FileStream 包裹在一个 using 正确资源管理的声明。最后, Console.WriteLine("Excel file created successfully!"); 向控制台输出一条成功消息。这些脚本展示了这些库在 C# 中生成 Excel 文件的强大功能和多功能性,而无需安装 Microsoft Office。

在 C# 中使用 EPPlus 生成 Excel 文件

此脚本演示如何使用 C# 中的 EPPlus 库创建 Excel 文件。

using System;
using System.IO;
using OfficeOpenXml;

namespace ExcelCreationExample
{
    class Program
    {
        static void Main(string[] args)
        {
            ExcelPackage.LicenseContext = LicenseContext.NonCommercial;
            using (var package = new ExcelPackage())
            {
                var worksheet = package.Workbook.Worksheets.Add("Sheet1");
                worksheet.Cells[1, 1].Value = "Hello";
                worksheet.Cells[1, 2].Value = "World";
                var file = new FileInfo("example.xlsx");
                package.SaveAs(file);
                Console.WriteLine("Excel file created successfully!");
            }
        }
    }
}

在 C# 中使用 NPOI 创建 Excel 文件

此脚本演示如何使用 NPOI 库在 C# 中创建 Excel 文件。

using System;
using System.IO;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;

namespace ExcelCreationExample
{
    class Program
    {
        static void Main(string[] args)
        {
            IWorkbook workbook = new XSSFWorkbook();
            ISheet sheet = workbook.CreateSheet("Sheet1");
            IRow row = sheet.CreateRow(0);
            row.CreateCell(0).SetCellValue("Hello");
            row.CreateCell(1).SetCellValue("World");
            using (var file = new FileStream("example.xlsx", FileMode.Create, FileAccess.Write))
            {
                workbook.Write(file);
            }
            Console.WriteLine("Excel file created successfully!");
        }
    }
}

在 C# 中使用 ClosedXML 创建 Excel 文件

ClosedXML 是另一个用 C# 创建 Excel 文件而不需要 Microsoft Office 的优秀库。 ClosedXML 是一个用于读取、操作和写入 Excel 2007+ (.XLSX) 文件的 .NET 库。它直观且易于使用,使其成为开发人员的最爱。 ClosedXML 允许您创建具有丰富功能的 Excel 文件,例如格式化单元格、添加公式和创建表格。要开始使用 ClosedXML,您需要通过 NuGet 安装它。设置完成后,只需几行代码即可创建新的 Excel 工作簿。例如,您启动一​​个新工作簿并使用以下命令添加名为“Sheet1”的工作表 var workbook = new XLWorkbook();var worksheet = workbook.Worksheets.Add("Sheet1"); 命令。

可以使用以下命令将数据添加到单元格中 worksheet.Cell(1, 1).Value = "Hello";,您可以使用简单易读的命令设置单元格格式、添加边框以及设置字体样式。设置数据后,您可以使用以下命令将工作簿保存到文件中 workbook.SaveAs("example.xlsx");。 ClosedXML 支持广泛的功能,包括数据透视表、条件格式和图表,使其成为以编程方式创建复杂 Excel 文档的强大工具。这种灵活性确保开发人员可以生成适合其特定需求的 Excel 文件,而无需依赖 Microsoft Office 安装,从而简化应用程序的部署和分发。

有关在 C# 中创建 Excel 文件的常见问题

  1. 如何在我的项目中安装 EPPlus?
  2. 您可以使用 NuGet 包管理器通过以下命令安装 EPPlus Install-Package EPPlus
  3. EPPlus 和 NPOI 有什么区别?
  4. EPPlus 以其易用性和仅支持 .XLSX 文件而闻名,而 NPOI 支持 .XLS 和 .XLSX 格式,但学习曲线更陡。
  5. ClosedXML 能否有效处理大型 Excel 文件?
  6. 是的,ClosedXML 可以处理大型 Excel 文件,但性能可能会根据数据和所执行操作的复杂性而有所不同。
  7. 是否可以使用 ClosedXML 在 Excel 文件中创建图表?
  8. 是的,ClosedXML 支持在 Excel 文件中创建各种类型的图表。
  9. 如何使用 ClosedXML 设置单元格格式?
  10. 您可以使用以下命令格式化单元格 17 号 将字体设置为粗体。
  11. 我可以使用 EPPlus 将公式添加到单元格吗?
  12. 是的,您可以使用以下命令将公式添加到 EPPlus 中的单元格 worksheet.Cells[1, 1].Formula = "SUM(A1:A10)";
  13. NPOI 支持哪些文件格式?
  14. NPOI 支持 .XLS 和 .XLSX 文件格式。
  15. 如何使用 EPPlus 保存 Excel 文件?
  16. 您可以使用以下命令保存 Excel 文件 package.SaveAs(new FileInfo("example.xlsx"));
  17. ClosedXML 可以免费使用吗?
  18. 是的,ClosedXML 可以免费使用,并根据 MIT 许可证获得许可。

关于在 C# 中创建 Excel 文件的最终想法

对于开发人员来说,在不需要安装 Microsoft Office 的情况下使用 C# 创建 Excel 文件是一种非常实用的方法。通过使用 EPPlusNPOIClosedXML 等库,您可以轻松生成 Excel 电子表格,提供广泛的功能和自定义选项。这些解决方案不仅简化了开发过程,还确保您的应用程序更具可移植性,并且更易于跨不同环境部署。