2017-12-20 2 views
0

코드에 특정 열에 데이터를 지정했습니다. 엑셀이 번호가 생성Epplus가 열을 숫자로 포맷 할 수 없습니다.

workSheet.Cells["B3:B11"].Style.Numberformat.Format = "#,##0.00";  
workSheet.Cells["B3"].Value = obj.Number1; 
workSheet.Cells["B4"].Value = obj.Number2; 
workSheet.Cells["B5"].Value = obj.Number3; 
workSheet.Cells["B6"].Value = obj.Number4; 
workSheet.Cells["B7"].Value = obj.Number5; 
workSheet.Cells["B8"].Value = obj.Number6; 
workSheet.Cells["B9"].Value = obj.Number7; 
workSheet.Cells["B10"].Value = obj.Number8; 
workSheet.Cells["B11"].Value = obj.Number9; 

로 열을 변환 열은 텍스트 형식이다. 나는 그들이 숫자 형식이되기를 바란다. 도움이 필요하다.

+0

Number 속성에 '유형'이 있습니까? 이것은 기존 시트입니까 아니면 새로운 시트입니까? 더 많은 코드를 게시하고 싶을 수도 있습니다. – Ernie

+0

예 obj 번호는 모두 문자열입니다. –

답변

1

strings이면 Epplus/excel이이를 존중하고 문자열로 저장하므로 설정 한 형식이 무시됩니다. 셀의 모서리에있는 녹색 삼각형이 숫자처럼 보일 것입니다. 숫자로 처리하려면

, 당신은 다음과 같이 doubles로 변환해야합니다

workSheet.Cells["B3"].Value = Double.Parse(obj.Number1); 

당신은 그들이 null 또는 부적절하게 한 다음 위의 충분해야한다 형식 수 없을 것이라고 확신하는 경우

. 그렇지 않으면 다음과 같이 몇 가지 검사를 수행 할 수 있습니다.

double number; 
if (obj.Number1 != null && Double.TryParse(obj.Number1, out number)) 
    workSheet.Cells["B3"].Value = number; 
+0

답장을 보내 주시면 감사 드리며 변경 사항을 알려 드리겠습니다. –

관련 문제