NPOI 형식 설정 2 - 시간, 킬로비트, 번체, 소수점

1771 단어
Excel에서 우리는 항상 형식을 설정해야 한다. 예를 들어 날짜 형식(yyyymmdd), 소수점 형식(1.20), 화폐 형식($2000), 백분율 형식(99.99%) 등이다. 이런 것들은 과거에 서버 쪽에서만 잘 생성될 수 있었을 것이다. 서버 측의 코드량을 증가시켰을 뿐만 아니라 불필요한 문자열 교체 작업을 초래했다.이제 NPOI는 서버를 완전히 불필요한 작업에서 해방시키고 모든 것을 Excel이 클라이언트에서 처리할 것이다.
NPOI를 사용할 때는 모든 형식이 CellStyle을 사용합니다.DataFormat은 셀에 직접 할당하는 것이 아니라 셀에 할당됩니다.
케이스 1 날짜 형식
현재 표시할 날짜의 형식이 2008년 5월 5일이라고 가정하면 다음 코드로 생성할 수 있습니다.
 
HSSFSheet sheet = hssfworkbook.CreateSheet("new sheet");
HSSFCell cell = sheet.CreateRow(0).CreateCell(0);
cell.SetCellValue(new DateTime(2008,5,5));
//set date format
HSSFCellStyle cellStyle = hssfworkbook.CreateCellStyle();
HSSFDataFormat format = hssfworkbook.CreateDataFormat();
cellStyle.DataFormat = format.GetFormat("yyyy m d ");
cell.CellStyle=cellStyle;

 
여기의'yyy년 m월 d일'은 사용자 정의 형식 (Excel에 내장된 형식과 구별) 에 속하기 때문에 hssfworkbook을 사용해야 합니다.CreateDataFormat () 에서 HSSFDataFormat 인스턴스를 만들고 format을 사용합니다.GetFormat은 Excel에서 지원하는 형식 표현 방식이라면 모두 사용할 수 있는 형식입니다.
사례 2 보류 2 비트 소수점
만약 우리가 하나의 칸의 값이 1.2이라고 가정한다면, 어떻게 1.20으로 표시합니까?Excel에서 "0.00"으로 표시되므로 다음 코드가 완성됩니다.
 
// Create a row and put some cells in it. Rows are 0 based.
HSSFCell cell = sheet.CreateRow(0).CreateCell(0);
//set value for the cell
cell.SetCellValue(1.2);
//number format with 2 digits after the decimal point - "1.20"
HSSFCellStyle cellStyle = hssfworkbook.CreateCellStyle();
cellStyle.DataFormat = HSSFDataFormat.GetBuiltinFormat("0.00");
cell.CellStyle = cellStyle;

 
위와 달리 HSSFDataFormat을 사용합니다.GetBuiltinFormat () 메서드, 이 메서드를 사용하는 이유는 0.00이 Excel 내장 형식이기 때문입니다. 전체 Excel 내장 형식 목록은 이 창의 사용자 정의 목록을 볼 수 있습니다.
다음으로 전송:https://www.cnblogs.com/wknet/p/4029341.html

좋은 웹페이지 즐겨찾기