function FontPlus() {
        var str = document.getElementById('바꿀div의 id');
        var nSize = str.style.fontSize  ? str.style.fontSize  : '9pt';
        var iSize = parseInt(nSize.replace('pt',''));
   
if (iSize < 11) {
        str.style.fontSize  = (iSize + 1) + 'pt';
       str.style.lineHeight = '140%';
        }else{
            alert("더 이상 확대할 수 없습니다.");       
        }
    }


    function FontMinus()
    {
        var str = document.getElementById('마찬가지..');
        var nSize = str.style.fontSize ? str.style.fontSize : '9pt';
        var iSize = parseInt(nSize.replace('pt',''));

        if (iSize > 7){
            str.style.fontSize = (iSize - 1) + 'pt';
            str.style.lineHeight = '140%';
        }else{
            alert("더 이상 축소할 수 없습니다.");       
        }
    } 

/*
 * $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

프린터하기

Java script 2010. 2. 22. 10:36
 일반적으로 프린터는 window.print(); 라는 자바스크립트만 사용하면 가능하다.
 하지만 화면을 있는 그대로 출력하면 싸이즈라던지 출력하고 싶지 않은 부분이 있을것이다.
 그런것들을 프린터용 css를 작성해서 해결 가능하다.

<link href="/css/print.css" rel="stylesheet" type="text/css" media="print">

css스펙에서 미디어 타입을 명시해서 적용한다.(defalut값은 media="screen"인듯하다)

#footer {display:none;}

css내에서 다음과 같이 필요없는부분을 처리함으로써 깨끗한 화면을 출력할수 있다.

1페이지를 넘어갈 경우 이어서 출력하는 옵션

page-break-before: always;  스타일로 잡아준다.

가로출력이나 기타여백등의 옵션을 주는 가장 쉬운 방법은
http://www.meadroid.com/scriptx/ 를 이용하는 것이다.

smsx.cab를 다운받아 압축을 풀어두고

<object id="factory" style="display:none"
  classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814"
  codebase="http://압축풀어넣은장소/scriptx/ScriptX.cab#Version=6,5,439,50">
</object>

여긴 자바스크립트로..

       factory.printing.header = ""; //머릿말 설정
       factory.printing.footer = "";   //꼬릿말 설정
       factory.printing.portrait = false                    //출력방향 설정: true-세로, false-가로
       factory.printing.leftMargin = 1.0                 //왼쪽 여백 설정
       factory.printing.topMargin = 1.0                 //위쪽 여백 설정
       factory.printing.rightMargin = 1.0               //오른쪽 여백 설정
       factory.printing.bottomMargin = 1.0            //아래쪽 여백 설정
      factory.printing.Print(false, window)

무료 버전으로 사용할수 있는 옵션은 이정도이다.
1 ··· 10 11 12 13 14 15 16 ··· 18 

글 보관함

카운터

Total : / Today : / Yesterday :
get rsstistory!