개발/BackEnd 5

내가 보려고 쓰는 페이징유틸(PagingUtil)

내가보려고 쓰는 페이징 유틸이다. 기존소스를 일부 수정 이다. public class PagingUtil { private static final Logger LOGGER = LoggerFactory.getLogger(PagingUtil.class.getName()); public static void setPagingLimitValues(Map data, int pRowCount) { // 현제 페이지수 int cPage = Integer.parseInt(nvl(data.get("cPage"), "1")); // 한페이지에 보여질 데이터 수 int rowCount = 10; if(pRowCount > 0){ rowCount = pRowCount; } else{ rowCount = Integer.pars..

개발/BackEnd 2023.12.27

XSSFDrawing 사용 엑셀 메모박스 만들기

XSSFCreationHelper richTextFactory = workbook.getCreationHelper(); XSSFDrawing drawing = sheet.createDrawingPatriarch(); XSSFClientAnchor anchor = drawing.createAnchor(0, 0, 0, 0, 5, 10, 8, 15); XSSFComment comment = drawing.createCellComment((ClientAnchor)anchor); String text = "띄어쓰기 없이 이렇게만 입력해 주세요. 숫자만 입력해 주세요."; XSSFRichTextString rtf1 = richTextFactory.createRichTextString(text); comment.se..

개발/BackEnd 2023.04.28

poi HSSF 사용시 Excel DropDownListBox 사용 (java 엑셀 드롭다운, 셀렉트박스)

엑셀 다운로드 작업을 하다보니 드롭박스 기능을 작업해야할 일이 생겼고, 구글링 을 하며 무수한 시도끝에 최종 적용한 방법이다.. 기존 엑셀 다운로드 코드 내 아래 코드를 추가해 주면 된다. 현재는 xls 에서만 동작 하고 xlsx 에서는 정상적으로 동작 하는지 여부는 조금더 파악을 해보아야 겠다. //드록박스 시작 String[] strFormula = null; CellRangeAddressList addressList = null; DVConstraint constraing = null; HSSFDataValidation dataValidation = null; strFormula = new String[] { "100", "200", "300", "400", "500" }; addressList =..

개발/BackEnd 2023.04.28

트랜잭션(Transaction)처리 하기

트랜잭션(Transaction) 이란 프로그램 개발을 하다보면 쿼리 한줄로 해결할 수 없는 로직을 처리해야 하는 경우가 정말 많이 생긴다. 하나의 메소드(method) 에서 여러 개의 쿼리가 실행해야 하는 경우 전부 정상적으로 실행이 되면 문제가 없겠지만 중간에 어느 하나의 쿼리에서 오류나 문제가 생긴다면 시스템에 큰 문제가 생길수 있다. 그때 정상적으로 실행이 된다면 사용했던 쿼리를 commit 하고 만약 문제가 생긴다면 다시 rollback 을 하기때문에 문제가 생기더라도 조금 덜 걱정할 수 있다. JAVA에서 트랜잭션을 처리하려면 context-transaction.xml 과 JAVA 소스 수정이 조금 필요하다. 나는 전자정부프레임워크를 사용하다 보니 src/main/resources/egovfra..

개발/BackEnd 2022.01.26

The maximum column width for an individual cell is 255 characters. 엑셀 다운로드시 Error

엑셀 다운로드 시 이전에는 정상적으로 다운로드가 되다가 어느순간 The maximum column width for an individual cell is 255 characters. 라는 Error 가 발생하였다. 해당 Error 내용을 찾아보니 Apache POI를 사용하여 엑셀 파일을 만들던 중 저장할 셀의 너비가 255자가 초과하여 발생한 오류였다. 기존 코드는 sheet.setColumnWidth(i, (sheet.getColumnWidth(i)) + (short) 1024); 이렇게 작성되어 있었고, 아래와 같이 최대값 255를 초과하지않도록 변경해주면 해당 Error는 해결된다. sheet.setColumnWidth(i, Math.min(255 * 256, sheet.getColumnWidt..

개발/BackEnd 2021.10.01