sales@e-iceblue.com    |    028-81705109    |    2181348176    |    微信扫一扫    |    EN-US   |    论坛

C# 创建、读取 Excel 公式

Excel公式是Excel工作表中进行数值计算的等式。公式输入是以“=”开始的,简单的公式有加、减、乘、除等计算。Excel函数就是一些内置的公式,大致包括数据库函数、日期与时间函数、工程函数、财务函数、信息函数、逻辑函数、查询和引用函数、数学和三角函数、统计函数、文本函数以及用户自定义函数。

本文将演示如果使用Spire.XLS在Excel中添加一些常见的函数公式,以及如何获取单元格中公式。

创建Excel公式

//新建一个工作簿
Workbook workbook = new Workbook();
Worksheet sheet = workbook.Worksheets[0];

//初始化currentRow、currentFormula
int currentRow = 1;
string currentFormula = string.Empty;

//设置1、2列列宽
sheet.SetColumnWidth(1, 32);
sheet.SetColumnWidth(2, 16);

//写入测试数据
sheet.Range[currentRow, 1].Value = "测试数据:";
sheet.Range[currentRow, 2].NumberValue = 1;
sheet.Range[currentRow, 3].NumberValue = 2; ;
sheet.Range[currentRow, 4].NumberValue = 3;
sheet.Range[currentRow, 5].NumberValue = 4;
sheet.Range[currentRow, 6].NumberValue = 5;

//写入文本并设置区域格式
currentRow += 2;
sheet.Range[currentRow, 1].Value = "公式"; ;
sheet.Range[currentRow, 2].Value = "结果";
CellRange range = sheet.Range[currentRow, 1, currentRow, 2];
range.Style.Font.IsBold = true;
range.Style.KnownColor = ExcelColors.LightGreen1;
range.Style.FillPattern = ExcelPatternType.Solid;
range.Style.Borders[BordersLineType.EdgeBottom].LineStyle = LineStyleType.Medium;

//算术运算
currentFormula = "=1/2+3*4";
sheet.Range[++currentRow, 1].Text = currentFormula;
sheet.Range[currentRow, 2].Formula = currentFormula;

//日期函数
currentFormula = "=TODAY()";
sheet.Range[++currentRow, 1].Text = currentFormula;
sheet.Range[currentRow, 2].Formula = currentFormula;
sheet.Range[currentRow, 2].Style.NumberFormat = "YYYY/MM/DD";

//时间函数
currentFormula = "=NOW()";
sheet.Range[++currentRow, 1].Text = currentFormula;
sheet.Range[currentRow, 2].Formula = currentFormula;
sheet.Range[currentRow, 2].Style.NumberFormat = "H:MM AM/PM";

//IF逻辑函数
currentFormula = "=IF(B1=5,\"Yes\",\"No\")";
sheet.Range[++currentRow, 1].Text = currentFormula;
sheet.Range[currentRow, 2].Formula = currentFormula;

//PI函数
currentFormula = "=PI()";
sheet.Range[++currentRow, 1].Text = currentFormula;
sheet.Range[currentRow, 2].Formula = currentFormula;

//三角函数
currentFormula = "=SIN(PI()/6)";
sheet.Range[++currentRow, 1].Text = currentFormula;
sheet.Range[currentRow, 2].Formula = currentFormula;

//计数函数
currentFormula = "=Count(B1:F1)";
sheet.Range[++currentRow, 1].Text = currentFormula;
sheet.Range[currentRow, 2].Formula = currentFormula;

//求最大值函数
currentFormula = "=MAX(B1:F1)";
sheet.Range[++currentRow, 1].Text = currentFormula;
sheet.Range[currentRow, 2].Formula = currentFormula;

//平均值函数
currentFormula = "=AVERAGE(B1:F1)";
sheet.Range[++currentRow, 1].Text = currentFormula;
sheet.Range[currentRow, 2].Formula = currentFormula;

//求和函数
currentFormula = "=SUM(B1:F1)";
sheet.Range[++currentRow, 1].Text = currentFormula;
sheet.Range[currentRow, 2].Formula = currentFormula;

//保存文档
workbook.SaveToFile("Excel公式.xlsx",FileFormat.Version2013);

C# 创建、读取 Excel 公式


读取Excel公式

//实例化一个Workbook
Workbook workbook = new Workbook();

//加记载一个Excel文档
workbook.LoadFromFile("Excel公式.xlsx");

//获取第一个工作表
Worksheet sheet = workbook.Worksheets[0];

