首页 > 编程语言 >C# 将数据写入到Excel表格

C# 将数据写入到Excel表格

时间:2024-08-25 12:04:57浏览次数:4  
标签:C# Excel 写入 Range worksheet dr dataTable

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[].Text 或 Worksheet.Range[].Value 属性;

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

4. 保存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

标签:C#,Excel,写入,Range,worksheet,dr,dataTable
From: https://www.cnblogs.com/lgx5/p/18378789

相关文章

  • C++(asctime()、ctime())
    目录1.asctime()2.ctime()3.区别3.1示例对比4.总结在C++中,asctime()和ctime()都是用于将时间转换为可读字符串的函数,但它们有一些细微的区别。1.asctime()作用:asctime()函数将structtm类型的时间结构转换为字符串。这个函数通常与localtime()或gmtime()......
  • [英语单词] feedback
    Embeddedcomputersandnetworksmonitorandcontrolthephysicalprocesses,usuallywithfeedbackloopswherephysicalprocessesaffectcomputationsandviceversa.https://www2.eecs.berkeley.edu/Pubs/TechRpts/2007/EECS-2007-72.pdffeedback的普遍意思是,......
  • win10系统c++与opencv 依赖环境配置
    一、VSC++配置opencv库1、下载opencv(https://sourceforge.net/projects/opencvlibrary/files/opencv-win/3.3.0/)2、在官网下载opencv3.3.0.exe文件然后解压到D盘D:\opencv3、配置系统环境:①添加环境变量:控制面板-系统-高级系统设置-环境变量-系统变量Path中添加下......
  • C/C++语言基础--结构体知识详解(包括:结构体数组、字节对齐、位段等内容)
    本专栏目的更新C/C++的基础语法,包括C++的一些新特性前言C语言地结构体是核心内容之一,他运行自定义数据类型,可以将不同地数据类型当作成一个整体,变成一个数据类型,运用及其广泛欢迎点赞+收藏+关注,本人将会持续更新加粗样式文章目录结构体结构体是什么?结构体的申......
  • Web大学生网页作业成品——电影泰坦尼克号介绍网页设计与实现(HTML+CSS)(4个页面)
    ......
  • HTML静态网页成品作业(HTML+CSS)——游戏战地介绍设计制作(4个页面)
    ......
  • 洛谷 P8615 [蓝桥杯 2014 国 C] 拼接平方数
    题面题目描述小明发现很有趣,首先,它是个平方数。它可以拆分为和,拆分出来的部分也是平方数。也有这个性质,我们权且称它们为:拼接平方数。可拆分,这有点勉强,我们规定,等都不算平方数。小明想:还有哪些数字是这样的呢?你的任务出现了:找到某个区间的所有拼接平方数。输入......
  • 伙伴匹配系统踩坑日记8 controller传参
    伙伴匹配系统踩坑日记8controller传参后端参数映射在swagger里传空值,发现有问题在方法中加入@requestparam注解@GetMapping("search/tags")publicBaseResponse<List<User>>searchusersByTags(@RequestParamList<String>tagNameList){if(Collection......
  • C++(std::cout 处理 char*)
    目录1.std::cout和char*2.std::cout处理nullptr情况3.数组与指针的区别4.特殊字符的处理5.总结在C++中,std::cout是标准输出流,通常用于将数据输出到控制台。在处理char*类型时,std::cout的行为与处理其他类型有所不同。1.std::cout和char*char*是一个指向字......
  • lima 轻量级虚拟机docker替代方案 (macos平台)
    引言由于某些原因,我的mac电脑的docker出了问题,无法使用docker,想到有没有类似windos上的终端虚拟机,可以直接使用命令行,经过一凡寻找,终于找到了一个替代方案我来为大家介绍一款免费、自由、开源的DockerforMac替代品,containerd&Lima。你只需要执行以下命令即可快速体验......