ファイルヘルパーを捨てて、自分でこれを行う必要があるかどうか疑問に思っています。設計された範囲を超えている可能性があると思います。
ユーザーが任意の csv ファイル (将来的には Excel ファイル) をアップロードできるようにしたいと考えています。最初の行にはヘッダーがあります
C1 C2 C3 C4 C5 C6
アップロードすると、次のようになります
C1、C2、C3、C4、C5、C6 a、b、c、d、e、f
ここで、ヘッダーを見て、基本的に特定のものを取り上げたいと思います。たとえば、私が欲しいC2, C3, C4.
残りは私が気にしない余分な情報です。
誰かがこのヘッダーを持つファイルをアップロードする可能性があります
C1 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
C1 は埋められ、C2 セルは空白 (これは私が欠落しているデータです)、C3 は埋められ、C4 は埋められます (このデータは予想外でしたが、実際にデータである可能性があることは誰にもわかりません)。 C2は保持する必要がありますが、ヘッダー名のスペルが間違っているため、プログラムはそれを理解できませんでした)。
次に、基本的に、C2 に別の場所または C4 から取得したデータを入力するだけです。
今では、期待されるすべての列ではなく、1 つの列に入力するだけで済みます。したがって、ある意味では、 MyClass が C1、C2、C3 であったような具体的なクラスが必要ですが、同時に、保持できるように動的にする必要がありますC4,C5.....Cn
。
私は常にC1、C2、C3を最初に表示し、残りの予期しないものはその後に表示され、javascriptの魔法と不足している情報を編集できるものを介して表示されます。何も欠けていなければ、編集するものは何も表示されません。
shamp00のコメントに基づいて、データをデータテーブルとして返す必要があるかどうか疑問に思っています(幸い、これはシステムクラスのようです。現在、コードはサービスレイヤーにあり、必要に応じてドメイン転送クラスを返していました)自分のコードを Web コード クラスのようなものから独立させておくため、動的クラスの FileHelpers を生成する方法を理解しようとしていたのはなぜか)。
次に、どういうわけか(まだ100%確実ではありませんが)、本当に興味のある3つの列がどこにあるかを追跡するだけで、どのデータが何であるかがわかります。