'Java'에 해당되는 글 5건

  1. 2010.02.26 jxl을 사용한 엑셀파일 다운로드
  2. 2010.02.16 value로 넘어온 string 값의 앞부분에 "0"을 채워 넣어 len만큼 길이를 맞춘다.
  3. 2010.02.16 경고메시지 출력
  4. 2010.02.16 Java에서 html태그만 제거하기
  5. 2010.02.05 Java 형변환!!

/*
 * $Id$
 * created by    : AN SANG KIL
 * creation-date : 2010. 2. 2.
 * =========================================================
 * Copyright (c) 2010 ManInSoft, Inc. All rights reserved.
 */
package jxl;

import java.io.File; // 파일 생성을 위해서 필요
import java.io.FileNotFoundException; // 파일 생성을 위해서 필요
import java.io.IOException; // 파일 생성을 위해서 필요
import jxl.Workbook; // 엑셀 파일 관리를 위해 처음과 끝에 해당하는 기본이 되는 추상 클래스

import jxl.write.WritableWorkbook; // 실제 엑셀 파일 관리를 위해 Workbook, Sheet을 생성하는 Swing의 Frame과 같은 사막의 오아시스 역할하는 추상 클래스
import jxl.write.WritableSheet; // 쉬트를 관리하는 인터페이스
import jxl.write.WritableCellFormat; // 셀의 포멧 관련 클래스
import jxl.write.WriteException; // 셀의 쓰기 오류를 관리하기 위한
import jxl.write.Label; // 라벨 관리 클래스
//import jxl.write.Blank; // 빈셀 관리 클래스

import jxl.format.*; // 셀 정렬, 보더, 컬러 부분 관련 클래스 임포트
public class Jxl_Write{

 // 예외처리를 아예 해주고 내려옵니다.
 public static void  main(String args[]) throws FileNotFoundException, IOException, WriteException{
     

     //HTML에서 사용자가 원하는 위치에 파일을 저장 하기 위해서는 다음과 같이 설정
     response.reset();
     response.setContentType("application/vnd.ms-excel");
     response.setHeader("Content-Disposition", "attachment; filename=bumworld.xls");
     WritableWorkbook myWorkbook = Workbook.createWorkbook(response.getOutputStream());

      //위의 사용자가 저장하지 않고 바로 저장할 경우 new File을 사용하여
      WritableWorkbook myWorkbook = Workbook.createWorkbook(new File("c:\\jxl_Smile.xls")); // 파일이름을 정하여 생성한다.


     WritableSheet mySheet = myWorkbook.createSheet("first sheet", 0); // WritableSheet는 인터페이스
     // WritableWorkbook에서 메소드를 이용하여 생성. 0번, 즉 첫번째 쉬트를 first sheet라는 이름으로 생성한다.

     WritableCellFormat numberFormat = new WritableCellFormat(); // 번호 셀 포멧 생성
     WritableCellFormat nameFormat = new WritableCellFormat(); // 이름 셀 포멧 생성
     WritableCellFormat dataFormat = new WritableCellFormat(); // 데이터 셀 포멧 생성

     // 번호 레이블 셀 포멧 구성(자세한 것은 링크 된 API를 참조하셈) 참고사항 : 여기 부분에서 WriteException이 발생하네요.
     // 그러나 상단에서 미리 예외 처리를 해서 상관 없겠네요.

     numberFormat.setAlignment(Alignment.CENTRE);      // 셀 가운데 정렬
     numberFormat.setVerticalAlignment(VerticalAlignment.CENTRE);  // 셀 수직 가운데 정렬
     numberFormat.setBorder(Border.ALL, BorderLineStyle.THICK);  // 보더와 보더라인스타일 설정
     numberFormat.setBackground(Colour.ICE_BLUE);      // 여름에 맞는 색깔 ? ^^
 
     // 이름 레이블 셀 포멧 구성(자세한 것은 링크 된 API를 참조하셈)
     nameFormat.setAlignment(Alignment.CENTRE);      // 셀 가운데 정렬
     nameFormat.setVerticalAlignment(VerticalAlignment.CENTRE);  // 셀 수직 가운데 정렬
     nameFormat.setBorder(Border.BOTTOM, BorderLineStyle.HAIR);  // 보더와 보더라인스타일 설정
     nameFormat.setBackground(Colour.GOLD);       // 여름에 맞는 색깔 두번째 ? ^^

     // 데이터 셀 포멧 구성
     dataFormat.setAlignment(Alignment.CENTRE);       // 셀 가운데 정렬
     dataFormat.setVerticalAlignment(VerticalAlignment.CENTRE);   // 셀 수직 가운데 정렬
    
     // 쉬트의 컬럼 넓이 설정
     mySheet.setColumnView(0, 8); // 쉬트의 번호 컬럼(0번째)의 넓이 설정. setCloumnView(몇번째 컬럼, 넓이)
     mySheet.setColumnView(1, 15); // 쉬트의 이름 컬럼(1번째)의 넓이 설정
     mySheet.setColumnView(2, 20); // 쉬트의 비고 컬럼(2번째)의 넓이 설정

     // 라벨을 이용하여 해당 셀에 정보 넣기 시작
     Label numberLabel = new Label(0, 0, "학번", numberFormat); // 학번 라벨(열,행,"문장",포멧)
     mySheet.addCell(numberLabel); // 쉬트의 addCell 메소드를 사용하여 삽입

     Label nameLabel = new Label(1, 0, "성명", nameFormat); // 성명 라벨(열,행,"문장",포멧)
     mySheet.addCell(nameLabel); // 쉬트의 addCell 메소드를 사용하여 삽입

     //Blank blank = new Blank(2, 0, numberFormat); // 빈 셀(열,행,포멧) -- 필요 시 주석 처리 풀고 사용하셈. ^^
     //sheet.addCell(blank);

     Label postScript = new Label(2, 0, "비고", nameFormat); // 비고 라벨(열,행,"문장",포멧)
     mySheet.addCell(postScript); // 쉬트의 addCell 메소드를 사용하여 삽입

       for(int no=1; no<6; no++){
          Label numberLabels = new Label(0, no, "["+no+"]", dataFormat); // 데이터 포멧에 맞게 1에서 5까지 번호 생성
         
mySheet.addCell(numberLabels); 
          Label nameLabels =new Label(1, no, (char)(no+64)+"", dataFormat); // 데이터 포멧에 맞게 대문자 A에서 E까지 생성
          mySheet.addCell(nameLabels); 
      }
     // 라벨을 이용하여 해당 셀에 정보 넣기 끝

     myWorkbook.write(); // 준비된 정보를 엑셀 포멧에 맞게 작성
     myWorkbook.close(); // 처리 후 메모리에서 해제 처리
     }
}
jxl API : http://www.andykhan.com/jexcelapi/tutorial.html

    /**
     * value로 넘어온 string 값의 앞부분에 "0"을 채워 넣어 len만큼 길이를 맞춘다.
     * FillZero("1", 3) => return : 001
     * @param value
     * @param len
     * @return
     */
    public static String fillZero(String value, int len){
        if (len > value.length())
        {
            int num = len - value.length();
            for(int i=0; i < num ; i++)
                    value= "0" + value;
            return value;
        }
        return value;
    }

