Мне интересно, смогу ли я отказаться от файловых помощников и сделать это сам, так как думаю, что я могу выйти за пределы того, для чего он предназначен.
Я хочу, чтобы пользователь мог загружать любой файл 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, и перемещают соответствующие данные в мои ожидаемые столбцы.
При таком подходе IЯ в основном говорю: «Вы не дали мне 100% того, что я ожидал, теперь вы должны отформатировать каждую строку в мой формат».
Второй подход - 1 таблица и попытка заполнить столько данных, скольковозможный.
Например, пользователь загружает файл с C1, C3, C4.Я определила, что это 2 известных столбца, но у меня пока нет ожидаемых данных в полном объеме.
Поэтому я бы отобразил все строки обратно в html-таблице пользователю с заголовками * 1039.*
C1, C2, C3, C4
С1 будет заполнено, ячейки С2 будут пустыми (поскольку это данные, которые я пропускаю из них), С3 будет заполнено, С4 будет заполнено (эти данные были неожиданными, но ктознает, что на самом деле это могут быть данные, которые должен хранить C2, но, поскольку они неправильно написали имя заголовка, моя программа не смогла это выяснить)C4.
Теперь им нужно заполнить только 1 столбец, а не все столбцы, которые ожидаются.Таким образом, в некотором смысле мне нужен конкретный класс, как MyClass был с C1, C2, C3, но в то же время мне нужно динамическое, чтобы я мог держать C4,C5.....Cn
.
Я бы всегда отображал C1, C2, C3сначала и остальные из этих неожиданных появятся после магии javascript и других вещей, которые они могут редактировать недостающую информацию.Если ничего не пропущено, они ничего не будут отображать для редактирования.
На основе комментариев shamp00 я теперь задаюсь вопросом, нужно ли мне возвращать данные в виде таблицы данных (к счастью, это, похоже, системный класс, как сейчасмой код находится на служебном уровне, и я вернул класс переноса домена, так как я хочу сохранить свой код независимым от подобных классов веб-кода и, следовательно, почему я пытался выяснить, как создается динамический класс FileHelpers.).
Тогда каким-то образом (пока не уверен на 100%) просто отследите, где находятся эти 3 столбца, которые меня действительно интересуют, чтобы я знал, что это за данные.