JAVA excel - [POI] POI 엑셀 - Using newlines in cells ( 셀에서 줄바꿈 )

 CellStyle cs = wb.createCellStyle();
    cs.setWrapText(true);
    cell.setCellStyle(cs);

   Workbook wb = new XSSFWorkbook();   //or new HSSFWorkbook();
    Sheet sheet = wb.createSheet();

    Row row = sheet.createRow(2);
    Cell cell = row.createCell(2);
    cell.setCellValue("Use \n with word wrap on to create a new line");

    //to enable newlines you need set a cell styles with wrap=true
    CellStyle cs = wb.createCellStyle();
    cs.setWrapText(true);
    cell.setCellStyle(cs);

    //increase row height to accomodate two lines of text
    row.setHeightInPoints((2*sheet.getDefaultRowHeightInPoints()));

    //adjust column width to fit the content
    sheet.autoSizeColumn((short)2);

    FileOutputStream fileOut = new FileOutputStream("ooxml-newlines.xlsx");
    wb.write(fileOut);
    fileOut.close(); 

Posted by 홍반장水 홍반장水

댓글을 달아 주세요

[JEUS 8] response charset 변경하기 페이지 인코딩 변경

webApplication/WEB-INF/jeus-web-dd.xml 을 만듭니다.

 
<?xml version="1.0" encoding="UTF-8"?> 
<jeus-web-dd xmlns="http://www.tmaxsoft.com/xml/ns/jeus"> 
<context-path>/euckr</context-path> 
<encoding> 
<response-encoding> 
<default>EUC-KR</default> 
</response-encoding> 
</encoding> 
</jeus-web-dd>
 

 

자 이렇게 되면
받는 쪽 body 로 제우스는 EUC-KR의 인코딩 형태로 html 을 던져 줍니다.

출처:https://ipex.tistory.com/entry/JEUS-8-response-charset-변경하기-페이지-인코딩-변경[깍돌이]

----------------------------------------------------------------------------------------------------------------------------
 http://blog.naver.com/hwanwhat81/221181267297 
ja 로 jeus admin(관리자 모드 접속)하여

applist 하면 container 정보들이 출력..
jeus 홈디렉토리 config 파일에 가보면 서비스 디렉토리 안에 container list 가 존재한다.
한글깨짐 현상이 발생하는 컨테이너로 가보면
WEBmain.xml 이 존재.

vi 로 들어가서 편집해 준다.  

<context-group>
        <group-name>MyGroup</group-name>
        <encoding>
            <request-url-encoding>
                <default>utf-8</default>
                <forced>utf-8</forced>
            </request-url-encoding>
            <request-encoding>
                <default>utf-8</default>
                <forced>utf-8</forced>
            </request-encoding>
            <response-encoding>
                <default>utf-8</default>
                <forced>utf-8</forced>
            </response-encoding>
        </encoding>
생략 ....
</context-group> 



----------------------------------------------------------------------------------------------------------------------------
file.encoding ansi_x3.4-1968

분명히 utf-8로 셋팅 되었는데 Jeus는 가끔 미쳐서 파일 인코딩을 제대로 인지 못하는 경우가 있다.

String fileEncoding=System.getProperty("file.encoding");

이럴 경우 Jeus의 설정 파일에서( JEUSMain.xml ) 컨테이너 설정에 -Dfile.encoding=UTF-8 를 추가 해야 한다.

출처: https://lahuman.jabsiri.co.kr/57 [lahuman & jabsiri 노트]

----------------------------------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------------------------------

https://waspro.tistory.com/183

 

[JEUS] Encoding 설정에 따른 출력 Test

본 포스팅은 Encoding 관련 우선순위 테스트입니다. Request Encoding, Response Encoding 각각 우선순위에 대한 테스트를 수행할 예정입니다. 먼저 Request Encoding 우선순위 테스트입니다. JEUS의 Encoding JEU..

waspro.tistory.com

 

Posted by 홍반장水 홍반장水

댓글을 달아 주세요

[POI] POI 엑셀 - Using newlines in cells ( 셀에서 줄바꿈 )
//////////////////////////////
cs.setWrapText( true );
//////////////////////////////////

 

// 엑셀 파일 로드
HSSFWorkbook wb = excelService.loadWorkbook(sb.toString());
 
HSSFSheet sheet = wb.createSheet("cell test sheet2");
sheet.setColumnWidth((short) 3, (short) 200);	// column Width
 
HSSFCellStyle cs = wb.createCellStyle();
HSSFFont font = wb.createFont();
font.setFontHeight((short) 16);
font.setBoldweight((short) 3);
font.setFontName("fixedsys");
 
cs.setFont(font);
cs.setAlignment(HSSFCellStyle.ALIGN_RIGHT);	// cell 정렬
cs.setWrapText( true );
 
