C#读取Excel中的公式,并生成值

在C#中读取Excel中的公式并生成其计算结果可以使用开源库如EPPlus或Microsoft.Office.Interop.Excel,如果是.xlsm宏文件需用到Microsoft.Office.Interop.Excel。

1.EPPlus方式

using System;

using OfficeOpenXml;

class Program

{

static void Main()

{

string filePath = "your_excel_file.xlsx";

using (var package = new ExcelPackage(new System.IO.FileInfo(filePath)))

{

var worksheet = package.Workbook.Worksheets[0]; // 选择第一个工作表

// 设置 A1 的值

worksheet.Cells["A1"].Value = 5;

// 计算整个工作表中的公式

worksheet.Calculate();

// 获取 A2 的值

double result = worksheet.Cells["A2"].GetValue<double>();

Console.WriteLine("Input Value (A1): " + worksheet.Cells["A1"].Value);

Console.WriteLine("Calculated Result (A2): " + result);

}

}

}

2.Excel方式

using System;

using Microsoft.Office.Interop.Excel;

class Program

{

static void Main()

{

string filePath = "your_excel_file.xlsm";

// 创建一个 Excel 应用程序对象

Application excelApp = new Application();

// 打开工作簿

Workbook workbook = excelApp.Workbooks.Open(filePath);

// 获取第一个工作表

Worksheet worksheet = workbook.Sheets[1];

// 设置 A1 的值

Range rangeA1 = worksheet.Cells["A1"];

rangeA1.Value = 5;

// 计算整个工作表中的公式

workbook.Calculate();

// 获取 A2 的值

Range rangeA2 = worksheet.Cells["A2"];

double result = (double)rangeA2.Value;

Console.WriteLine("Input Value (A1): " + rangeA1.Value);

Console.WriteLine("Calculated Result (A2): " + result);

// 关闭工作簿和 Excel 应用程序

workbook.Close(false);

excelApp.Quit();

}

}

相关推荐
Boilermaker199244 分钟前
[Java 并发编程] Synchronized 锁升级
java·开发语言
MM_MS1 小时前
Halcon变量控制类型、数据类型转换、字符串格式化、元组操作
开发语言·人工智能·深度学习·算法·目标检测·计算机视觉·视觉检测
それども1 小时前
Apache POI XSSFWorkbook 和 SXSSFWorkbook 的区别
apache·excel
玩泥巴的1 小时前
飞书 .NET SDK 事件处理的幂等性与去重机制
c#·.net·二次开发·飞书
꧁Q༒ོγ꧂1 小时前
LaTeX 语法入门指南
开发语言·latex
njsgcs2 小时前
ue python二次开发启动教程+ 导入fbx到指定文件夹
开发语言·python·unreal engine·ue
alonewolf_992 小时前
JDK17新特性全面解析:从语法革新到模块化革命
java·开发语言·jvm·jdk
在路上看风景2 小时前
3.2 FileStream
c#
zwm2698888152 小时前
6号楼 部分声光24v电压达不到,显示11v
c#
古城小栈2 小时前
Rust 迭代器产出的引用层数——分水岭
开发语言·rust