4
CSV 파일을 업로드하고 MVC3을 사용하여 CSVHelper를 구현하려고합니다.ASP.NET MVC 3 CSVHelper
https://github.com/JoshClose/CsvHelper
나는 파일 업로드로 이것을 사용하는 예제를 발견하지 않았습니다. 기본적으로 CSV 파일을 가져와 엔티티 개체에 매핑하고 DB에 저장해야합니다.
public class SurveyEmailListModels
{
[Key]
public int SurveyEmailListId { get; set; }
[CsvField(Index = 0)]
public int ProgramId { get; set; }
[CsvField(Index = 1)]
public virtual SurveyProgramModels SurveyProgramModels { get; set; }
[CsvField(Index = 2)]
public string SurveyEmailAddress { get; set; }
[CsvField(Index = 3)]
public bool SurveyResponded { get; set; }
}
업로드 처리기 : 여기 내 실체가
[HttpPost]
public ActionResult Upload(HttpPostedFileBase file, SurveyEmailListModels surveyemaillistmodels, int id)
{
if (file != null && file.ContentLength > 0)
{
// Collect file and place into directory for source file download
var appData = Server.MapPath("~/csv/");
var filename = Path.Combine(appData, Path.GetFileName(file.FileName));
file.SaveAs(filename);
// surveyemaillistmodels.SurveyEmailAddress = "[email protected]";
// surveyemaillistmodels.SurveyResponded = true;
// surveyemaillistmodels.ProgramId = id;
db.SurveyEmailListModels.Add(surveyemaillistmodels);
db.SaveChanges();
return Content(filename);
}
return Json(true);
}
잘 모르겠어요 어떻게 DB에 CSV 파일을 통해 루프를 저장합니다. 아무도 모범을 보았습니까?
안녕하세요 대단히 감사합니다. 솔루션을 구현하려고하는데 디버거 내부에 CSV 값이 표시되지 않습니다. "return csvReader.GetRecords"에 중단 점을 설정했는데 값이 표시되지 않습니다. 나는 "CSVReader"지역 주민에서 보면, 나는 – user547794
당신은 결과의 경우를 볼 것이다 "+ \t \t CurrentRecord \t 'csvReader.CurrentRecord는'[] {CsvHelper.CsvReaderException가} 'CsvHelper.CsvReaderException'\t 문자열 유형의 예외가 발생했습니다"참조 컨트롤러 액션 내부에 중단 점을 넣고 모델 변수를 검사합니다. 또는 검사를 위해 돌아 오기 전에 모델 바인더 내에서 임시 변수를 사용하기 만하면됩니다. 또한 CsvHelpers 문서에서 올바른 사용법과 예상 형식을 읽었는지 확인하십시오. 예를 들어 SurveyEmailListId 속성은 오류를 유발할 수있는'[CsvField (Ignore = true)] 속성으로 장식되어 있지 않습니다. CsvHelpers를 사용하는 데 문제가 있으면 ASP.NET MVC와 관련이 없기 때문에 새로운 질문을 시작하십시오. –
좋아요, 새 질문을 여기에서 시작했습니다 : http://stackoverflow.com/questions/11086942/using-csvhelper-on-file-upload – user547794