問題タブ [filehelpers]
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 ファイルがあり (データを制御できません)、何らかの理由ですべてが引用符で囲まれています。
私はファイルヘルパーを使用していますが、これらの引用符をすべて削除する最善の方法は何でしょうか? 「引用符が削除された場合。引用符が見つからない場合は何もしない」というものはありますか?
不要な余分な引用符があるため、これはデータを台無しにし"\"515.00\""
ます(特に、この場合は文字列ではなく10進数にしたいので).
また、「javascript」が何であるか、なぜ生成されたのかはわかりませんが、これは私が制御できないサービスからのものです。
編集 これは私がcsvファイルを消費する方法です。
c# - FileHelpers から値を分析しますか? または、これはプログラムの機能から外れています
ファイルヘルパーを捨てて、自分でこれを行う必要があるかどうか疑問に思っています。設計された範囲を超えている可能性があると思います。
ユーザーが任意の csv ファイル (将来的には Excel ファイル) をアップロードできるようにしたいと考えています。最初の行にはヘッダーがあります
アップロードすると、次のようになります
C1、C2、C3、C4、C5、C6 a、b、c、d、e、f
ここで、ヘッダーを見て、基本的に特定のものを取り上げたいと思います。たとえば、私が欲しいC2, C3, C4.
残りは私が気にしない余分な情報です。
誰かがこのヘッダーを持つファイルをアップロードする可能性があります
繰り返しますが、私は のみを探していC2, C3, C4
ます。
私は複数のフォーマットを持つことができることを知っていますが、私が得ているのは、基本的に、任意の数のヘッダーを持つ任意のファイルをアップロードできるようにしたいということです (私が気にするすべての場合は 1000 になる可能性があります)。気にする(したがって、1000ヘッダーの場合、3つだけが必要な場合があります)
これは可能ですか?
編集
(shamp00のコメントに基づく)
私の目標は、可能な限り多くのデータを入力することですが、このようなケースが発生する可能性があります。C1、C2、C3が欲しい。彼らはC1、C3、C4のファイルを提供します。必要な 2 列のデータを取得しましたが、C2 がありません。
ここで、データを 2 つのテーブルに表示するという 2 つのアイデアがありました。表1にはC1、C2、C3があり、表2にはC1、C3、C4があり、基本的に表2にあるデータを取得し、適切なデータを予想される列に移動します。
このアプローチでは、基本的に「あなたは私が期待したものを 100% 与えてくれませんでした。今では、すべての行を私のフォーマットにフォーマットする必要があります」と言っています。
2 番目のアプローチは、1 つのテーブルで、できるだけ多くのデータを入力しようとします。
たとえば、ユーザーは C1、C3、C4 を含むファイルをアップロードします。それらは既知の 2 つの列であると判断しましたが、予想されるデータの全量はまだ得られていません。
したがって、すべての行を html テーブルに戻し、ヘッダーを付けてユーザーに表示します。
C1 は埋められ、C2 セルは空白 (これは私が欠落しているデータです)、C3 は埋められ、C4 は埋められます (このデータは予想外でしたが、実際にデータである可能性があることは誰にもわかりません)。 C2は保持する必要がありますが、ヘッダー名のスペルが間違っているため、プログラムはそれを理解できませんでした)。
次に、基本的に、C2 に別の場所または C4 から取得したデータを入力するだけです。
今では、期待されるすべての列ではなく、1 つの列に入力するだけで済みます。したがって、ある意味では、 MyClass が C1、C2、C3 であったような具体的なクラスが必要ですが、同時に、保持できるように動的にする必要がありますC4,C5.....Cn
。
私は常にC1、C2、C3を最初に表示し、残りの予期しないものはその後に表示され、javascriptの魔法と不足している情報を編集できるものを介して表示されます。何も欠けていなければ、編集するものは何も表示されません。
shamp00のコメントに基づいて、データをデータテーブルとして返す必要があるかどうか疑問に思っています(幸い、これはシステムクラスのようです。現在、コードはサービスレイヤーにあり、必要に応じてドメイン転送クラスを返していました)自分のコードを Web コード クラスのようなものから独立させておくため、動的クラスの FileHelpers を生成する方法を理解しようとしていたのはなぜか)。
次に、どういうわけか(まだ100%確実ではありませんが)、本当に興味のある3つの列がどこにあるかを追跡するだけで、どのデータが何であるかがわかります。
c# - 動的クラスにキャストする方法は?
filehelpersクラスビルダーを使用しようとしていますが、それをどうするかについて少し混乱しています。
DelimitedClassBuilderは、最初のパラメーターとして「className」、次に「delimiter」を取り込みます。
次に、この「クラス」のfieldNamesとして後で使用するヘッダーを含むストリームの最初の行を調べます。
最後の行は、残りのすべての情報を読み取り、それをオブジェクト配列[]として返します。その中には「temp」クラスのものがあります。
それでも、実際にそれをクラス「temp」にキャストする方法はわかりません。今のところ、データを取得する方法がよくわかりません。私は私がただのようなことをすることができないことを知っています
result [0] .SomeFieldNameは、fieldNameが実行ごとに変わる可能性があるためです。ですから、これはまた、インデックスなどで取得するようなことをしなければならないのに、そもそもなぜクラスになるのか不思議に思います。
ご覧のとおり、私は非常に混乱しています。
c# - 返されたDataTableにFileHelpersに読み取り専用列があるのはなぜですか
filehelpersが読み取り専用の列を返すのはなぜだろうと思います。
私は彼らが値を更新しないという大きな問題を抱えていて、その理由を理解できませんでした。ここで、すべての列を調べて読み取り専用ではないように変更するには、別のループが必要です。
Filehelpersにこれを行わないように指示する方法はありますか?だから私はそれをもう一度やり直すのに時間を無駄にする必要はありませんか?
c# - リフレクションを使用してクラスを構築する (動的な FileHelper クラスを構築するため)
以下に示すように、リフレクションを使用して動的にクラスを構築できますか? メソッドはなく、パブリック変数だけで、カスタム属性を持つものもあります。
.Emit メソッドが必要ですか (私が見たところ、「Emit」は少し難しいように見えます)。
www.FileHelpers.netのソフトウェアを使用していますが、クラスが必要です。すべてのファイル定義はデータベース テーブルにあり、すべてをより動的にしたいと考えています (つまり、ファイルに新しい列が表示されたときにコードを変更しません)。
更新 1: 以下の Vlad の回答に基づいて、DLL を参照する必要がありました。
更新 2: また、Vlad が提案したことを実行した後、これが FileHelper を呼び出して結果をループする方法です。おそらくデータをリストに転送します。
c# - FileHelpers を使用して Excel ファイルにエクスポートする方法
ファイル ヘルパーを使用していますが、データを取得して Excel ファイルにエクスポートする方法がわかりません。
レコードを抽出するためのチュートリアルを見ましたが、Excel ファイルを作成しませんでした。
私はこれをやろうとしました
System.IO.FileNotFoundException がユーザー コードによって処理され
ませんでした。システムは、指定されたファイルを見つけることができません。
ソース = FileHelpers.ExcelStorage ファイル名 = Interop.Excel、バージョン = 1.3.0.0、カルチャ = ニュートラル、PublicKeyToken = 3e0c08d59cc3d657
FusionLog==== バインド前の状態情報 === LOG: User = LOG: DisplayName = Interop.Excel, Version=1.3.0.0, Culture=neutral, PublicKeyToken=3e0c08d59cc3d657 (完全指定) LOG: Appbase = LOG: Initial PrivatePath = アセンブリの呼び出し: FileHelpers.ExcelStorage、バージョン = 2.9.9.0、カルチャ = ニュートラル、PublicKeyToken = 3e0c08d59cc3d657。=== ログ: このバインドは、デフォルトのロード コンテキストで開始されます。ログ: アプリケーション構成ファイルの使用: web.config ログ: ホスト構成ファイルの使用: ログ: machine.config のマシン構成ファイルの使用。ログ: ポリシー後の参照: Interop.Excel、Version=1.3.0.0、Culture=neutral、PublicKeyToken=3e0c08d59cc3d657 ログ: 新しい URL ファイルのダウンロードを試みています: ログ: 新しい URL ファイルのダウンロードを試みています: Interop.Excel.DLL。ログ: 新しい URL ファイルのダウンロードを試みています: Interop.Excel.DLL。ログ:新しい URL ファイル Interop.Excel.DLL をダウンロードしようとしています。ログ: 新しい URL ファイル: Interop.Excel.EXE のダウンロードを試みています。ログ: 新しい URL ファイル: Interop.Excel.EXE のダウンロードを試みています。ログ: 新しい URL ファイル: Interop.Excel.EXE のダウンロードを試みています。ログ: 新しい URL ファイル: Interop.Excel.EXE のダウンロードを試みています。StackTrace: at FileHelpers.DataLink.ExcelStorage.InitExcel() at FileHelpers.DataLink.ExcelStorage.InsertRecords(Object[] records) at Index() in Controller.cs:37 行目 lambda_method(Closure , ControllerBase , Object[] ) at System .Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase コントローラー、Object[] パラメーター) で System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext、IDictionary
2 parameters) at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary
2 パラメーター) で System.Web.Mvc.ControllerActionInvoker.<>c_ DisplayClass15.b System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter フィルター、ActionExecutingContext preContext、Func`1 継続) での _12()
InnerException:
c# - ファイルヘルパーを使用してExcelファイルにヘッダー行を追加する
私はこの例に従っていますが、最終的に出力されるExcelファイルにヘッダー行を作成する方法がわかりません。
c# - FileHelpersライブラリCSV-右側の最後の列から常に1文字が削除されるのはなぜですか?
CSVファイルを読み取るための非常に優れたライブラリであるFileHelpersを見つけましたが、奇妙な問題があります。助けていただければ幸いです。前もって感謝します !
マッピング後、右側の最後の列から常に1文字が削除されます。
FileHelpers.dllバージョン2.0.0を使用しています-DotNet2.0FileHelpers_2_0_0_bin_docs_wizard.zip
たとえば、私はこのようなCSVを持っています(一部の列は引用されていますが、一部は引用されていません。変更される可能性があります)
そして、ファイルを読んだ後:
私はこれを手に入れます:
私がこのようにファイルを読んだとき:
問題は3番目の列にあるので、次のようになります。countr US Canad
私のFileHelpersクラス:
何か案は ?
c# - C#FileHelpers-入力ファイルを使用せずに新しいレコードをcsvに書き込みます
私が見つけたすべての場所は、csvファイルをFileHelpersに読み込んでから、同じデータを書き出す方法です。アプリの他の領域からの入力に基づいてRecordクラスを構築しようとしています。各レコードの値を設定してから、その行をcsvに出力します。
だから私はこのようなものが欲しいです:
そして、別のクラスでこれらのレコードを設定します。
この時点から、これらのレコードをcsvファイルまたは後でcsvファイルに書き込むことができるリストに書き込む方法について混乱しています。エンジンを作ろうとすると
「レコードクラスRecordsにフィールドが含まれていません」というエラーが表示されます。誰かが私が欠けているものを知っていますか?これを行う方法を説明しているドキュメントのどこにも見つかりません。
f# - FileHelpers CSV タイムスパン
F# の fileHelpers モジュールを使用して CSV を解析しています。時間を最適な形式に変換するための最良の方法は何だろうと思っていました。最適な形式は timeSpan だと思いましたが、timespan の convertKind が見つかりません
たとえば 10:05.0 という文字列がある場合、これは午前 10:05 を表します。ConvertKind を FileHelpers Library と共に使用して、この文字列を 10:05 を表す構造に解析する最良の方法は何でしょうか?
助けてくれてありがとう!