问题标签 [csvhelper]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net-mvc-3 - 使用带有 C# MVC 的 csvhelper (nuGET) 导入 CSV 文件
通过 NuGet 获得的https://joshclose.github.io/CsvHelper/用于读取和写入 CSV 文件。
CsvHelper 允许您将 CSV 文件直接读取到您的自定义类中。
如上一个问题所示
CsvReader 将根据标题行自动计算出如何匹配属性名称(这是可配置的)。它使用编译的表达式树而不是反射,因此速度非常快。
它也是非常可扩展和可配置的。
我基本上是在尝试研究如何读取带有标题(未知名称)的 CSV 文件并将记录读入自定义对象。
根本没有这方面的文档,所以想知道是否有人知道如何使用 CsvReader 将值按顺序放入字符串数组中,或者您建议如何处理这个问题?
c# - 在 C# 中,如何从字符串创建 TextReader 对象(不写入磁盘)
我正在使用A Fast CSV Reader将一些粘贴的文本解析到网页中。快速 CSV 阅读器需要一个 TextReader 对象,而我只有一个字符串。将字符串即时转换为 TextReader 对象的最佳方法是什么?
谢谢!
更新-示例代码-在原始示例中,一个新的 StreamReader 正在寻找一个名为“data.csv”的文件。我希望通过 TextBox_StartData.Text 提供它。
使用下面的代码无法编译。
new StreamReader(sr)
告诉我它有一些无效的论点。有任何想法吗?
作为另一种方法,我试过这个:
但我得到了Illegal characters in path Error.
一个来自 TextBox_StartData.Text 的字符串示例:
如果这是正确的方法,有什么想法吗?再次感谢您的帮助!
c# - 在文件上传时使用 CSVHelper
我正在尝试使用 CSVhelper 插件来读取上传的 CSV 文件。这是我的modelBinder类:
这些是我试图映射到的对象:
在 Visual Studio 调试器中,我收到一个错误:
base {"You must call read on the reader before accessing its data."} CsvHelper.CsvHelperException {CsvHelper.CsvReaderException}
c# - 使用 CsvHelper 可以将空白转换为可为空的吗?
我有一些非常蹩脚的 Csv 文件需要解析。我正在使用 CsvHelper,它工作得很棒。除了我有一些有空格的行,通常我有一个双倍。
文件:
文本,SomeDouble,MoreText
“好”,1.23,“好”
“坏”、“坏”
如果我尝试将其映射到
然后我收到这样的错误:
CsvHelper.CsvReaderException:尝试读取类型的记录时发生错误
行:'2'(基于 1)
字段索引:'1'(从 0 开始)
字段名称:“SomeDouble”
字段值:“”
System.Exception:不是 Double 的有效值。---> System.FormatException:输入字符串的格式不正确。
在 System.Number.ParseDouble(String value, NumberStyles options, NumberFormatInfo numfmt) 在 System.ComponentModel.DoubleConverter.FromString(String value, NumberFormatInfo formatInfo) 在 System.ComponentModel.BaseNumberConverter.ConvertFrom(ITypeDescriptorContext context, CultureInfo 文化, Object value) - -- 内部异常堆栈跟踪结束 --- 在 System.ComponentModel.BaseNumberConverter.ConvertFrom(ITypeDescriptorContext context, CultureInfoculture, Object value) 在 System.ComponentModel.NullableConverter.ConvertFrom(ITypeDescriptorContext context, CultureInfoculture, Object value) 在 lambda_method( CsvHelper.CsvReader.d__0`1.MoveNext() 处的闭包、ICsvReader
正如我所看到的,我的选择是创建一个自定义解析器,或者将我的值映射到一个字符串属性并在那里进行解析。
还有其他选择吗?
如果我可以配置我想将空白视为空,那就太好了。
根据要求,这是一个重现问题的代码示例
谢谢。
c# - CsvHelper 没有向内存流写入任何内容
我有以下方法:
使用对象列表调用它 - 最终来自数据库,但由于某些东西不起作用,我只是填充一个静态集合。传递的对象如下:
我想要做的是将集合写入 csv 以在 MVC 应用程序中下载。不过,每次我尝试写入该方法时,MemoryStream 都会以零长度返回,并且没有任何内容传递给它。我以前用过这个,但由于某种原因它不起作用——我有点困惑。谁能指出我在这里做错了什么?
干杯
c# - CsvHelper 不公开 WriteRecords
我刚刚通过 Nuget 将 CsvHelper 添加到我的项目中。在这里查看 CsvHelper wiki 页面:https ://github.com/JoshClose/CsvHelper/wiki/Basics ,它说 CsvHelper 公开了 WriteRecords 方法。
它去哪儿了?我在程序集中找不到它。
c# - 如何使用 CsvHelper 仅将选定的类字段写入 CSV?
我用来CsvHelper
读写 CSV 文件,它很棒,但我不明白如何只编写选定的类型字段。
假设我们有:
我们想CsvField
从我们目前通过以下方式生成的结果 CSV 文件中排除“数量”:
我可以使用什么来从 CSV 中动态排除类型字段?
如果有必要,我们可以处理生成的文件,但我不知道如何删除整个 CSV 列CsvHelper
。
c# - 有什么方法可以使用 CsvHelper 更改标题行属性?
我正在使用 CsvHelper 编写一个将一堆数据输出到 CSV 文件的程序。标题行是一行大约 35 列。这是这里的一些代码......
我只是想知道我是否可以,可以这么说,改变列宽或改变单元格的背景颜色或做任何事情。我已经在网上搜索了一段时间,但没有提出任何建议。任何帮助将不胜感激。
c# - CsvHelper - 将多列读入单个列表
我正在使用CSVHelper读取大量数据
我想知道是否可以读取最后一n
列并将它们转换为列表
并将数据塑造成这样的东西
我希望一步完成,我敢肯定我可以有一个中间步骤,在其中我放入一个具有匹配属性属性的对象,但最好在一个单一的
c# - CsvReader 映射和转换:无强制运算符
首先,感谢您的宝贵时间。我第一次尝试使用 CsvHelper 以及自定义类和自定义地图。我收到“在类型 'System.Int32' 和 'System.String' 之间没有定义任何 cercion 运算符”
这是我的课程:
这是我正在阅读文件的地方:
理想情况下,我希望 HOLD、TAX99TYPE 和 TAX99BOXNUMBER 属性类型为“短”。但是,我收到错误“无法执行转换”。
这是我的测试 CSV 的一部分: