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

本文介绍了如何在C#中通过EPPlus和Microsoft.Office.Interop.Excel库读取Excel文件(包括.xlsm宏文件),设置公式值,计算并获取结果,以示例代码展示两种方法的应用。
摘要由CSDN通过智能技术生成

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值