'Java' 카테고리의 다른 글

jxl을 사용한 엑셀파일 다운로드  (0) 2010.02.26
경고메시지 출력  (0) 2010.02.16
Java에서 html태그만 제거하기  (0) 2010.02.16
Java 형변환!!  (0) 2010.02.05

경고메시지 출력

Java 2010. 2. 16. 14:11
    /**
     * alert로  메세지를 출력한다.
     *
     */
    public static void htmlPrint(HttpServletResponse response, String message, String pageURL) throws IOException {
        response.setContentType("text/html; charset=UTF-8");
        PrintWriter out = response.getWriter();
        out.println("<script type=\"text/javaScript\" language=\"javascript\">");
        out.println("alert('" + message + "');");
        out.println("location.replace('" + pageURL + "')");
        out.println("</script>");

    }
    /**
     * 정규식을 통해 html태그를 제거하고 text만 가져온다.
     */
   
    public static String getText(String content) { 
        Pattern SCRIPTS = Pattern.compile("<(no)?script[^>]*>.*?</(no)?script>",Pattern.DOTALL); 
        Pattern STYLE = Pattern.compile("<style[^>]*>.*</style>",Pattern.DOTALL); 
        Pattern TAGS = Pattern.compile("<(\"[^\"]*\"|\'[^\']*\'|[^\'\">])*>"); 
        Pattern nTAGS = Pattern.compile("<\\w+\\s+[^<]*\\s*>"); 
        Pattern ENTITY_REFS = Pattern.compile("&[^;]+;"); 
        Pattern WHITESPACE = Pattern.compile("\\s\\s+"); 
                
        Matcher m; 
          
        m = SCRIPTS.matcher(content); 
        content = m.replaceAll(""); 
        m = STYLE.matcher(content); 
        content = m.replaceAll(""); 
        m = TAGS.matcher(content); 
        content = m.replaceAll(""); 
        m = ENTITY_REFS.matcher(content); 
        content = m.replaceAll(""); 
        m = WHITESPACE.matcher(content); 
        content = m.replaceAll(" ");         
              
        return content; 
    }  

Java 형변환!!

Java 2010. 2. 5. 21:14
Java – comparing strings

Use == for primitive data types like int

If (mystring == null)

Use the equals() method to compare objects

Use .equals for strings  : if (a.equals(“cat”))

 
Java - Converting int to string

String myString = Integer.toString(my int value)

   or

String str = "" + i

 
Java - Converting String to int

int i = Integer.parseInt(str);

   or

int i = Integer.valueOf(str).intValue();

 

double to String :

String str = Double.toString(i);

 

long to String :

String str = Long.toString(l);

 

float to String :

String str = Float.toString(f);

 

String to double :

double d = Double.valueOf(str).doubleValue();

 

String to long :

long l = Long.valueOf(str).longValue();

   or

long l = Long.parseLong(str);

 

String to float :

float f = Float.valueOf(str).floatValue();


decimal to binary :

int i = 42;

String binstr = Integer.toBinaryString(i);


decimal to hexadecimal :

int i = 42;

String hexstr = Integer.toString(i, 16);

   or

String hexstr = Integer.toHexString(i);

   or (with leading zeroes and uppercase)

public class Hex {

     public static void main(String args[]){

       int i = 42;

       System.out.print

       (Integer.toHexString( 0x10000 | i).substring(1).toUpperCase());

      }

}

 

hexadecimal (String) to integer :

int i = Integer.valueOf("B8DA3", 16).intValue();

   or

int i = Integer.parseInt("B8DA3", 16);    



ASCII code to String

int i = 64;

String aChar = new Character((char)i).toString();


integer to ASCII code (byte)

char c = 'A';

int i = (int) c; // i will have the value 65 decimal



integer to boolean

b = (i != 0);

 

boolean to integer
i = (b)?1:0;
1 

글 보관함

카운터

Total : / Today : / Yesterday :
get rsstistory!