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

            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#,excel,开发语言)