将excel行和转换为变量而不是单元格

本文关键字:单元格 变量 excel 转换 | 更新日期: 2023-09-27 18:07:14

我试图从excel文档检索一行的总和。在谷歌上搜索时,所有的解决方案都涉及将类似=SUM(1:1)的公式写入单元格,然后将结果写入变量。

因为我不想编辑excel文件,我想知道是否有可能在没有进站的情况下直接将行范围的总和检索到变量中?

提前感谢!

将excel行和转换为变量而不是单元格

这将保存两个单元格值的和到"myVariable"

    Dim myWB As Workbook
    Set myWB = ActiveWorkbook
    Set ws = myWB.Sheets(1)
    Dim myVariable As Variant
    myVariable = ws.Cells(1,1).Value + ws.Cells(2,1).Value

如果您使用的是xlsx文件,您可以使用这个很酷的库:

https://closedxml.codeplex.com/documentation

它使用DocumentFormat.OpenXml,你可以用这个命令安装closedXml和依赖项:

Install-Package ClosedXML 

对第一行进行求和的示例:

        //open the excel file
        var wb = new XLWorkbook("excel File path");
        //get the first worksheel
        var ws = wb.Worksheet(0);
        var lineNumber = 0;
        var startColumn = 0;
        var endColumn = 10;
        var cells = ws.Range(lineNumber, startColumn, lineNumber, endColumn).Cells().ToList();
        var sum = cells.Sum(xlCell => (int) xlCell.Value);