본문 바로가기
728x90

프로그래밍 공부/JAVA5

[JAVA poi] package should contain a content type m1.13 원인 및 해결법 apache poi 엑셀 업로드 시 package should contain a content type m1.13 원인 및 해결법 java poi 를 사용하여 엑셀 업로드를 구현하던 중, package should contain a content type m1.13 이라는 오류가 발생했다. 검색해보니 엑셀 형식이 다르거나 파일이 손상 혹은 잠금되었을때 나타나는 오류라고 하는데, 나의 경우에는 poi 라이브러리 중 XSSFWorkbook 객체를 사용하여 엑셀 파일을 받고 있었는데 .xls 파일을 잘못 업로드하여 발생한 오류였다. XSSFWorkbook 은 .xlsx 파일만 적용 가능하다고 한다. 파일을 .xlsx 버전으로 바꾸고 아래와 같이 적용하니 오류가 해결되었다. .xls 파일을 업로드 하기 위해서는.. 2023. 4. 9.
JAVA POI setFillBackgroundColor, setFillForegroundColor 안 먹히는 문제 #java poi background color 적용 java poi 를 사용해서 엑셀파일을 만들어왔는데, 항상 되던 XSSFCellStyle의 setFillBackgroundColor가 먹히지 않는 것이다. setFillForegroundColor 도 먹히지 않았다. 이전 코드는 아래와 같았다. dataStyle = (XSSFCellStyle) workbook.createCellStyle(); titleStyle.setFillBackgroundColor(HSSFColor.GREY_25_PERCENT.index); 찾아보니 poi 3.17 부터 변경되었다고 한다. dataStyle = (XSSFCellStyle) workbook.createCellStyle(); dataStyle.setFillForegr.. 2022. 1. 13.
[JAVA] POI 엑셀 "~~의 내용에 문제가 있습니다." 오류 원인 [JAVA] POI 엑셀 "~~의 내용에 문제가 있습니다." 오류 원인 java poi 라이브러리를 사용하여 엑셀 파일을 생성하였는데, 다운을 받아서 열때마다 아래와 같은 오류가 발생했다. '~~~~'의 내용에 문제가 있습니다. 이 통합 문서의 내용을 최대한 복구하시겠습니까? 이 통합 문서의 원본을 신뢰하는 경우 [예]를 클릭하세요. 바로 구글에 해당 오류를 검색해서 찾아보니, ServletOutputStream out = response.getOutputStream(); workbook.write(out); out.close(); 이런 식으로 outputstream을 꼭 close() 해주라는 내용이 나왔다. 하지만.. 나는 이미 close() 를 해주고 있었다. 한참을 삽질하다가 알아낸 원인은...... 2021. 6. 1.
java) 최소 공배수, 최대 공약수 - 유클리드 호제법 * 방법 * 1. 입력받은 두 수 중 큰수를 결정 2. 큰수를 작은 수로 나눈다 3. 나머지가 0 일경우 최대공약수 = 작은수 최소공배수 = (두수의곱)/최대공약수 4. 나머지가 0이 아닐경우 큰수 = 작은 수 작은수 = 나머지 로 정하고 2번부터 다시 반복 a를 b로 나눈 나머지를 r이라고 했을 때 a,b 의 최대공약수는 b,r 의 최대공약수와 같다 즉 b,a%b의 최대 공약수와 같게 된다. 이를 r이 0이 될때까지 반복하면 그 값이 최대공약수가 된다. public int[] solution(int n, int m) { int a = n; int b = m; int[] answer=new int[2]; int max, min; if(a>b) { max = a; min= b; } else.. 2019. 5. 14.
java 공부) 날짜와 시간 & 형식화 날짜와 시간을 표현하는 클래스 / 형식화 클래스 (제공된 순서대로) Date -> Calendar -> java.time 패키지 속 클래스들. 제일 최신 버전이 java.time 패키지임에도 불구하고 Date, Calendar 를 꾸준히 쓰고있기 때문에 공부해야함. 1. Calendar 와 Date Calender cal = Calender.getInstance(); 처럼 함수를 이용해서 인스턴스 생성하여 사용해야함. Date d = new Date(); 현재 시간과 날짜를 가져오는 함수는 get. -> cal.get(Calendar.YEAR) ; 여기서 YEAR을 MONTH, DATE등으로 바꾸어 원하는 속성값을 가져올 수 있다. 시간과 날짜를 설정하는 함수는 set. ->cal.set(2015, Ca.. 2019. 5. 12.
반응형