ClosedXML을 사용하여 Excel 스프레드 시트를 만듭니다. 문제는 백분율을 포함하는 셀을 포맷하는 동안 발생합니다.소수 부분이 0 인 경우 소수 구분 기호를 제거하는 방법은 무엇입니까?
내가 올린 형식은 0.##%
입니다.
소수 부분이 0이 아닌 경우 다음과 같이 표시됩니다. 1,15%
; 그것은 정수 값일 때 소수점 구분 기호를 표시하고 0을 숨 깁니다 (예 : 5,%
).
어떻게 소수 구분 기호도 숨길 수 있습니까?
XLWorkbook wb = new XLWorkbook();
var ws = wb.AddWorksheet("test");
string format = "0.##%";
var cell = ws.Cell(1, 1);
cell.SetValue(5.2M/100);
cell.Style.NumberFormat.Format = format;
cell = ws.Cell(1, 2);
cell.SetValue(5M/100);
cell.Style.NumberFormat.Format = format;
wb.SaveAs("test.xlsx");
및 출력은 CLOSED XML: Conditional Formatting에 링크 제이슨에
형식 문자열 "#. ## %"은 무엇을 생성합니까? – Jason
@ Jason 변종이 전혀 인쇄되지 않으므로'#. ## %'이 아니라'0. ## %'을 사용합니다. '0,5 %'와', 5 %'를 비교하십시오. 그리고 그것은 소수점 구분자를 인쇄하기 때문에 여전히 남아 있습니다. – horgh
그런 다음 조건부 서식을 사용하는 것이 좋습니다. 형식 문자열은 원하는 것을 지원하지 않는 것 같습니다. 내가 볼 수있는 것은 아닙니다. http://closedxml.codeplex.com/wikipage?title=Conditional%20Formatting&referringTitle=Documentation – Jason