//遍历[B1:B13]的单元格
foreach (var cell in sheet.Range["B1:B13"]) 
{
    //判断是否含有公式
    if(cell.HasFormula)
    {
        //输出含有公式的单元格及公式
        string certainCell = String.Format("Cell[{0},{1}]", cell.Row, cell.Column);
        Console.WriteLine(certainCell +" 含有公式: " + cell.Formula);
    }
}

***

更多Excel函数公式的书写方法,请参考:https://support.office.com/en-us/article/Formulas-and-functions-294d9486-b332-48ed-b489-abe7d0f9eda9

Spire.Doc
C# 添加 Word 超链接
C# 插入、计数、检索和删除 Word 文档变量
C# 如何在 Word 中插入分页符和分节符
C# 如何在 Word 中插入和删除文本框
C# 添加形状和形状组合到 Word 文档
C# 如何插入图片到 Word 以及提取 Word 中的图片
C# 给 Word 文档添加内容控件
如何合并 Word 文档
C# Word 文档保护
创建 Word 文档
启用 Word 修订功能,接受和拒绝修订
C# 操作 Word 批注功能
Spire.Doc 转换功能详述
使用 C# 为 Word 文档添加脚注尾注
C# 为 Word 文档添加页眉,页脚和页码
C# 为 Word 文档添加文本和图片水印
添加和获取 Word 文档摘要及属性
C# Word 查找和替换功能
C# 创建 Word 表格
使用 C# 添加 Word 域
C# 添加,替换和删除 Word 书签
C# 合并与拆分 Word 表格中的单元格
C# Word 图片替换
C# 根据分节符和分页符拆分 Word 文档
C# 给 Word 文档设置背景颜色和背景图片
C# 在 Word 中创建文本框
C# 设置纸张大小以及页边距
C# 在 Word 中插入下拉列表控件、文本控件、图片控件等
C# 在 Word 中创建项目符号列表、多级编号列表
C# 插入表格到 Word 文本框以及获取和删除 Word 文本框中的表格
C# Word 中添加和删除特殊符号
C# 创建 Word 邮件合并模板并合并文本和图片
C# 打印 Word 文档
C# Word 中添加、修改和提取 OLE
C# Word 中设置文字效果
C# Word 添加分栏、分割线
C# 在 Word 中插入上下标
C# 设置 Word 表格的格式
C# 操作 Word 表格行和列
C# 创建 Word 艺术字
C# 删除 Word 超链接
C# 更新 Word 域
C# 在 Word 中创建交叉引用
C# 获取、删除书签的内容
C# 插入、删除 Word 目录
C# 将 HTML 保存为 PDF
C# 在 Word 中添加条形码、二维码
C# 修改 Word 文档中图片的大小
C# Word 添加行号
C# Word 中添加和删除题注
C# 设置 Word 文档段落缩进
C# Word 转 EPUB
如何在 Word 文档的书签位置插入图片
C# 删除word文档中的页眉页脚
C# 在 Word 书签位置插入表格
C# 在 word 表格中插入图片
C# 读取 Word 文档的文本内容
C# 读取 Word 中的脚注和尾注内容
C# 插入图片到文本框
C# 回复 Word 批注
C# 为 Word 文档中的指定段落/指定文字添加底色
C# 根据 Word 的标题样式获取文字
如何锁定页眉和页脚不被修改
C# 复制 Word 页眉/页脚
C# 删除 Word 文档中的段落
C# 添加 Word 页面边框
C# 使用另一个 Word 文档替换 Word 文本
如何使用 Spire.Doc for .NET Core
C# 为 Word 中不同的章节设置不同的页码
Spire.DocViewer
如何添加 Spire.DocViewer 控件到 Toolbox
Spire.XLS
C# Excel 插入和删除分页符
C# 给 Excel 工作表添加水印
C# 图表中隐藏和空单元格的设置
给 Excel 表格添加超链接
C# 复制 Excel 工作表
使用 Spire.XLS 创建 Excel 图表
C# 设置 Excel 数据验证/数据有效性
Excel 查找替换高亮显示数据
C# 显示和隐藏 Excel 工作表及工作表中的行与列
C# 添加修改及删除 Excel 批注
如何使用 C# 打印 Excel 文档
使用 C# 将 Excel 工作薄和 Excel 工作表保存为 PDF 格式
C# Excel 图片添加、提取和删除
C# Excel 文档保护
合并/取消合并 Excel 单元格
C# 创建 Excel 文件
如何设置和获取 Excel 工作薄摘要及自定义属性
C# 设置 Excel 页眉页脚
C# Excel 数据分组和取消分组
C# 创建、读取 Excel 公式
C# Excel 字体设置
C# 如何在 Excel 中设置条件格式
C# Excel 工作表和 Excel 图表保存为图片
C# Excel 冻结窗格
C# 设置 Excel 图片大小和位置
C# 给 Excel 文档设置背景颜色和背景图片
C# 设置现有 Excel 图表的数据标签样式
C# 展开和折叠 Excel 分组
C# 重命名 Excel 工作表和设置工作表标签颜色
C# 如何合并 Excel 文档
C# Excel 插入图形
C# 将 Excel 文件转换为 HTML 格式
C# 转换 CSV 到 Excel、PDF、Datatable
C# Excel 创建多级分组
C# 设置 Excel 工作表视图模式和显示比例
C# Excel 单元格锁定和取消锁定
C# Excel 导入导出数据
C# 设置 Excel 中数字格式
C# Excel 自定义数据标签
C# 设置 Excel 中边框(网格线)样式
C# Excel 插入和删除表单控件
C# 添加、修改和删除 Excel 迷你图
Excel 中插入 OLE 对象
C# 插入、删除 Excel 文本框
C# 提取 Excel 形状中的文本和图片
C# 创建 Excel 数据透视表及设置透视表的格式
C# 在 Excel 文档中隐藏或显示批注
C# Excel 中设置文字对齐方式、方向和换行
C# 制作 Excel 分离型饼图和分离型环形图
C# Excel 创建表格(Table)并设置样式
C# 创建含多层分类标签的 Excel 图表
C# 添加与删除 Excel 工作表中的行与列
C# 如何使用不连续的数据区域创建图表
C# 在 Excel 中创建组合图表
C# Excel 删除图形
C# 给 Excel 图表添加趋势线并设置其样式
C# 如何展开/折叠数据透视表的行
C# 给 Excel 图表添加误差线
C# 为数据透视表设置边框和填充
C# 给 Excel 图表添加次坐标轴
C# Excel 数据排序
C# 创建 Excel 命名区域
C# 操作 Excel 命名区域
C# 给 Excel 中的表格添加汇总行
C# 在 Excel 中插入上标和下标
Spire.Presentation
C# 给 PPT 文档添加水印
Spire.Presentation 保护 PPT 文档
C# 创建 PowerPoint 文档
C# PowerPoint 文档转换成图片、PDF、SVG 等格式文件
C# 如何提取 PowerPoint 文档中的文本和图片
C# 创建、删除、操作 PowerPoint 表格
C# 如何添加、删除 PowerPoint 图形
C# 创建 PowerPoint 图表
C# Presentation 文本替换
C# 隐藏和取消隐藏幻灯片
C# 添加、编辑、提取和删除 PowerPoint 批注
C# PPT 插入和提取视频
C# PPT 添加、修改超链接
C# 创建 PowerPoint 堆积图
C# 设置和获取 PowerPoint 文档属性
C# 添加和获取 PowerPoint 备注
C# 添加或删除 PowerPoint 段落和设置段落样式
C# 幻灯片插入 SmartArt 图形
C# 设置 PPT 表格中文字的对齐方式
C# PowerPoint 添加页脚、页码
C# 更改 PPT 中文字方向
C# 打印 PowerPoint 文档
C# 给 PowerPoint 文档设置背景颜色和背景图片
C# 创建幻灯片编号列表和项目符号列表
C# 设置 PowerPoint 中文字透明度
C# PowerPoint 分离饼状图
C# 旋转图形,重置图形的大小,位置和重叠图形的顺序
C# PowerPoint 中设置图片透明
C# 提取 PPT 中 SmartArt 图形的文本内容以及删除节点
C# 获取 PowerPoint 中的文本信息和图片信息
C# 添加或删除 PowerPoint 幻灯片,调整幻灯片顺序
C# PPT 中创建文本框并设置其形状格式
C# 创建幻灯片母版
将 HTML 字符串转换为 PowerPoint 文档
C# 添加误差线到 PowerPoint 图表
C# PPT 自动调整文字大小或文本框大小
C# 删除 PowerPoint 图表中的图例项
C# PPT 中如何设置图片阴影效果
C# 设置 PPT 视频的播放模式
C# 在 PowerPoint 中给图片添加超链接和获取图片的超链接
C# PPT 中给形状添加动画、获取形状动画设置
C# 删除 PowerPoint 中图片水印和文本水印
C# 给 PowerPoint 图表添加数据标签并设置外观样式
C# 如何设置和获取PowerPoint形状的可选文本
C# PPT 如何修改和应用母版
C# PPT 添加和获取幻灯片切换效果
C# 如何在一个 PPT 中应用多个母版
C# 新方法向 PPT 中添加 HTML
C# 为 PowerPoint 表格设置边框类型和颜色
如何在表格单元格中添加图片
C# PPT 修改图表类别坐标轴和图例的文本字体
C# PPT 图表设置数据点颜色
C# 获取和更改 PPT 幻灯片的标题
C# PPT 中如何组合形状
C# 复制和删除 PowerPoint 图表
C# PowerPoint 中设置图片效果
C# 在 PPT 中创建链接到特定幻灯片的超链接
C# 给 PowerPoint 形状添加退出动画效果
C# 为幻灯片文字设置文本边框及样式
C# PowerPoint 文档转换成 HTML 格式
C# 重置 PowerPoint 日期和编号的位置
C# 设置 PPT 中图表数据标签的形状及其引导线的形状
Spire.PDF
C# 添加、获取及删除 PDF 附件
C# 给 PDF 文档添加背景颜色和背景图片
C# PDF 转 Word、Image、XPS
C# PDF 图片添加、删除和替换
C# 压缩 PDF 文档
C# 创建 PDF 文档
C# 如何提取 PDF 文档中的文本和图片
合并与拆分 PDF 文档
C# PDF 添加页眉页脚
C# 给 PDF 文档添加水印
打印 PDF 文档
C# PDF 数字签名
C# PDF 字体设置
C# 操作 FDF 和 XFDF 文件
C# 创建 PDF 表单域
C# PDF 文档保护与取消保护
C# 将 PDF 表单域设置为只读
C# 创建 PDF 表格
如何使用 C# 在 PDF 中绘制图形
C# 添加或删除 PDF 页面,调整页面顺序
C# PDF 添加注释和标记
C# 添加、修改和删除 PDF 书签
C# 如何删除 PDF 表单域
C# PDF 设置页边距和页面大小
C# PDF 查找和高亮显示文本
C# 添加和删除 PDF 图层
C# 添加、获取和删除 PDF 自定义文档属性
C# 打印 PDF 文档的多页到一页和一页到多页
C# 创建 PDF 项目符号列表和多级编号列表
C# 固定 PDF 文本框中文字的大小和颜色
C# 给 PDF 文档添加超链接
C# 用 JavaScript 设置和验证 PDF 文本域格式
C# 给 PDF 文档添加动作
C# PDF 文档加密和解密
C# 旋转 PDF 页面
C# 在 PDF 中添加条形码、二维码
C# 检测 PDF 文档是否为 PDF/A
C# PDF 转 SVG
C# 从 PDF 页面的指定区域内提取文本
C# 如何给 PDF 设置过期时间
C# 在PDF中添加页面跳转按钮
C# 获取 PDF 多级书签
C# 删除 PDF 中的空白页
C# 设置 PDF 缩放比例和页面显示设置
C# 在现成 PDF 中添加页眉页脚
如何替换 PDF 的字体
在不改变页面大小的情况下调整页边距
C# 添加图片和嵌套表格到 PDF 表格的单元格
C# 显示或隐藏 PDF 图层
C# 删除 PDF Grid 的行和列
C# 如何更新和删除 PDF 文档中的超链接
C# 修改和删除 PDF 注释
C# 如何将 HTML 转换为 PDF
C# 为 PDF 添加平铺背景图
C# 自定义纸张大小打印 PDF
C# 在 PDF 添加动态图章
C# 在 PDF 文档中添加打印按钮
Spire.PDFViewer
使用 Spire.PDFViewer for ASP.NET 在 Web From 上查看 PDF 文件
如何使用 Spire.PDFViewer for ASP.NET 翻页查看 PDF
Spire.DataExport
将数据从 DataTable 快速导出到 Excel, PDF, HTML 及 MS Access 等文件
Spire.BarCode for .NET
如何添加 Spire.Barcode 控件到 Toolbox
C# 使用 Spire.Barcode 识别条形码
C# 使用 Spire.Barcode 创建二维码
C# 如何生成 DataMatrix 条形码
设置条形码的 X 维度
Licensing
如何应用 License
License Agreement
Spire.Email
C# 如何群发邮件
C# 如何接收和保存邮件
C# 创建、重命名、删除邮箱文件夹
C# 添加、提取、删除邮件附件
C# 如何发送 HTML 邮件
C# 如何搜索邮件
Spire.Barcode for JAVA
如何使用 Spire.Barcode for Java 生成条形码
使用 Spire.Barcode for Java 识别条形码
如何使用 Spire.Barcode for Java 生成 QR 二维码
如何使用 Spire.Barcode for Java 生成 EAN-13 条形码