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

}

}

相关推荐
独自破碎E1 天前
解释一下NIO、BIO、AIO
java·开发语言·nio
草莓熊Lotso1 天前
脉脉独家【AI创作者xAMA】|当豆包手机遭遇“全网封杀”:AI学会操作手机,我们的饭碗还保得住吗?
运维·开发语言·人工智能·智能手机·脉脉
@areok@1 天前
C++opencv图片(mat)传入C#bitmap图片
开发语言·c++·opencv
爱吃西红柿鸡蛋面1 天前
JsonHelper使用
c#
散峰而望1 天前
【Coze - AI Agent 开发平台】-- 你真的了解 Coze 吗
开发语言·人工智能·python·aigc·ai编程·ai写作
国强_dev1 天前
在 Java 开发及其生态圈中“声东击西”的误导性错误
java·开发语言
半夏知半秋1 天前
rust学习-闭包
开发语言·笔记·后端·学习·rust
yangSnowy1 天前
用python抓取网页数据的基础方法
开发语言·python
故事不长丨1 天前
C#线程编程全解析:从基础应用到高级实践
c#·线程·多线程·thread·线程同步·异步编程·线程锁
zfj3211 天前
从源码层面解析一下ThreadLocal的工作原理
java·开发语言·threadlocal