C#实现将DataTable内容输出到Excel表格的方法

下面是关于“C#实现将DataTable内容输出到Excel表格的方法”的完整攻略。

1.准备工作

在使用C#实现将DataTable内容输出到Excel表格之前,你需要安装一个Excel操作库,常用的有EPPlus和NPOI。

在本攻略中,我们将使用EPPlus作为Excel操作库,您可以通过NuGet包管理器来安装该库。

2.添加引用

安装完成后,我们需要在C#代码中添加引用,以便使用EPPlus库中的命名空间和方法。

using System.IO;
using OfficeOpenXml;
using OfficeOpenXml.Style;
using System.Drawing;

3.创建Excel文件并输出DataTable内容

下面是将DataTable内容输出到Excel表格的示例代码:

private void CreateExcelFile(DataTable dt)
{
    using (ExcelPackage pck = new ExcelPackage())
    {
        //创建Excel表格并指定名称
        ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Sheet1");

        //将DataTable中的列名添加到Excel表格的第一行
        for (int i = 0; i < dt.Columns.Count; i++)
        {
            ws.Cells[1, i + 1].Value = dt.Columns[i].ColumnName;
        }

        //将DataTable中的数据逐行添加到Excel表格中
        for (int i = 0; i < dt.Rows.Count; i++)
        {
            for (int j = 0; j < dt.Columns.Count; j++)
            {
                ws.Cells[i + 2, j + 1].Value = dt.Rows[i][j].ToString();
            }
        }

        //设置Excel表格格式
        ws.Cells[1, 1, 1, dt.Columns.Count].Style.Font.Bold = true;
        ws.Cells[1, 1, dt.Rows.Count + 1, dt.Columns.Count].AutoFitColumns();
        ws.Cells[1, 1, dt.Rows.Count + 1, dt.Columns.Count].Style.HorizontalAlignment = ExcelHorizontalAlignment.Center;
        ws.Cells[1, 1, dt.Rows.Count + 1, dt.Columns.Count].Style.VerticalAlignment = ExcelVerticalAlignment.Center;

        //保存Excel表格
        Byte[] bin = pck.GetAsByteArray();
        File.WriteAllBytes(@"path\filename.xlsx", bin);
    }
}

4.示例说明

下面是两个示例说明,演示如何使用上述代码将DataTable内容输出到Excel表格。

4.1 示例1

在此示例中,我们将创建一个DataTable对象,并将其内容输出到名为“Test”的Excel表格中。

private void Example1()
{
    DataTable dt = new DataTable();

    //添加列
    dt.Columns.Add("ID", typeof(int));
    dt.Columns.Add("Name", typeof(string));
    dt.Columns.Add("Age", typeof(int));

    //添加数据
    dt.Rows.Add(1, "Tom", 18);
    dt.Rows.Add(2, "Jerry", 20);
    dt.Rows.Add(3, "Lily", 22);

    //将DataTable内容输出到Excel表格
    CreateExcelFile(dt);
}

运行上述代码后,将在指定路径下生成一个名为“filename.xlsx”的Excel文件,其中包含名为“Sheet1”的工作表,以及ID、Name和Age这三列的数据。

4.2 示例2

在此示例中,我们将从数据库中获取数据,并将其内容输出到Excel表格中。

private void Example2()
{
    string connStr = "your connection string";
    string query = "your sql query";

    using (SqlConnection conn = new SqlConnection(connStr))
    {
        conn.Open();

        using (SqlDataAdapter adpt = new SqlDataAdapter(query, conn))
        {
            DataTable dt = new DataTable();
            adpt.Fill(dt);

            //将DataTable内容输出到Excel表格
            CreateExcelFile(dt);
        }

        conn.Close();
    }
}

在此示例中,我们首先使用SqlConnection对象连接到数据库,然后执行指定的查询,并使用SqlDataAdapter对象将结果填充到DataTable对象中。最后,将DataTable内容输出到Excel表格中。

5.总结

以上就是关于“C#实现将DataTable内容输出到Excel表格的方法”的完整攻略。通过上述代码,您可以很方便地将DataTable内容输出到Excel表格中。当然,还有其他的方法可以实现该功能,请根据您的需要进行选择。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#实现将DataTable内容输出到Excel表格的方法 - Python技术站

