通过 C# 将数据写入到Excel表格

Excel 是一款广泛应用于数据处理、分析和报告制作的电子表格软件。在商业、学术和日常生活中,Excel 的使用极为普遍。本文将详细介绍如何使用免费.NET库将数据写入到 Excel 中,包括文本、数值、数组、和DataTable数据的输入。

  • C# 在Excel单元格中写入文本、或数值
  • C# 在Excel工作表中写入数组
  • C# 在Excel工作表中写入DataTable数据表

本文用到的免费.NET Excel库为 Free Spire.XLS for .NET

该库可以在Visual Studio > NuGet程序包管理器中搜索 "FreeSpire.XLS " 来安装。也可以通过此链接下载产品包后手动添加引用。

C# 在Excel单元格中写入文本、或数值

  1. 创建一个工作簿Workbook对象;

  2. 获取指定工作表;

  3. 写入数据到指定单元格:

写入文本Worksheet.Range[].TextWorksheet.Range[].Value 属性;

写入数字Worksheet.Range[].Value2 属性;

  1. 保存Excel文件。

C#代码:

复制代码
using Spire.Xls;

namespace WriteDataToCells
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建一个Excel工作簿
            Workbook workbook = new Workbook();

            //获取其中第一张工作表
            Worksheet worksheet = workbook.Worksheets[0];

            //写入数据到指定单元格
            worksheet.Range["A1"].Text = "考号";
            worksheet.Range["B1"].Text = "学生姓名";
            worksheet.Range["C1"].Value = "所在班级";
            worksheet.Range["D1"].Value = "考试成绩";

            worksheet.Range["A2"].Value = "TS001";
            worksheet.Range["B2"].Value = "陈国柏";
            worksheet.Range["C2"].Value = "5班";
            worksheet.Range["D2"].Value2 = 97;

            worksheet.Range["A3"].Value = "TS002";
            worksheet.Range["B3"].Value = "易江维";
            worksheet.Range["C3"].Value = "2班";
            worksheet.Range["D3"].Value2 = 92;

            //设置字体样式
            worksheet.Range["A1:D1"].Style.Font.IsBold = true;
            worksheet.Range["A1:D3"].Style.Font.Size = 11;
            worksheet.Range["A1:D3"].Style.Font.FontName = "宋体";

            //保存Excel文件
            workbook.SaveToFile("写入数据到单元格.xlsx", ExcelVersion.Version2016);
        }
    }
}

C# 在Excel工作表中写入数组

  1. 创建一个工作簿Workbook 对象;

  2. 获取指定工作表;

  3. 定义一个二维数组;

  4. 通过Worksheet.InsertArray(Object\[,\] objectArray, int firstRow, int firstColumn) 方法将二维数组中的数据插入到工作表中指定位置;

  5. 保存Excel文件。

C#代码:

复制代码
using Spire.Xls;

namespace WriteArraysToWorksheet
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建一个Excel工作簿
            Workbook workbook = new Workbook();

            //获取其中第一张工作表
            Worksheet worksheet = workbook.Worksheets[0];

            //创建一个二维数组
            string[,] twoDimensionalArray = new string[,]{

                {"统计年份", "城市", "销售额", "增长率"},
                {"2021", "上海", "150万", "55%"},
                {"2021", "杭州", "80万", "-12%"},
                {"2021", "北京", "100万", "20%"}
            };

            //将数组写入工作表指定位置
            worksheet.InsertArray(twoDimensionalArray, 1, 1);

            //设置字体样式
            worksheet.Range["A1:D1"].Style.Font.IsBold = true;
            worksheet.Range["A1:D4"].Style.Font.Size = 11;
            worksheet.Range["A1:D4"].Style.Font.FontName = "宋体";

            //保存Excel文件
            workbook.SaveToFile("写入数组.xlsx", ExcelVersion.Version2016);
        }
    }
}

C# 在Excel工作表中写入DataTable数据表

  1. 创建一个工作簿Workbook 对象;

  2. 获取指定工作表;

  3. 创建一个DataTable 对象,并添加数据;

  4. 使用 Worksheet.InsertDataTable(DataTable dataTable,bool columnHeaders, int firstRow, int firstColumn, bool transTypes) 方法将DataTable的内容插入到工作表中指定位置;

  5. 保存Excel文件。
    C#代码:

复制代码
using System;
using System.Data;
using System.Drawing;
using Spire.Xls;

namespace WriteDataTableToWorksheet
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建一个Excel工作簿
            Workbook workbook = new Workbook();

            //获取其中第一张工作表
            Worksheet worksheet = workbook.Worksheets[0];

            //创建DataTable对象
            DataTable dataTable = new DataTable();
            dataTable.Columns.Add("编码", typeof(Int32));
            dataTable.Columns.Add("产品", typeof(String));
            dataTable.Columns.Add("单价", typeof(Decimal));

            //创建行并添加数据
            DataRow dr = dataTable.NewRow();
            dr[0] = 110600015;
            dr[1] = "数据线";
            dr[2] = "8.5";
            dataTable.Rows.Add(dr);

            dr = dataTable.NewRow();
            dr[0] = 110600037;
            dr[1] = "鼠标";
            dr[2] = "29.9";
            dataTable.Rows.Add(dr);

            dr = dataTable.NewRow();
            dr[0] = 110600021;
            dr[1] = "网线";
            dr[2] = "15.5";
            dataTable.Rows.Add(dr);

            //将datatable中的数据写入工作表
            worksheet.InsertDataTable(dataTable, true, 1, 1, true);

            //设置字体样式
            worksheet.Range["A1:D1"].Style.Font.IsBold = true;
            worksheet.Range["A1:D4"].Style.Font.Size = 11;
            worksheet.Range["A1:D4"].Style.Font.FontName = "宋体";

            //保存Excel文件
            workbook.SaveToFile("写入DataTable.xlsx", ExcelVersion.Version2016);
        }
    }
}

通过以上提供的三个示例,你可以将各种类型的数据写入到 Excel工作表中。如需对Excel中的数据进行进一步的分析处理、或插入图表等元素,可以点击查看该免费Spire.XLS库提供相应功能教程:
https://www.e-iceblue.cn/spirexls/spire-xls-for-net-program-guide-content.html

相关推荐
神仙别闹1 小时前
基于C#和Sql Server 2008实现的(WinForm)订单生成系统
开发语言·c#
霍先生的虚拟宇宙网络1 小时前
.net 支持跨平台(桌面)系列技术汇总
.net
djk88881 小时前
.net的winfrom程序 窗体透明&打开窗体时出现在屏幕右上角
.net
向宇it10 小时前
【unity小技巧】unity 什么是反射?反射的作用?反射的使用场景?反射的缺点?常用的反射操作?反射常见示例
开发语言·游戏·unity·c#·游戏引擎
九鼎科技-Leo11 小时前
什么是 WPF 中的依赖属性?有什么作用?
windows·c#·.net·wpf
Heaphaestus,RC12 小时前
【Unity3D】获取 GameObject 的完整层级结构
unity·c#
baivfhpwxf202312 小时前
C# 5000 转16进制 字节(激光器串口通讯生成指定格式命令)
开发语言·c#
直裾12 小时前
Scala全文单词统计
开发语言·c#·scala
ZwaterZ14 小时前
vue el-table表格点击某行触发事件&&操作栏点击和row-click冲突问题
前端·vue.js·elementui·c#·vue
dot.Net安全矩阵16 小时前
.NET 通过模块和驱动收集本地EDR的工具
windows·安全·web安全·.net·交互