for (int i = 0; i < 100; i++) {
	HSSFRow row = sheet.createRow(i);
	row.setHeight((short)300); // row의 height 설정
 
	for (int j = 0; j < 5; j++) {
		HSSFCell cell = row.createCell((short) j);
		cell.setCellValue(new HSSFRichTextString("row " + i + ", cell " + j));
		cell.setCellStyle( cs );
	}
}
 
// 엑셀 파일 저장
FileOutputStream out = new FileOutputStream(sb.toString());
wb.write(out);
out.close();

https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:fdl:excel

 

egovframework:rte2:fdl:excel [eGovFrame]

Excel 파일 포맷을 다룰 수 있는 자바 라이브러리를 제공하여, 사용자들이 데이터를 Excel 파일 포맷으로 다운받거나, 대량의 Excel 데이터를 시스템에 올릴 수 있도록 지원하기 위한 서비스이다. Excel 서비스는 Apache POI 오픈소스를 사용하여 구현하였으며 주요 Excel접근 기능 외에 Excel 다운로드, Excel 파일 업로드 등의 기능이 있다. 엑셀 파일을 생성하여 지정된 위치에 저장하는 기능을 제공한다. HSSFWorkbook 인스

www.egovframe.go.kr

 

Posted by 홍반장水 홍반장水

댓글을 달아 주세요

[Java] 문자열 치환(Replace) 사용법 & 예제

String a = "무궁화 삼천리 화려강산 대한사람 대한으로 길이 보전하세 ";	
//replace([기존문자],[바꿀문자])
a= a.replace("대한", "민국");	
System.out.println(a);

//결과값 : 무궁화 삼천리 화려강산 민국사람 민국으로 길이 보전하세
String a = "무궁화 삼천리 화려강산 대한사람 대한으로 길이 보전하세 ";	
//replaceAll([정규식],[바꿀문자])
a= a.replaceAll("대한", "민국");
System.out.println(a);

//결과값 : 무궁화 삼천리 화려강산 민국사람 민국으로 길이 보전하세
Posted by 홍반장水 홍반장水

댓글을 달아 주세요

#java #SimpleFormat #Calendar #yesterday #yyyyMMdd

      SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
      SimpleDateFormat sdf2 = new SimpleDateFormat("yyyyMM");
      Calendar c1 = Calendar.getInstance(); 
      c1.add(Calendar.DATE, -1); // 오늘날짜로부터 -1 
      String yesterday = sdf.format(c1.getTime()); // String으로 저장
      String yesterMon = sdf2.format(c1.getTime()); // String으로 저장
Posted by 홍반장水 홍반장水

댓글을 달아 주세요

String으로 된 날짜에 일자를 더해서 세팅

package com.blue.controller;

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;

public class CalendarEx2 { 

       public static void main(String[] arg) { 

             // 2019.12.31 + 2일
            DateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
             Date date = null;
             try {
                    date = dateFormat.parse("20191231");
             } catch (ParseException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
             }

             Calendar cal = Calendar.getInstance();
             cal.setTime(date);
             cal.add(Calendar.DATE, 2);
             System.out.println(date);
             System.out.println(cal.getTime());
            

             String strDate = dateFormat.format(cal.getTime());
             System.out.println(strDate);
 

       }


}
Posted by 홍반장水 홍반장水

댓글을 달아 주세요

#NumberformatException #if #문자 #1글자비교  #equals #MyBatis #JAVA #자바

ex 1)
<if test="stringValue == 'Y'">
</if>

ex 2)
<if test="condition.equals('Y')">
</if>


지금처럼 한 글자를 다이나믹쿼리 IF  안에서 비교할 때

java.lang.NumberFormatException: For input string: "Y" 에러 또는

비교가 되지 않을 수 있다. (인식 불가 혹은 오작동 가능성도 있음)
결론적으로 위 현상은 myBatis 문제는 아니고

OGNL(Object Graph Navigation Language) 의 문제이다.

OGNL 인터프리터에서는 위 구문의 'Y' 를 char 형으로 인식하고,
'YY' 나 "Y" 는 String으로 인식한다. (따옴표를 잘보자)
그래서  이와 같은 구문을 비교할 때 
 NumberFormat으로 비교를 시도하여 Exception이 발생한다.
이유는 java의 char형은 실제로 문자의 코드값을 저장하기 때문이다.

그래서 아래와 같은 형변환이 가능하다.

char y = 'Y';
int code = (int)y; // code에는 Y의 코드값인 89가 저장된다

그래서 위와 같은 상황을 피하기 위해서는 다음과 같은 해결책이 존재한다.

1. <if test='stringValue == "Y"'> – 쌍따옴표와 홑따옴표의 위치를 변경

2. <if test="stringValue == &quot;Y&quot;"> – 쌍따옴표를 HTML 코드로 변경

3. <if test="stringValue == 'Y'.toString()"> – toString() 함수를 사용해 String 형으로 변환

