Skip to content

导入数据的时候,await _importer.Import<T>(stream);读取到的数值与Excel中肉眼可见的值不同 #609

@feelhum

Description

@feelhum

testimport.xlsx

在做导入数据的时候,由于Excel内部采用IEEE 754双精度浮点数标准存储数值,程序读取到的值可能跟用户导入的Excel里面的肉眼看见的值不同(特别是用户输入的值是从网页等地方复制过来的,非人工输入的时候)。比如:

代码解析Excel读取到的值

Image Image

Dto:
public class ImportSkuUpdateForNewSupplierDto
{
[Required(ErrorMessage = "Sku不能为空")]
[ImporterHeader(Name = "Sku")]
public string Code { get; set; }

[ImporterHeader(Name = "Sku中文名称")]
public string CNName { get; set; }

[ImporterHeader(Name = "产品状态")]
public string Status { get; set; }

[ImporterHeader(Name = "套内个数")]
public decimal? Suite { get; set; }

[ImporterHeader(Name = "长(cm)")]
public decimal? LongX { get; set; }

[ImporterHeader(Name = "宽(cm)")]
public decimal? LongY { get; set; }

[ImporterHeader(Name = "高(cm)")]
public decimal? LongZ { get; set; }

[ImporterHeader(Name = "净重(Kg)")]
public decimal? NetWeight { get; set; }

[ImporterHeader(Name = "毛重(Kg)")]
public decimal? GrossWeight { get; set; }

[ImporterHeader(Name = "外箱长(cm)")]
public decimal? CtnLongX { get; set; }

[ImporterHeader(Name = "外箱宽(cm)")]
public decimal? CtnLongY { get; set; }

[ImporterHeader(Name = "外箱高(cm)")]
public decimal? CtnLongZ { get; set; }

[ImporterHeader(Name = "外箱体积",IsInterValidation =true)]
[RegularExpression(@"^\d+(\.\d{1,6})?$", ErrorMessage = "外箱体积最多6位小数")]
public decimal? CtnVolume { get; set; }

[ImporterHeader(Name = "每箱装量")]
public decimal? CtnQuantity { get; set; }

[ImporterHeader(Name = "每箱净重(Kg)")]
public decimal? CtnNetWeight { get; set; }

[ImporterHeader(Name = "每箱毛重(Kg)")]
public decimal? CtnGrossWeight { get; set; }

[ImporterHeader(Name = "供应商编码")]
public string SupplierCode { get; set; }

[ImporterHeader(Name = "商品链接")]
public string Link { get; set; }

[ImporterHeader(Name = "单价")]
public decimal? Price { get; set; }

}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions