gpt4 book ai didi

c# - 来自 CSV 文件的 Linq-To-Excel,缺少小数点分隔符

转载 作者:太空宇宙 更新时间:2023-11-03 17:00:59 24 4
gpt4 key购买 nike

我正在使用 Linq-To-Excel 包来读取 CSV 文件。我创建了一个类来保存结果:

public class ReconciliationLineLinqToExcel
{
public string OperatingUnit { get; set; }
public Int64 CustomerTenantId { get; set; }
public string CustomerName { get; set; }
public string SyndicationPartnerSubscriptionNumber { get; set; }
public string DurableOfferId { get; set; }
public DateTime SubscriptionStartDate { get; set; }
public DateTime SubscriptionEndDate { get; set; }
public DateTime ChargeStartDate { get; set; }
public DateTime ChargeEndDate { get; set; }
public string ChargeType { get; set; }
public decimal UnitPrice { get; set; }
public int Quantity { get; set; }
public decimal Amount { get; set; }
public decimal TotalOtherDiscount { get; set; }
public decimal Subtotal { get; set; }
public decimal Tax { get; set; }
public decimal TotalForCustomer { get; set; }
public string Currency { get; set; }
}

每个属性都是 CSV 文件中的一列。

CSV 的标题行:

OperatingUnit,CustomerTenantId,CustomerName,MpnId,OrderId,SubscriptionId,SyndicationPartnerSubscriptionNumber,OfferId,DurableOfferId,OfferName,SubscriptionStartDate,SubscriptionEndDate,ChargeStartDate,ChargeEndDate,ChargeType,UnitPrice,Quantity,Amount,TotalOtherDiscount,Subtotal,Tax,TotalForCustomer,Currency

这是 CSV 文件中的示例行作为输入:(我已经审查了一些数据)

e588f1c2-69f1-4b78-3c4d-9b844d03c18e,"1338338173","COMPANY NAME",1382187,"567172081122654669","p3rITwAAAABBAAIA","68752F49-D9CA-4870-8955-3EEB26E37068","B0D93AE5-400E-4CBC-A465-D12B9FFA75AB","031C9E47-4845-4248-838E-778FB1D2CC05","OFFICE 365 BUSINESS PREMIUM",11/04/2015 00:00:00,11/23/2016 00:00:00,11/23/2015 00:00:00,12/22/2015 00:00:00,"CYCLE FEE",8.44,8,67.52,0,67.52,0,67.52,"EUR"

使用此代码我打开 CSV 文件并读取行:

var csv = new ExcelQueryFactory(filename);
var data = csv.Worksheet<ReconciliationLineLinqToExcel>(0);

当我迭代数据变量并查找这一行时,所有小数值都缺少小数点分隔符。例如属性“Amount”的值为 6752,而不是 67.52

这适用于每一行中的所有十进制值。我认为在将其解析为小数时可能与某些文化问题有关,因此我尝试将属性的类型更改为字符串。但后来我得到了“6752”的值,所以运气不好。

有没有人知道我在这里遗漏了什么,或者这是一些错误?

最佳答案

文档中的第一件事是 OperatingUnit。您已将其定义为字符串,但您的 CSV 文件中没有引号。第二个是 Int64,正如您所定义的,但您在它周围加上了引号。

确保您的数据类型实际匹配,否则您肯定会得到意想不到的结果。

关于c# - 来自 CSV 文件的 Linq-To-Excel,缺少小数点分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33946772/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com