(0)
上一篇 2023年5月31日
下一篇 2023年5月31日

相关文章

  • 如何在C#9 中使用顶级程序 (top-level)

    在C#9中,新增了顶级程序 (top-level) 的特性,使得我们可以更加便捷地编写和运行单个C#的文件。下面是如何使用顶级程序的完整攻略。 创建顶级程序 在C#9中,我们只需要创建一个.cs文件,然后在其中添加代码即可创建一个顶级程序。相比传统的C#程序需要创建类、命名空间等多重结构,顶级程序使用起来更加简单。 using System; Console…

    C# 2023年6月6日
    00
  • C# IsFixedSize:获取一个值,该值指示集合是否具有固定大小

    IsFixedSize 是 ICollection 接口的一种方法,其返回一个布尔值,指示集合是否具有固定大小。 语法 public bool IsFixedSize { get; } 返回值 方法返回一个布尔值,true表示集合大小是固定的;否则,false表示集合大小是可变的。 示例1 string[] languages = new string[] …

    C# 2023年4月19日
    00
  • C#读取word中表格数据的方法实现

    C#读取word中表格数据的方法实现 在C#中读取Word中表格数据,可以通过Microsoft.Office.Interop.Word库中提供的API来实现。下面是具体的实现方法。 步骤一:引用Microsoft.Office.Interop.Word库 在C#项目中添加Microsoft.Office.Interop.Word库的引用,引用方法如下: 在…

    C# 2023年5月15日
    00
  • C#实现选择排序

    下面是详细讲解“C#实现选择排序”的完整攻略。 选择排序的算法原理 选择排序(Selection Sort)是一种简单直观的排序算法。其算法思想是将待排序序列分成已排序和未排序两个部分,每次从未排序的元素中选择最小(或最大)的元素,放到已排序的序列末尾。重复这个过程,直到所有元素都排序完毕。 C#实现选择排序的步骤 实现选择排序的过程有以下几个步骤: 定义待…

    C# 2023年6月6日
    00
  • 分享一个C#编写简单的聊天程序(详细介绍)

    分享一个C#编写简单的聊天程序(详细介绍) 简介 本文介绍如何使用C#编写一个简单的聊天程序,通过此程序可以实现简单的文字聊天,可以充分展示C#的GUI编程能力。 准备工作 在开始编写程序之前,需要安装.NET框架(至少需要4.5版本),以及一个集成开发环境IDE(如Visual Studio)。 编写程序 第一步:创建一个Windows窗体程序 以Visu…

    C# 2023年6月1日
    00
  • C#实现文件分割和合并的示例详解

    C#实现文件分割和合并的示例详解 本文将详细讲解C#实现文件分割和合并的过程,主要包括文件分割和文件合并两个部分。 文件分割 文件分割指将一个较大的文件分割成多个小文件,可以方便数据的传输和存储。接下来我们将介绍两种文件分割的实现方法。 实现方法一 我们可以使用FileStream类来完成文件的读取和写入操作。具体实现步骤如下: 判断待分割的文件是否存在,如…

    C# 2023年6月6日
    00
  • C# Console.ReadLine()方法: 从控制台读取一行文本

    C#中的Console.ReadLine()方法 在C#中,可以使用Console.ReadLine()方法从控制台(命令行)中读取用户输入的文本。这个方法的返回值是一个字符串(string)类型,表示用户输入的内容。当用户在控制台中输入了内容并按下回车键时,这个方法才会返回。 语法格式 Console.ReadLine() 使用方法 接收用户输入的时候,我…

    C# 2023年4月19日
    00
  • 使用grpcui测试ASP.NET core的gRPC服务

    使用 grpcui 测试 ASP.NET Core 的 gRPC 服务 grpcui 是一个用于测试 gRPC 服务的命令行工具,可以方便地测试 gRPC 服务的接口。本攻略将详细介绍如何使用 grpcui 测试 ASP.NET Core 的 gRPC 服务,并提供多个示例说明。 步骤一:安装 grpcui 在使用 grpcui 之前,需要先安装 grpcu…

    C# 2023年5月17日
    00
合作推广
合作推广
分享本页
返回顶部