通过 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 属性;
  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);}}
}

将数据写入Excel

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);}}
}

将数组写入Excel

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);}}
}

将DataTable写入Excel


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

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Spring AOP(概念、实战、原理)

文章目录 1. 什么是AOP2. AOP体系图3. 术语解释3.1 Aspect(切面)3.2 Join point(连接点)3.3 Advice(通知)3.4 Pointcut(切入点)3.5 Target(目标)3.6 Proxy&am…

文本解码原理--MindNLP

前言 根据前文预测下一个单词 一个文本序列的概率分布可以分解为每个词基于其上文的条件概率的乘积 Greedy search 在每个时间步𝑡都简单地选择概率最高的词作为当前输出词: 𝑤𝑡𝑎𝑟𝑔𝑚&am…

【泛微E9】统一待办中心集成

1、什么是统一待办中心集成 概述:目前有很多第3方系统都有流程,操作人都会有待办事宜、已办事宜。但这些待办流程都分散在不同系统中,用户操作不方便,对相应流程也无法及时处理。客户希望能在泛微OA中对所有的第3方流程做统一展示…

LlamaIndex:向 LLM 添加个人数据

LlamaIndex 是您构建基于 LLM 的应用程序的友好数据助手。您可以使用自然语言轻松地获取、管理和检索私有数据和特定领域的数据。 LlamaIndex 是一个针对大型语言模型 (LLM) 应用程序的数据框架。GPT-4 等 LLM 在海量的公共数据集上进行预训练,开箱即用即可实现令人…

【.NET 6 实战--孢子记账--从单体到微服务】--开发环境设置

在这一小节,我们将设置开发环境。 一、安装SDK 咱们的项目使用的是 .NET6,开发前我们需要从官网上下载.NET6 SDK(点击下载),这里要注意的是我们需要下载.NET6 SDK,而不是 .NET6 Runtiem 。SDK 包含 Runti…

PyCharm 常用 的插件

Material Theme UI Lite:‌提供多种不同的页面风格,‌为PyCharm界面增添个性化元素。‌Chinese (Simplified) Language Pack:‌为中文用户提供简体中文的界面、‌菜单、‌提示信息,‌提升使用体验。‌Tabnine:‌基于人…

C# 开发监控方法执行耗时

MethodTimer.Fody 是一个功能强大的库,可以用于测量 .NET 应用程序中的方法的执行时间。允许你在不修改代码的情况下,自动地测量和记录方法的执行时间。 这个工具是基于.NET的 weaving 技术,通过修改IL(Intermediate Language,中间语言)代码来插入计时逻辑,从而在方法调…

Mac应用快速启动器:Alfred 5 for Mac 激活版

Alfred 5 是一款专为 macOS 系统设计的效率提升工具。这款软件以其快速启动和高效操作功能著称,通过使用快捷键来呼出输入界面,用户可以快速完成各种任务。 最新版本 Alfred 5.5 引入了一些新功能。其中包括整合了 ChatGPT 和 DALL-E,这意味…

ROS2入门到精通—— 2-13 ROS2实战:实现机器人多目标点导航(附ROS C++代码以及脚本实现)

0 前言 实现机器人多目标点导航是非常常见的需求,本文将介绍ROS2和Shell脚本两个方法实现多目标点导航,读者可以根据需求对接仿真和实车。 1 yaml-cpp介绍 YAML是专门用来写配置文件的语言,实质上是一种通用的数据串行化格式 1.1 yaml-cpp安装 git clone https://github…

kail-linux如何使用NAT连接修改静态IP

1、Contos修改静态IP vi /etc/sysconfig/network-scripts/ifcfg-ens33, 标记红色处可能序号会变动 参考linux配置网络不通解决方案_kylinv10sp2 网关不通-CSDN博客https://tanrt06.blog.csdn.net/article/details/132430485?spm1001.2014.3001.5502 Kail时候NAT连…

Java SE 文件上传和文件下载的底层原理

1. Java SE 文件上传和文件下载的底层原理 文章目录 1. Java SE 文件上传和文件下载的底层原理2. 文件上传2.1 文件上传应用实例2.2 文件上传注意事项和细节 3. 文件下载3.1 文件下载应用实例3.2 文件下载注意事项和细节 4. 总结:5. 最后: 2. 文件上传 文件的上传和…

ElasticSearch(三)—文档字段参数设置以及元字段

一、 字段参数设置 analyzer: 指定分词器。elasticsearch 是一款支持全文检索的分布式存储系统,对于 text类型的字段,首先会使用分词器进行分词,然后将分词后的词根一个一个存储在倒排索引中,后续查询主要是针对词根…

模拟实现c++中的vector模版

目录 一vector简述: 二vector的一些接口函数: 1初始化: 2.vector增长: 3vector增删查改: 三vector模拟实现部分主要函数: 1.size,capacity,empty,clear接口: 2.reverse的实现&#xff1…

springboot招生宣传管理系统论文源码调试讲解

2 相关技术 2.1 VUE介绍 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用。Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目…

Github 2024-07-27开源项目日报 Top10

根据Github Trendings的统计,今日(2024-07-27统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量非开发语言项目2C++项目2C项目2TypeScript项目1JavaScript项目1Java项目1Python项目1C#项目1免费编程学习平台:freeCodeCamp.org 创建周期:33…

SpringBoot入门实战:SpringBoot整合Shiro

1.背景介绍 SpringBoot是一个用于快速开发Spring应用程序的框架。它的核心是对Spring框架的一层封装,使其更加简单易用。SpringBoot整合Shiro是一种将SpringBoot与Shiro整合的方法,以实现身份验证和授权功能。 Shiro是一个强大的Java安全框架&#xff0c…

电影院售票网站

你好呀,我是计算机学姐码农小野!如果有相关需求,可以私信联系我。 开发语言:Java 数据库:MySQL 技术:SSM框架 工具:IDEA/Eclipse、Navicat、Maven 系统展示 首页 用户管理界面 正在上映管…

正则表达式 先行/后发断言

参考资料 正则表达式的先行断言(lookahead)和后行断言(lookbehind)正则表达式中分组功能高级用法前瞻断言与后瞻断言初心者歓迎!手と目で覚える正規表現入門・その4(最終回)「中級者テクニックをマスターしよう」 目录 一. Posit…

AmyloidPETNet:使用端到端深度学习对脑PET成像中的淀粉样阳性进行分类| 文献速递-AI辅助的放射影像疾病诊断

Title 题目 AmyloidPETNet: Classification of Amyloid Positivity in Brain PET Imaging Using End-to-End Deep Learning AmyloidPETNet:使用端到端深度学习对脑PET成像中的淀粉样阳性进行分类 01 文献速递介绍 阿尔茨海默病 (AD) 的一个病理异常是脑内淀粉样…

JavaScript——常用库

文章目录 绪论jQuery选择器事件修改 css查找ajax setTimeout与setIntervalsetTimeoutsetInterval requestAnimationFrameMap与SetlocalStorageJSONDateWebSocketwindowcanvas结语 绪论 『时间是伟大的作家,总会写下完美的结局。』—— 「秋之回忆」 jQuery 这个是优…