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

}

}

相关推荐
c#上位机21 分钟前
wpf之ToggleButton控件
c#·wpf
235161 小时前
【并发编程】详解volatile
java·开发语言·jvm·分布式·后端·并发编程·原理
Algebraaaaa2 小时前
Qt中的字符串宏 | 编译期检查和运行期检查 | Qt信号与槽connect写法
开发语言·c++·qt
Red Car2 小时前
javascript 性能优化实例一则
开发语言·javascript·ecmascript
友友马2 小时前
『 QT 』Hello World控件实现指南
开发语言·qt
叶九灵不灵2 小时前
csv & excel
excel
一只学java的小汉堡2 小时前
Java 面试高频题:HashMap 与 ConcurrentHashMap 深度解析(含 JDK1.8 优化与线程安全原理)
java·开发语言·面试
huohaiyu3 小时前
Hashtable,HashMap,ConcurrentHashMap之间的区别
java·开发语言·多线程·哈希
Predestination王瀞潞7 小时前
IO操作(Num22)
开发语言·c++
宋恩淇要努力8 小时前
C++继承
开发语言·c++