問題タブ [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 ファイルになるように csv ファイルをマップしようとしていましたDictionary<string,object>
。
を受け取っています
ArgumentException "メンバー アクセスではありません。"
これをしようとすると。以下に含まれるコード:
csvhelper - CsvHelper では、変換エラーをキャッチして、どのフィールドとどの行で発生したかを知る方法は?
私はクラスをCsvReader
正常に使用して満足していますが、私が使用するファイルは、私に知らせずに列のフォーマットを変更するグループによって作成されています。
したがって、ある瞬間、すべてが機能し、翌朝、物事が中断し、try catch ブロックcsv.GetRecord<MyType>()
がエラーをキャッチしてエラーをログに記録しますが、Exception インスタンスから貴重な情報を収集することはできません。「変換を実行できません」とだけ表示されます。にInnerException
は何もありません。あまり役に立ちません。150 個の列のどれが問題を引き起こしているのかさえわかりません。
どの行のどの列が問題を引き起こしているかを特定する方法を教えてください。
ありがとう
c# - 出力を変更しない CsvHelper ConvertUsing
CsvHelperライブラリ (v 2.4.0)のConvertUsing
メソッドを使用しようとしています。
ConvertUsingに関するドキュメントを読みましたが、機能しません。
私は単純なクラスを使用しています:
これでClassMap
:
これらを使用する私のコードは、クラスのインスタンスを作成し、それを CSV に書き込みます。
ただし、出力ファイルtest.csv
は常に次の形式になります。
私が探している出力は次のとおりです。
そして、ConvertUsing
は無視されています。Id
のみ、および のみを変換しようとしましたTitle
が、これも機能しません。
私が間違っているアイデアはありますか?
c# - MVC アクションで CSV ファイルを返すことができません。クローズド Streamable にアクセスできない
ASP.NET MVC アクションで、ユーザー情報を含む CSV ファイルを返そうとしています:
そして、私は次のマッパーを持っています:
私の CSV ライターは空に見え、ストリームを返すと次のエラーが表示されます。
そして、私はエラーページを取得します:
更新: スタック トレースの追加
閉じたストリームにアクセスできません。説明: 現在の Web 要求の実行中に未処理の例外が発生しました。エラーの詳細とコード内のどこでエラーが発生したかについては、スタック トレースを確認してください。
例外の詳細: System.ObjectDisposedException: 閉じられたストリームにアクセスできません。
ソース エラー:
現在の Web 要求の実行中に未処理の例外が生成されました。例外の発生元と場所に関する情報は、以下の例外スタック トレースを使用して特定できます。
スタックトレース:
[ObjectDisposedException: 閉じたストリームにアクセスできません。] System.IO._ Error.StreamIsClosed() +57 System.IO.MemoryStream.Read(Byte[] buffer, Int32 offset, Int32 count) +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、Object タグ) +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 タグ) +59 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult、Object タグ) +40 System.Web .Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +44 System.Web.Mvc.Controller.b_ 15(IAsyncResult asyncResult、コントローラーコントローラー) +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 タグ) +59 System.Web.Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult、Object タグ) +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 タグ) +59 System.Web. Mvc.Async.AsyncResultWrapper.End(IAsyncResult asyncResult、Object タグ) +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.CsvWriter.WriteRecords(System.Collections.Generic.IEnumerable)' は廃止されました
私はCSVHelperを使用して次のコードを持っています:
そして、次のような警告が表示されます。
しかし、これは私がやっていることではありませんIList
か?
この警告を削除するにはどうすればよいですか?
ありがとう、ミゲル
c# - ブール値を変換しない CSV ヘルパーの問題
私はCSV Helperを使い始めています - あなたの毎日の仕事のための優れた小さなヘルパーです - 素晴らしいものです!
私が今苦労している項目の 1 つは、クラス マップです。小さなクラスがあります。
IsValid
CSV にエクスポートするために、値true
をyes
,False
に置き換えたいと思いno
ます。そのために、クラス マップを作成しました。
データをエクスポートするときは、そのクラス マップを使用しています。
残念ながら、書かれた内容を調べてみると、True
or False
- 期待どおりのyes
orではないことがわかりますno
.....
ここで何が欠けていますか?NuGet からインストールされた CSV-Helper v2.5 と .NET 4.0 / Visual Studio 2010 を使用しています。