Skip to content

模板导出中行内公式无法正确计算 #842

@LambertW

Description

@LambertW

Excel Type

  • XLSX
  • XLSM
  • CSV
  • OTHER

Upload Excel File

Please attach your issue file by dragging or droppng, selecting or pasting them.
ErrorsCheck.zip

MiniExcel Version

1.41.3

Description

我有一个在行内计算公式的场景(=C+D+E),公式最前面使用$保存
实际在数据生成的时候,$符号仍在存在,无法按照公式进行计算

模板
Image

导出效果(汇总1,汇总2实现效果是一样的,只是尝试用Sum、直接相加两种场景分别验证。

Image

代码(比较简单,我直接贴出来。附件文件为linqpad直接可运行的版本)

void Main()
{
	string projectFolder = @"D:\Projects\";
	
	var list = new List<Breakdown>();
	list.Add(new Breakdown { CompanyName = "A", AccountName = "A1", TotalAmount1 = 3000, TotalAmount2 = 4000, TotalAmount3 = 5000 });
	list.Add(new Breakdown { CompanyName = "A", AccountName = "A1", TotalAmount1 = 3000, TotalAmount2 = 4000, TotalAmount3 = 5000 });
	var openXmlConfiguration = new OpenXmlConfiguration();
	var value = new
	{
		data = list,
	};
	MiniExcel.SaveAsByTemplate($"{projectFolder}\\ErrorsCheck\\输出文件.xlsx", templatePath: $"{projectFolder}\\ErrorsCheck\\模板_应收账款A.xlsx", value, configuration: openXmlConfiguration);
}

// You can define other methods, fields, classes and namespaces here
public class Breakdown
{
	[ExcelColumn(Name = "主体")]
	public string CompanyName { get; set; }

	[ExcelColumn(Name = "明细")]
	public string AccountName { get; set; }

	[ExcelColumn(Name = "账面数1")]
	public decimal? TotalAmount1 { get; set; }

	[ExcelColumn(Name = "账面数2")]
	public decimal? TotalAmount2 { get; set; }

	[ExcelColumn( Name = "账面数3")]
	public decimal? TotalAmount3 { get; set; }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions