2017-01-30 1 views
2

방금 ​​작성한 작은 응용 프로그램에서 사용하기 위해 ClosedXML을 다운로드했습니다. 응용 프로그램에서 데이터베이스의 일부 데이터를로드하여 Excel 파일로 출력합니다. 내 로컬 숫자 형식은 10 진수 표시기에 쉼표를 사용합니다. ClosedXML들이 텍스트로 저장 얻을 결과로, 숫자로 다음을 인식하지 않고 내가 파일을 열 때 수동으로 변환해야 것 같습니다.ClosedXML의 쉼표를 구문 분석

나는 XLCellValues.Number에 셀의 DataType 설정을 시도했지만, 내가 할 때, 예외가 던져 "Cannot set data type to Number because '1534,8250' is not recognized as a number." 것이 오히려 CultureInfo.CurrentCulture보다는 CultureInfo.InvariantCulture의 ClosedXML의 사용에서 오는 것으로 나타납니다.

모든 쉼표를 마침표로 바꾸거나 ClosedXML 프로젝트를 CurrentCulture을 사용하여 다시 컴파일하지 않으면이 문제를 해결할 수있는 방법이 있습니까?

+1

쉼표를 마침표로 바꾸는 문제는 무엇입니까? 그건 내게 논리적 인 수정처럼 보입니다. – Ben

+0

그냥 불필요한 것처럼 보입니다. 물론 작동하지만 형식을 설정할 수는 있습니다. – schneiju

답변

3

항상 문화권의 형식으로 데이터를 저장해야합니다. 문화는 데이터를 표현할 때만 사용해야합니다.

이 올바른 해결책은 XML로 저장할 때 수에 대한 형식 문자열을 사용하지 않아야한다는 것입니다 의미한다. Excel은 특정 문화권의 번호를 프레젠테이션해야합니다.

+0

팁 주셔서 감사. 나는'InvariantCulture' 서식에 맞게 내 데이터베이스 쿼리를 변경하고 문화 전체 프로그램을 실행. Excel 파일은 열 때 내 로컬 형식으로 모든 것을 표시하므로 잘 작동합니다. – schneiju