4. 함수 생성 (equals 함수를 새로 생성하고 가져다 쓰는 방법 )




http://cofs.tistory.com/97 에서 설명하고 있는
함수를 생성해서
사용방법을 참조하여 equals함수를 재정의

1번과 4번 방법을 추천한다.


출처: https://cofs.tistory.com/96 [CofS]

Posted by 홍반장水 홍반장水

댓글을 달아 주세요

JSTL -  <c:set>태그 사용법

<c:set target="${board}" property="title" value="제목을 변경합니다." />
<c:out value="${board.title}" />

<c:set target="${map}" property="title" value="맵에 제목을 입력합니다." />
<c:out value="${map.title}" />

<c:set var="title" value="제목 입니다." />
<c:out value="${title}" />

<%
String title = "스크립틀릿 제목입니다.";
pageContext.setAttribute("title", title);
%>
<c:out value="${title}" />
  

<c:set> 태그의 속성들
- value 속성 : 값을 입력합니다.  EL을 사용할 수 있습니다.
- target 속성 : 프로퍼티를 설정할 빈 또는 맵을 가집니다.
- property 속성 : 설정할 프로퍼티 입니다.
- var 속성 : 값이 저장되는 변수명 입니다.
- scope 속성 : 변수가 저장된  Scope 입니다. page, request, session, application 을 가질 수 있고, 기본값은 page 입니다.

Posted by 홍반장水 홍반장水

댓글을 달아 주세요

#java #오늘 #일자 #string #format #YYYYMMDD

오늘 날짜를 문자 YYYYMMDD  포맷으로 나오게 하는 방법

import java.util.Calendar;

import java.text.SimpleDateFormat;



public class testToday{

    public static void main(String args[]){

        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");

        Calendar c1 = Calendar.getInstance();

	 String strToday = sdf.format(c1.getTime());



        System.out.println("Today=" + strToday);

    }

}
Posted by 홍반장水 홍반장水

댓글을 달아 주세요

#iBATIS 와 #MyBatis 의 차이

iBATIS

MyBatis

태그

설명

태그

설명

 <isEqual>

 property 값이 같을때만 쿼리 실행 

 <if>와

<choose>, <when>, <otherwise>

 일반 개발언어의 

if or if ~ else와 동일

 <isNotEqual>

 property 값이 같지 않을 때만 쿼리 실행 

 <isGreaterThan>

 property 값이 비교값보다 클 경우 쿼리 실행 

<isGreaterEqual> 

 property 값이 비교값보다 같거나 클 경우 쿼리 실행

 <isLessEqual>

 property 값이 비교값보다 작거나 같을경우 쿼리 실행

 <isPropertyAvailable>

 property 값이 유효할 경우 쿼리 실행

 <isNotPropertyAvailable>

 property 값이 유효하지 않을 경우 쿼리 실행

 <isNull>

 property 값이 null일 경우 쿼리 실행 

<isNotNull> 

 property 값이 null이 아닐 경우 쿼리 실행 

<isEmpty> 

 property 값이 비어있을경우 쿼리 실행

<isNotEmpty> 

 property 값이 비어있지 않을경우 쿼리 실행 

 <isParameterPresent>

 parameter가 있을경우 쿼리 실행

<isNotParameterPresent> 

 parameter가 없을경우 쿼리 실행

<iterate> 

 배열 타입의 파라미터를 받을 때 활용

 <foreach>

 배열 타입의 파라미터를 받을 때 활용 

<dynamic> 

 하위 태그에 일치하는 내용이 존재할 경우   where절을 붙인다.

<where>, <trim> 

 iBATIS의 <dynamic>과 같이 조건에 따라 where절을 추가할 때 사용

 

 

 <set>

 동적으로 update 구문을 만들 때 사용

   

 <bind>

 변수를 생성하는 태그 

 


  

4       iBatis


  

  

MyBatis 


  

비고


  

  

com.ibatis.*


  

  

org.apache.ibatis.*


  

  

패키지 구조 변경


  

  

SqlMapConfig


  

  

Configration


  

  

용어변경


  

  

sqlMap


  

  

mapper


  

  

용어변경


  

  

sqlMapClient


  

  

sqlSession


  

  

구문대체


  

  

rowHandler


  

  

resultHandler


  

  

구문대체


  

  

resultHandler


  

  

SqlSessionFactory


  

  

구문대체


  

  

parameterMap, parameterClass


  

  

parameterType


  

  

속성 통합


  

  

resultClass


  

  

resultType


  

  

용어변경


  

  

#var#


  

  

#{var}


  

  

구문대체


  

  

$var$


  

  

${var}


  

  

구문대체


  

  

<isEqual> , <isNull>


  

  

<if>


  

  

구문대체


  

.

Posted by 홍반장水 홍반장水

댓글을 달아 주세요