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

}

}

相关推荐
m0_587958954 分钟前
C++中的命令模式变体
开发语言·c++·算法
~无忧花开~16 分钟前
React生命周期全解析
开发语言·前端·javascript·react.js·前端框架·react
剑心诀18 分钟前
02 数据结构(C) | 线性表——顺序表的基本操作
c语言·开发语言·数据结构
人间打气筒(Ada)33 分钟前
如何基于 Go-kit 开发 Web 应用:从接口层到业务层再到数据层
开发语言·后端·golang
2501_9249526936 分钟前
代码生成器优化策略
开发语言·c++·算法
清风徐来QCQ1 小时前
八股文(1)
java·开发语言
lsx2024061 小时前
网站主机技术
开发语言
摇滚侠1 小时前
你是一名 java 程序员,总结定义数组的方式
java·开发语言·python
xyq20241 小时前
Vue3 条件语句详解
开发语言
浩浩kids1 小时前
R•Homework
开发语言·r语言