EPPlus 表@列参考

Posted

技术标签:

【中文标题】EPPlus 表@列参考【英文标题】:EPPlus Table @ Column reference 【发布时间】:2020-05-07 00:58:36 【问题描述】:

我正在尝试使用 EPPlus 在工作表上创建表格。我可以创建表格,但我所有的@变量都变成了#Ref!打开文件时。如果我将完全相同的公式粘贴到 Excel 中,它会使用它并且没有问题。我在这里想念什么?创建表格后是否需要以某种方式应用表格? 谢谢, 李

private void ProcessVehicleData(BorrowingBase bbData, ExcelWorksheet ew, int colStart, int rowStart) 
    int origFirstRow = rowStart;
    foreach (DailyCAPS data in bbData.DailyCAPS) 
        FillRow(ew, data, colStart, rowStart);
        ++rowStart;
    

    try 
        ExcelAddressBase eab = new ExcelAddressBase(origFirstRow - 1, ExcelColumnNameToNumber("A"), rowStart - 1, ExcelColumnNameToNumber("Y"));
        ExcelTable et = ew.Tables.Add(eab, "VehicleData");

        if (origFirstRow != rowStart) 
            ew.Cells[origFirstRow, ExcelColumnNameToNumber("Y")].Formula = "=IF([@Inventory Days]>210,\"H\",IF([@TitleApp]+[@UtahTitleReceived]=0,\"B\",\"\"))";
        
    
    catch  

【问题讨论】:

【参考方案1】:

不,epplus 做不到。 因为epplusTables.Add只有pure data fill不是workbook query,所以=[@XXX]是行不通的。

【讨论】:

@Lee epplus 不支持它,或者您可以在 github 上发布问题...所以除非您更改 lib 或 vba 之类的工具,否则无法解决此问题。但这是另一个问题。 于是我在github上看了一下(感谢推荐),发现如下文章:github.com/JanKallman/EPPlus/issues/521 显然使用表标题和列名,您确实可以使用引用。即,Table[ColumnName] 从 epplus 到 Excel 工作正常【参考方案2】:

请参阅 cmets 以获得答案...github.com/JanKallman/EPPlus/issues/521

【讨论】:

以上是关于EPPlus 表@列参考的主要内容,如果未能解决你的问题,请参考以下文章

使用 EPPlus 时如何设置列类型

如何在C#中使用EPPlus设置xlsx单元格宽度

如何在 EPPlus 中过滤列(而不是行)?

csharp EPPlus工作表格式(使用http://epplus.codeplex.com/)

如何在 epplus 中使用 c# 为 excel 中的整个列着色?

使用 EP Plus 允许在工作表上使用前导零