首页 > 极客资料 博客日记
通过 C# 将数据写入到Excel表格
2024-08-12 16:30:04极客资料围观29次
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
标签:
相关文章
最新发布
- Nuxt.js 应用中的 prerender:routes 事件钩子详解
- 【问题解决】Tomcat由低于8版本升级到高版本使用Tomcat自带连接池报错无法找到表空间的问题
- 【FAQ】HarmonyOS SDK 闭源开放能力 —Vision Kit
- 六、Spring Boot集成Spring Security之前后分离认证流程最佳方案
- 《JVM第7课》堆区
- .NET 8 高性能跨平台图像处理库 ImageSharp
- 还在为慢速数据传输苦恼?Linux 零拷贝技术来帮你!
- 刚毕业,去做边缘业务,还有救吗?
- 如何避免 HttpClient 丢失请求头:通过 HttpRequestMessage 解决并优化
- 让性能提升56%的Vue3.5响应式重构之“版本计数”