问题标签 [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.
c# - 映射到字典
我试图映射一个 csv 文件,以便每条记录都只是一个Dictionary<string,object>
.
我收到一个
ArgumentException "不是成员访问;"
当我尝试这样做时。代码如下:
csvhelper - 在 CsvHelper 中如何捕获转换错误并知道它发生在哪个字段和哪一行?
我CsvReader
成功地使用了该课程并且对此感到满意,但是,我使用的文件是由一个更改列格式而不让我知道的组生成的。
因此,有一刻一切正常,然后第二天早上事情就中断了,try catch 块csv.GetRecord<MyType>()
捕获错误并记录错误,但是我无法从 Exception 实例中收集任何有价值的信息。它只是说:“无法执行转换。” 而且InnerException
什么都没有。不是很有用。我什至不知道我的 150 列中的哪一列导致了问题。
您能帮我弄清楚如何查明哪一行中的哪一列导致了问题吗?
谢谢
c# - CSV 文件中不存在字段“workOrder”
我有一个包含多行的 CSV 文件,每行在标题为“WONo”的列下都有一个工作订单号。
这就是我正在做的事情:我创建了一个名为 Job 的类,它只有一个字段。
然后我创建了一个 JobMap 类
最后,这是我的主要代码
无论出于何种原因,我都会收到一条错误消息
CSV 文件中不存在字段“workOrder”。
我在这里做错了什么?
c# - CsvHelper ConvertUsing 不改变输出
我正在尝试使用CsvHelper库(v 2.4.0)的ConvertUsing
方法。
我已阅读有关ConvertUsing的文档,但无法使其正常工作。
我正在使用一个简单的类:
有了这个ClassMap
:
我使用这些的代码创建了一个类的实例,然后将其写入 CSV:
但是,输出文件test.csv
始终为以下格式:
我正在寻找的输出是:
并且ConvertUsing
被忽略了。我尝试只转换Id
,并且只转换Title
,但这也不起作用。
有什么想法我哪里出错了吗?
c# - 将数据从 Controller 导出到 CSV
我在 ASP.NET MVC 项目中使用CsvHelper库将数据导出到 CSV,并且发现导出的数据要么被截断,要么在较小列表的情况下,根本没有写入数据,我'我收到一个空白的 CSV 文件。
我的基本控制器有一个这样的方法(由从此类继承的控制器调用以导出实体列表):
随着列表 1k+ 项的导出,最后几项似乎被切断了。当项目列表小于 ~100 时,返回的 CSV 文件为空白且不包含数据。
我尝试直接写入输出流而不是 MemoryStream,并收到相同的结果。
还尝试删除 using 语句,以防流被过早处理,但也没有导致任何更改。
使用此库正确创建 CSV 文件的正确方法是什么(即包含所有行,并且无论列表大小如何都有效)?
编辑
决定使用CsvHelper报废并改用另一个名为CsvTools的库。这工作没有任何问题。我的代码如下供参考。
附带说明一下,尝试了 Simon 在下面直接使用内存流而不是调用的建议,ToArray
但收到有关流被关闭的错误,并且还没有开始调试它。
c# - 无法在 MVC 操作中返回 CSV 文件。Not 无法访问已关闭的 Streamable
在 ASP.NET MVC 操作中,我试图返回包含用户信息的 CSV 文件:
我有以下映射器:
我的 CSV 编写器似乎是空的,当我返回 Stream 时出现错误:
我得到错误页面:
更新:添加堆栈跟踪
无法访问已关闭的 Stream。说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.ObjectDisposedException:无法访问已关闭的流。
源错误:
在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。
堆栈跟踪:
[ObjectDisposedException:无法访问已关闭的流。] System.IO._ Error.StreamIsClosed() +57 System.IO.MemoryStream.Read(Byte[] 缓冲区,Int32 偏移量,Int32 计数) +10909062 System.Web.Mvc.FileStreamResult .WriteFile(HttpResponseBase 响应) +157 System.Web.Mvc.FileResult.ExecuteResult(ControllerContext 上下文) +296 System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult) +39 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive (IList 1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) +116
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList
1 过滤器,Int32 filterIndex,ResultExecutingContext preContext,ControllerContext controllerContext,ActionResult actionResult)+529 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) +529
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList
1 个过滤器,ActionResult actionResult) +106 System.Web.Mvc.Async.<>c _DisplayClass2b.b_1c () +321 System.Web.Mvc.Async.<>c _DisplayClass21.b_1e (IAsyncResult asyncResult) +185 System. Web.Mvc.Async.WrappedAsyncResult 1.CallEndDelegate(IAsyncResult asyncResult) +42
System.Web.Mvc.Async.WrappedAsyncResultBase
1.End() +133 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, 对象标记) +56 System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) + 40 System.Web.Mvc.Controller.b _1d(IAsyncResult asyncResult, ExecuteCoreState innerState) +34 System.Web.Mvc.Async.WrappedAsyncVoid1.CallEndDelegate(IAsyncResult asyncResult) +70
System.Web.Mvc.Async.WrappedAsyncResultBase
1.End() +139 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +59 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +40 System.Web .Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +44 System.Web.Mvc.Controller.b_ 15(IAsyncResult asyncResult, Controller controller) +39 System.Web.Mvc.Async.WrappedAsyncVoid 1.CallEndDelegate(IAsyncResult asyncResult) +62
System.Web.Mvc.Async.WrappedAsyncResultBase
1.End() +139 System.Web .Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +59 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +40 System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +39 System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult) +39 System.Web.Mvc.MvcHandler.b_5(IAsyncResult asyncResult, ProcessRequestState innerState) +39 System.Web.Mvc.Async.WrappedAsyncVoid 1.CallEndDelegate(IAsyncResult asyncResult) +70
System.Web.Mvc.Async.WrappedAsyncResultBase
1.End() +139 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +59 System.Web. Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult, Object tag) +40 System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +40 System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult 结果) +38 System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +9514928 System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155
谢谢你,米格尔
c# - 使用 CSVHelper 映射空列
我正在使用 CSVHelper 并且我有以下 MAP:
我想在我的 CSV 上有更多的 2 列:
这可能吗?
谢谢你
c# - 使用 csvhelper 进行映射/写入辅助
请在 csvhelper 上快速帮助...
csv:姓名,姓氏
人物地图:
人物类:
主要的:
错误行:记录 = reader.GetRecords().ToList();
错误:未找到标头记录。
c# - CSV-Helper 无法转换布尔值的问题
我开始使用CSV Helper - 一个出色的日常工作小帮手 - 很棒的东西!
我现在正在苦苦挣扎的一个项目是班级地图——我有一个小班级
对于导出到 CSV,我想用,替换IsValid
值;为此,我创建了一个类映射:true
yes
False
no
现在在导出我的数据时,我正在使用该类映射:
不幸的是,当我检查所写的内容时,我发现我仍然得到True
或False
- 不是我所希望的yes
那样no
......
我在这里想念什么?我正在使用从 NuGet 和 .NET 4.0 / Visual Studio 2010 安装的 CSV-Helper v2.5。