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();
? ? }
}
?
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!