C# 将数据写入到Excel表格

news/2024/9/22 5:34:29/文章来源:https://www.cnblogs.com/lgx5/p/18378789

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/787013.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

eUSB是什么/可以干什么?

eUSB总结 1.什么是eUSB 1.1 eUSB概念 eUSB是原USB物理层上的补充,为了解决USB_phy低压需求的问题而出现的,eUSB可以将信号电平降至1.2V甚至更低,与此同时可以优化电源效率。 概括为:一种用于芯片间互联的低电压、低功耗的内部接口。 1.2 应用背景 智能终端设备的尺寸追求越…

lima 轻量级虚拟机docker替代方案 (macos平台)

引言由于某些原因,我的mac电脑的docker出了问题,无法使用docker,想到有没有类似windos上的终端虚拟机,可以直接使用命令行,经过一凡寻找,终于找到了一个替代方案我来为大家介绍 一款免费、自由、开源的 Docker for Mac 替代品,containerd & Lima 。 你只需要执行以下…

【js基础】【一眼就会】js json Object String 互转

​ 还是有些同学,没有真正弄清楚:js基础知识。特意写篇文章。 还有些同学呢基础没搞懂就开始看底部源码了。这就好比开车司机要安装调试曲轴连瓦。(深层次的有一定经验了再学。不然的话,学到啥时候是个头?)------------ 未完待续............ ​

伙伴匹配系统踩坑日记8 controller传参

伙伴匹配系统踩坑日记8 controller传参 后端 参数映射在swagger里传空值,发现有问题在方法中加入@requestparam注解@GetMapping("search/tags")public BaseResponse<List<User>> searchusersByTags(@RequestParam List<String> tagNameList){if(C…

使用 setResponseStatus 函数设置响应状态码

title: 使用 setResponseStatus 函数设置响应状态码 date: 2024/8/25 updated: 2024/8/25 author: cmdragon excerpt: 通过 setResponseStatus 函数,你可以轻松地在 Nuxt.js 中设置响应的状态码。这不仅能帮助用户更好地理解发生了什么,还能在需要时显示自定义的错误页面。…

魔法之 pb_ds

pb_ds 简介 与 使用 Part1 pb_ds 是一个基于策略的模板库 pb_ds 库封装了很多数据结构,比如哈希(Hash)表,平衡二叉树,字典树(Trie 树),堆(优先队列)等。 就像 vector、set、map 一样,其组件均符合 STL 的相关接口规范。部分(如优先队列)包含 STL 内对应组件的所有…

2024/08/25小记

给你看看AI实力: 问题:如果世界毁灭了人类应该怎么做?(科幻领域) Ai回答: 如果世界末日来临,人类应该采取以下措施: 紧急行动:疏散到安全地带:识别高点、避难所或其他受保护的区域,并立即疏散。 储备基本必需品:搜集足够的食物、水、药品、毯子和其他生存必需品。 保…

14-神经网络-参数管理

torch.rand和torch.randn的区别:

使用HF Trainer微调小模型

本文记录HugginngFace的Trainer各种常见用法。SFTTrainer的一个最简单例子 HuggingFace的各种Trainer能大幅简化我们预训练和微调的工作量。能简化到什么程度?就拿我们个人用户最常会遇到的用监督学习微调语言模型任务为例,只需要定义一个SFTrainer,给定我们想要训练的模型和…

题解:P10358 [PA2024] Obrazy

题解:P10358 [PA2024] Obrazy 题目传送门 即当最小的画框都不可能覆盖整个矩形墙面时,输出 −1。 [PA2024] Obrazy 题目背景 PA 2024 3C 题目描述 题目译自 PA 2024 Runda 3 Obrazy,感谢 Macaronlin 提供翻译 给定尺寸为 $h\times w$ 的矩形墙面,以及 $n$ 种尺寸的正方形画…