翻译|使用教程|编辑:吉炜炜|2025-05-06 13:50:28.470|阅读 30 次
概述:通过编程方式管理和操作 Excel 文件已成为开发者的必备技能。Spire.XLS for .NET 正是这样一款多功能且强大的库,它能让您使用 C# 无缝地创建、读取、写入和编辑 Excel 文件。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
相关链接:
在当今数字化时代,通过编程方式管理和操作 Excel 文件已成为开发者的必备技能。无论您是在构建报表工具、自动化数据处理,还是通过动态数据处理增强应用程序功能,拥有一个强大的库可以带来显著不同。Spire.XLS for .NET 正是这样一款多功能且强大的库,它能让您使用 C# 无缝地创建、读取、写入和编辑 Excel 文件。
本文将从以下几个方面展示如何利用 C# 和 Spire.XLS for .NET 轻松编辑 Excel 文档。
首先,您需要添加 Spire.XLS for .NET 包中包含的 DLL 文件作为 .NET 项目中的引用。DLL 文件可以从 此链接下载或通过 安装。
PM> Install-Package Spire.XLS
在使用C#操作Excel文件时,最常见的任务之一就是读取和写入数据。Spire.XLS for .NET 提供了 CellRange.Value 属性,使开发者能够轻松获取或设置单个单元格的值。
以下是使用 C# 读写 Excel 文件的步骤:
using Spire.Xls; namespace ReadAndWriteExcel { class Program { static void Main(string[] args) { // 创建一个 Workbook 对象 Workbook workbook = new Workbook(); // 加载一个 Excel 文件 workbook.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Input.xlsx"); // 获取一个特定的工作表 Worksheet worksheet = workbook.Worksheets[0]; // 获取一个特定的单元格 CellRange cell = worksheet.Range["A1"]; // 读取单元格的值 String text = cell.Value; // 判断单元格的值是否为 "区域" if (text == "区域") { // 更新单元格的值 cell.Value = "地区"; } // 将工作簿保存到不同的文件 workbook.SaveToFile("读写Excel.xlsx", ExcelVersion.Version2016); // 释放资源 workbook.Dispose(); } } }
样式和格式设置是制作专业 Excel 报表的重要环节。Spire.XLS for .NET 在 CellRange 类中提供了丰富的 API,可用于管理单元格样式、字体、颜色、对齐方式,以及调整行高和列宽。
以下是设置 Excel 单元格样式与格式的步骤:
using Spire.Xls; using System.Drawing; namespace FormatCells { class Program { static void Main(string[] args) { // 创建一个 Workbook 对象 Workbook workbook = new Workbook(); // 加载一个 Excel 文件 workbook.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Input.xlsx"); // 获取一个特定的工作表 Worksheet worksheet = workbook.Worksheets[0]; // 获取工作表中的所有已分配范围 CellRange allocatedRange = worksheet.AllocatedRange; // 遍历行 for (int rowNum = 0; rowNum < allocatedRange.RowCount; rowNum++) { if(rowNum == 0) { // 为标题行应用单元格颜色 allocatedRange.Rows[rowNum].Style.Color = Color.Black; // 更改标题行的字体颜色 allocatedRange.Rows[rowNum].Style.Font.Color = Color.White; } // 为其他行应用交替颜色 else if (rowNum % 2 == 1) { allocatedRange.Rows[rowNum].Style.Color = Color.LightGray; } else if (rowNum % 2 == 0) { allocatedRange.Rows[rowNum].Style.Color = Color.White; } // 将文本居中对齐 allocatedRange.Rows[rowNum].HorizontalAlignment = HorizontalAlignType.Center; allocatedRange.Rows[rowNum].VerticalAlignment = VerticalAlignType.Center; // 设置行高 allocatedRange.Rows[rowNum].RowHeight = 18; } // 遍历列 for (int columnNum = 0; columnNum < allocatedRange.ColumnCount; columnNum++) { // 设置列宽 if (columnNum > 0) { allocatedRange.Columns[columnNum].ColumnWidth = 12; } } // 将工作簿保存到不同的文件 workbook.SaveToFile("应用格式.xlsx", ExcelVersion.Version2016); // 释放资源 workbook.Dispose(); } } }
Excel 的查找替换功能既能提升数据准确性和一致性,又能显著提高工作效率。借助 Spire.XLS for .NET,您可以通过 Worksheet.FindString() 方法快速定位包含特定字符串的单元格,再使用 CellRange.Value 属性更新单元格内容。
使用 C# 实现 Excel 文本查找替换的步骤如下:
using Spire.Xls; namespace FindAndReplaceText { class Program { static void Main(string[] args) { // 创建一个 Workbook 对象 Workbook workbook = new Workbook(); // 加载一个 Excel 文件 workbook.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Input.xlsx"); // 获取一个特定的工作表 Worksheet worksheet = workbook.Worksheets[0]; // 定义一个字符串数组用于替换 String[] new_strings = new String[] { "西部厂区", "东北厂区", "北部厂区", "南部厂区", "中部厂区" }; // 定义一个字符串数组,在 Excel 表中将被替换 String[] old_strings = new String[] { "西部", "东部", "北部", "南部", "中部" }; // 遍历旧字符串 for (int i = 0; i < old_strings.Length; i++) { // 查找包含当前旧字符串的单元格 CellRange cell = worksheet.FindString(old_strings[i], false, false); // 用新字符串替换找到的单元格中的文本 cell.Text = new_strings[i]; } // 将工作簿保存到不同的文件 workbook.SaveToFile("替换文本.xlsx", ExcelVersion.Version2016); // 释放资源 workbook.Dispose(); } } }
除了基本的文件操作外,Spire.XLS for .NET 还提供了多种高级功能来处理 Excel 文件。这些技术可用于自动化复杂任务、执行计算以及生成动态报表。
以下是使用 C# 在 Excel 中添加公式和创建图表的步骤:
using Spire.Xls; namespace AddFormulaAndChart { class Program { static void Main(string[] args) { // 创建一个 Workbook 对象 Workbook workbook = new Workbook(); // 加载一个 Excel 文件 workbook.LoadFromFile("C:\\Users\\Administrator\\Desktop\\Input.xlsx"); // 获取一个特定的工作表 Worksheet worksheet = workbook.Worksheets[0]; // 获取所有已分配范围 CellRange allocatedRange = worksheet.AllocatedRange; // 遍历行 for (int rowNum = 0; rowNum < allocatedRange.RowCount; rowNum++) { if (rowNum == 0) { // 在单元格 F1 中写入文本 worksheet.Range[rowNum + 1, 6].Text = "年度"; // 为单元格应用样式 worksheet.Range[rowNum + 1, 6].Style.Font.IsBold = true; worksheet.Range[rowNum + 1, 6].Style.Font.FontName = "宋体"; worksheet.Range[rowNum + 1, 6].Style.Font.Size = 12; worksheet.Range[rowNum + 1, 6].Style.HorizontalAlignment = HorizontalAlignType.Center; } else { // 为单元格 F2 到 F6 添加公式 worksheet.Range[rowNum + 1, 6].Formula = $"=SUM(B{rowNum + 1}:E{rowNum + 1})"; // 为单元格应用样式 worksheet.Range[rowNum + 1, 6].Style.Font.FontName = "Times New Roman"; worksheet.Range[rowNum + 1, 6].Style.Font.Size = 12; worksheet.Range[rowNum + 1, 6].Style.HorizontalAlignment = HorizontalAlignType.Center; } } // 添加一个聚类柱状图 Chart chart = worksheet.Charts.Add(ExcelChartType.ColumnClustered); // 设置图表的数据范围 chart.DataRange = worksheet.Range["A1:E6"]; chart.SeriesDataFromRange = false; // 设置图表的位置 chart.LeftColumn = 1; chart.TopRow = 7; chart.RightColumn = 7; chart.BottomRow = 18; // 设置和格式化图表标题 chart.ChartTitle = "区域季度生产量"; chart.ChartTitleArea.Size = 13; chart.ChartTitleArea.IsBold = true; // 将工作簿保存到不同的文件 workbook.SaveToFile("添加公式和图表.xlsx", ExcelVersion.Version2016); // 释放资源 workbook.Dispose(); } } }
————————————————————————————————————————
关于慧都科技:
慧都科技是一家行业数字化解决方案公司,长期专注于软件、油气与制造行业。公司基于深入的业务理解与管理洞察,以系统化的业务建模驱动技术落地,帮助企业实现智能化运营与长期竞争优势。在软件工程领域,我们提供开发控件、研发管理、代码开发、部署运维等软件开发全链路所需的产品,提供正版授权采购、技术选型、个性化维保等服务,帮助客户实现技术合规、降本增效与风险可控。慧都科技E-iceblue的官方授权代理商,提供E-iceblue系列产品免费试用,咨询,正版销售等于一体的专业化服务。E-iceblue是国产文档处理领域的优秀产品,支持国产化,帮助企业高效构建文档处理的应用程序。
欢迎下载|体验更多E-iceblue产品
获取更多信息请咨询 ;技术交流Q群(125237868)
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@wqylolg.cn
文章转载自:慧都网