MS Access 테이블과 Excel 시트를 .csv 파일로 변환 한 다음 엑셀 시트와 액세스 테이블이 다른 응용 프로그램을 만듭니다. .csv 파일은 괜찮지 만 결과 차이 파일은 html이 들어있는 필드에 오류가 있습니다 (액세스 테이블에는 html로 필드가 있음). 특수 문자가 .csv 파일을 처음 만들 때 이슈가 아니거나 두 파일을 구분하는 방식에 문제가있어서 특수 문자 문제인지 확실하지 않습니다..csv 파일과의 차이 파일 생성
액세스 .csv 파일에서 html이 들어있는 필드가 일부 정보가 한 줄에 모두 표시되는 대신 별도의 줄에 표시되도록 할 수 있습니다. 독자,하지만이 문제를 해결하는 방법을 모르겠습니다. 논리 행 대
string destination = Form2.destination;
string path = Path.Combine(destination, "en-US-diff.csv");
string difFile = path;
if (File.Exists(difFile))
{
File.Delete(difFile);
}
using (var wtr = new StreamWriter(difFile))
{
// Create the IEnumerable data sources
string[] access = System.IO.File.ReadAllLines(csvOutputFile);
string[] excel = System.IO.File.ReadAllLines(csvOutputFile2);
// Create the query
IEnumerable<string> differenceQuery = access.Except(excel);
// Execute the query
foreach (string s in differenceQuery)
{
wtr.WriteLine(s);
}
}
csv는 표 형식의 데이터에 더 적합합니다.이 경우 XML이 더 나은 선택 일 수 있습니다. HTML 코드에 CDATA 필드를 사용할 수 있습니다. – Oscar
행에 키가 필요합니다. 그런 다음 사용자 정의 비교를 작성하고이를 'Except()'에 전달할 수 있습니다. 나는 그것을했고 WOW는 빠릅니다. – Hogan
논리적 줄 대 물리적 줄. 전에도이 문제가있었습니다. 파일을 처음 만들 때 각 논리적 줄 끝에 센티널을 배치하여 문제를 해결했습니다. 시간은 그 특별한 노력에서 짧았고 나는 더 좋은 방법이 있다고 확신합니다. Oscar가 지적한대로 XML CDATA가 선호되는 접근 방식 일 수 있습니다. 그동안 파일 작성 시점을 제어 할 수 있다면 감시 카메라를 고려하십시오. –