- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在查看 filehelpers 文档,但似乎没有任何内容可以处理列中的空值。我需要能够在所有列上设置“非空”字符串属性。
谁能指出我正确的方向?
最佳答案
您可以在 AfterReadRecord
事件中执行任何您想要的验证。如果您希望在出现错误时继续处理文件的其余部分,您还需要将 ErrorMode
设置为 SaveAndContinue
。请参阅下面的工作示例。
[DelimitedRecord("|")]
public class MyClass
{
public string Field1;
public string Field2;
public string Field3;
}
class Program
{
static void Main(string[] args)
{
var engine = new FileHelperEngine<MyClass>();
engine.AfterReadRecord += new FileHelpers.Events.AfterReadHandler<MyClass>(engine_AfterReadRecord);
engine.ErrorMode = ErrorMode.SaveAndContinue;
// import a record with an invalid Email
MyClass[] validRecords = engine.ReadString("Hello||World");
ErrorInfo[] errors = engine.ErrorManager.Errors;
Assert.AreEqual(1, engine.TotalRecords); // 1 record was processed
Assert.AreEqual(0, validRecords.Length); // 0 records were valid
Assert.AreEqual(1, engine.ErrorManager.ErrorCount); // 1 error was found
Assert.That(errors[0].ExceptionInfo.Message == "Field2 is invalid");
}
static void engine_AfterReadRecord(EngineBase engine, FileHelpers.Events.AfterReadEventArgs<MyClass> e)
{
if (String.IsNullOrWhiteSpace(e.Record.Field1))
throw new Exception("Field1 is invalid");
if (String.IsNullOrWhiteSpace(e.Record.Field2))
throw new Exception("Field2 is invalid");
if (String.IsNullOrWhiteSpace(e.Record.Field3))
throw new Exception("Field3 is invalid");
}
}
关于c# - 如何使用必需的非空列设置 filehelpers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10206514/
我正在使用 Filehelpers 读取一个简单的 CSV 文件 - 该文件只是一个键值对。 (字符串, int64) 我为此编写的 f# 类型是: type MapVal (key:string,
这是我确定非常容易的事情之一,但我似乎无法解决! 使用 FileHelpers,如何确保导出中的每个字段都包含双引号?我猜有一个属性我可以放在每个字段上,我想在它周围加上双引号,但我看不到它在哪里。
这是我要读取的数据: "Adam C. Emality","1Z620Y1V034826","14.40" "Ethel Baeron","1Z620Y1V034604","15.19" "Donna
我一直在查看 filehelpers 文档,但似乎没有任何内容可以处理列中的空值。我需要能够在所有列上设置“非空”字符串属性。 谁能指出我正确的方向? 最佳答案 您可以在 AfterReadRecor
我有一个 csv 文件,我正在使用 FileHelpers 进行解析,并且我遇到了引号和逗号都可以出现在字段中的情况: 逗号: 323,"PC","28/02/2014","UNI001","5000
我最近的项目要求我读取 csv 文件。人们将我引向 filehelpers,因为“你不应该重新发明轮子”。但是,文档真的很烂,我似乎找不到处理可选引号的方法。这是我的 csv: 2734000585,
我想知道当它从一个文件中读取一个流时,你能告诉它只取 x 行吗?假设你想要文件中的 100 行,你可以告诉它只取前 100 行(忽略第一行,因为它是标题)。即使文件有 200 行? 最佳答案 您可以使
我有一个从网络服务中使用的类,我正尝试使用 FileHelpers 库将其导出到 csv。但是该类有一个 PropertyChangedEventHandler 引擎正在将其读取为一个字段,所以我得到
我用的是强大的FileHelpers Library .但是是否有内置的方法来搜索生成的对象。 var engine = new FileHelperEngine(); var res = engin
下面的代码用于在 ASP .NET MVC2 中使用 FileHelpers 读取固定宽度的上传文件内容文本文件 第一行和最后一行的长度较小,ReadStream 因此导致异常。所有其他行都有适当的固
在这里,我必须使用 FileHelpers 和 C# 写出一个文件,其中的记录是管道分隔的。大部分字段具有可变长度(因此,我的记录将是 [DelimitedRecord("|")] )。但是有些字段必
我正在使用 FileHelpers 库的 2.0 版,该库被记录为能够处理 .NET 2.0 可空类型。 我正在使用文档示例中给出的代码: [DelimitedRecord("|")] publi
我正在使用 FileHelper 2.0 来解析我的 csv 数据。是否有 filehelper 可以正确处理转义分隔符的选项?它可以将字段识别为数据而不是分隔符。 我们的 csv 格式:用\, 转义
我想知道如何在 filehelpers 中执行多个日期?似乎您必须指定要支持的每一种格式(有点糟糕......希望它可以处理更多基本格式)。 [FieldOrder(1), FieldConve
我有一个从另一个系统导出的 CSV 文件,其中的列顺序和定义可能会更改。我发现 FileHelpers 非常适合读取 csv 文件,但除非您在编译应用程序之前知道列的顺序,否则您似乎无法使用它。我想知
使用 FileHelper .Net 库,我可以以某种方式跳过源文件中的一些列吗? 根据文档和示例,我必须为所有列添加字段。唉,我有一个包含 216 列的 Excel 表要导入,其中只需 13 列。
我正在使用 FileHelpers 读取一个大文件图书馆。我想在阅读下面的记录之前更改 RecordLine。 static void engine_BeforeReadRecord(objec
假设我有一个像这样的 Filehelpers 类: [DelimitedRecord(",")] public class SomeRecord { public string Field1;
我正在使用优秀的 FileHelpers 库导入许多 csv 文件,但遇到了问题。我有一个包含这三个示例行的 csv 文件 id,text,number 120,"good line this one
我正在使用 FileHelpers创建固定长度的文件。在我的模型中,我有一个 double 需要以 0000.00 格式输出。无论如何我可以用 FileHelpers 本身指定它,还是我需要将我的模型
我是一名优秀的程序员,十分优秀!