Simple is best

public static void charSet(String str_kr) throws UnsupportedEncodingException{
        String charset[] = {"euc-kr", "ksc5601", "iso-8859-1", "8859_1", "ascii", "UTF-8"};
           
        for(int i=0; i<charset.length ; i++){
            for(int j=0 ; j<charset.length ; j++){
                if(i==j) continue;

      System.out.println(charset[i]+" : "+charset[j]+" :"+new String(str_kr.getBytes(charset[i]),charset[j]));
            }
        }
    }

 

Posted by 미쉬마르

<html>
<head>
<script type="text/javascript" language="javascript">
function getFileSize(filePath)
{
  var len = 0;
  if ( navigator.appName.indexOf("Netscape") != -1)
  {
     try {
        netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
     } catch(e) {
        alert("signed.applets.codebase_principal_support를 설정해주세요!\n"+e);
        return -1;
     }
     try {
        var file = Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile);
        file.initWithPath ( filePath );
        len = file.fileSize;
     } catch(e) {
        alert("에러 발생:"+e);
     }
  }
  else if (navigator.appName.indexOf('Microsoft') != -1)
  {
     var img = new Image();
     img.dynsrc = filePath;
     len = img.fileSize;
  }
  return len;
}

function checkFile(obj, ob)
{
  var len = getFileSize(obj.value);
  // 아래 빨간색 부분이 파일사이즈 지정해 주는 부분입니다.
  // 상황에 맞게 아래 부분을 수정해서 사용하시면 됩니다.
 
   var lens = len / 1024 / 1024;
  
  eval(ob).value = lens.toFixed(2); // 반올림 2자리

 
 
 
 // if (len > 1024 * 1024)
 // {
 //    alert("파일 크기는 1메가보다 작아야 합니다.");
 // }
}
</script>
</head>
</body>
<form name="test">
<input type="file" name="file" onChange="checkFile(this,file_size);" />
<input type="text" name="file_size" value=""/>
</form>
</body>
</html>

Posted by 미쉬마르

history.back();
window.location.reload();

Posted by 미쉬마르
Posted by 미쉬마르
Posted by 미쉬마르


   public var myTip:ToolTip;
   public function createBigTip(str:String, obj:UIComponent):void {

         

          myTip = ToolTipManager.createToolTip(str,x,y);
         
          myTip.setStyle("backgroundColor",0xFFCC00);
          myTip.setStyle("fontSize",11);
          myTip.width = 300;
          myTip.height = 300;
       }

      public function destroyBigTip():void {
          ToolTipManager.destroyToolTip(myTip);
      }
   

Posted by 미쉬마르

 public void excelTest(HttpServletRequest req, HttpServletResponse res) {
   

########################### Query #####################################
  StringBuffer sb = new StringBuffer();
  sb.append("SELECT                \n");
  sb.append("  (SELECT COUNT(*) AS Cnt FROM CRM_GARDEN) as CNT,   \n");
  sb.append("   SEQ,      \n");
  sb.append("  PLACE,            \n");
  sb.append("  CAR_NAME,           \n");
  sb.append("  CAR_NUM,           \n");
  sb.append("  CAR_YEAR,           \n");

  sb.append("  CAR_COLOR,           \n");
  sb.append("  CAR_PRICE,           \n");
  sb.append("  CAR_BUY_DATE,         \n");
  sb.append("  CAR_SELL_DATE,        \n");
  sb.append("  CREATE_DATE,          \n");

  sb.append("  CAR_OPTION,          \n");
  sb.append("  CAR_ACCIDENT,        \n");
  sb.append("  CAR_NOTE,           \n");
  sb.append("     CAR_DEALER_NAME,   \n");
  sb.append("     KM       \n");

  sb.append("FROM                  \n");
  sb.append("  CRM_GARDEN     \n");
  sb.append("WHERE 1=1     \n");
 
  Connection conn = null;
  PreparedStatement pstmt = null;
  ResultSet rs = null;
   
  String paramYear = "";
  String paramMonth = "";
  String paramYm = "";
 
  paramYear = req.getParameter("paramYear");
  paramMonth = req.getParameter("paramMonth");
 
  UdpLogger.print("PARAM == > " + paramYear + " >>> " + paramMonth);
 
  if (paramYear != null && !paramYear.equals("*") && paramMonth != null && !paramMonth.equals("*")) {
   paramYm = paramYear + "-" + paramMonth;
  }
 
  try {
   conn = ConnectionManager.getConnection();
   
   
   if (paramYm != null && !paramYm.equals("")) {
    sb.append("   AND DATE(CAR_SELL_DATE) between ? and ?  \n");
   }
   
 
   pstmt = conn.prepareStatement(sb.toString());
   
   if (paramYm != null && !paramYm.equals("")) {
    pstmt.setString(1, paramYm + "-01");
    pstmt.setString(2, paramYm + "-31");
   }
   
   
   rs = pstmt.executeQuery();
   
   UdpLogger.print("###################### \n" + sb.toString());

  ######################## EXCEL ###################################

   // Excel
   
   // WritableWorkbook workbook = Workbook.createWorkbook(new
   // File("d:/myExcelFile.xls")); // 엑셀
   WritableWorkbook workbook =  Workbook.createWorkbook(res.getOutputStream());
 
   WritableSheet sheet = workbook.createSheet("Sheet1", 0);
 

  ############ CELL FORMAT 모양과 색을 지정 선 모양도 지정함 ############

   jxl.write.WritableCellFormat format= new WritableCellFormat();
   jxl.write.WritableCellFormat format0= new WritableCellFormat();
   jxl.write.WritableCellFormat format1= new WritableCellFormat();
   jxl.write.WritableCellFormat format2= new WritableCellFormat();
   
   format.setBackground(jxl.format.Colour.IVORY );
   format.setBorder(jxl.format.Border.LEFT,jxl.format.BorderLineStyle.THIN );
   format.setBorder(jxl.format.Border.RIGHT,jxl.format.BorderLineStyle.THIN );
   format.setBorder(jxl.format.Border.BOTTOM,jxl.format.BorderLineStyle.THIN );
   format.setBorder(jxl.format.Border.TOP,jxl.format.BorderLineStyle.THIN );

   format.setAlignment(jxl.format.Alignment.CENTRE);
 
   format0.setBackground(jxl.format.Colour.WHITE );
   //format0.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.DOTTED );
   format0.setBorder(jxl.format.Border.LEFT,jxl.format.BorderLineStyle.THIN );
   format0.setBorder(jxl.format.Border.RIGHT,jxl.format.BorderLineStyle.THIN );
   format0.setBorder(jxl.format.Border.BOTTOM,jxl.format.BorderLineStyle.THIN );
   format0.setBorder(jxl.format.Border.TOP,jxl.format.BorderLineStyle.THIN );
   format0.setAlignment(jxl.format.Alignment.CENTRE);
 

   
   format2.setBackground(jxl.format.Colour.WHITE );
   //format2.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THIN );
   format2.setBorder(jxl.format.Border.LEFT,jxl.format.BorderLineStyle.THIN );
   format2.setBorder(jxl.format.Border.RIGHT,jxl.format.BorderLineStyle.THIN );
   format2.setBorder(jxl.format.Border.BOTTOM,jxl.format.BorderLineStyle.THIN );
   format2.setBorder(jxl.format.Border.TOP,jxl.format.BorderLineStyle.THIN );
   format2.setAlignment(jxl.format.Alignment.LEFT);
   
   sheet.setColumnView(0,10);
 
   jxl.write.Label label =null;
   jxl.write.Blank blank=null;
   
   /* Excel Header */

################################## Excel Header ########################

   
   label = new jxl.write.Label(0,0,"차량명",format);
   sheet.setColumnView(0,40);
   sheet.addCell(label);
   label = new jxl.write.Label(1,0,"차번호",format);
   sheet.setColumnView(1,12);
   sheet.addCell(label);
   label = new jxl.write.Label(2,0,"년식",format);
   sheet.addCell(label);
   label = new jxl.write.Label(3,0,"차량색",format);
   sheet.addCell(label);
   label = new jxl.write.Label(4,0,"주행거리",format);
   sheet.addCell(label);

   label = new jxl.write.Label(5,0,"입고일",format);
   sheet.setColumnView(5,12);
   sheet.addCell(label);
   
   label = new jxl.write.Label(6,0,"출고일",format);
   sheet.setColumnView(6,12);
   sheet.addCell(label);
   label = new jxl.write.Label(7,0,"판매금액",format);
   sheet.addCell(label);
   label = new jxl.write.Label(8,0,"작성일",format);
   sheet.setColumnView(8,12);
   sheet.addCell(label);
   label = new jxl.write.Label(9,0,"매장",format);
   sheet.addCell(label);
   
   label = new jxl.write.Label(0,1,"옵션",format);
   sheet.addCell(label);
   sheet.mergeCells(0,1,9,1);
   label = new jxl.write.Label(0,2,"사고",format);
   sheet.addCell(label);
   sheet.mergeCells(0,2,9,1);
   label = new jxl.write.Label(0,3,"비고",format);
   sheet.addCell(label);
   sheet.mergeCells(0,3,9,1);
   
// blank = new jxl.write.Blank(4,0,format0);
// sheet.addCell(blank );
   
   int i =0;
   int last = 0;
   while(rs.next()) {
    //bean = new DataClass();
   
    i = rs.getRow() * 4;
    // 위에 8칸 (행, 열, 데이타, 포멧)
     for (int j=0; j <=9; j++) {
      label = new jxl.write.Label(j++,i,rs.getString("CAR_NAME"),format0);
      sheet.addCell(label);
      label = new jxl.write.Label(j++,i,rs.getString("CAR_NUM"),format0);
      sheet.addCell(label);
      label = new jxl.write.Label(j++,i,rs.getString("CAR_YEAR"),format0);
      sheet.addCell(label);
      label = new jxl.write.Label(j++,i,rs.getString("CAR_COLOR"),format0);
      sheet.addCell(label);
      label = new jxl.write.Label(j++,i,rs.getString("KM"),format0);
      sheet.addCell(label);
      label = new jxl.write.Label(j++,i,rs.getString("CAR_BUY_DATE").substring(0,10),format0);
      sheet.addCell(label);
      label = new jxl.write.Label(j++,i,rs.getString("CAR_SELL_DATE").substring(0,10),format0);
      sheet.addCell(label);
      label = new jxl.write.Label(j++,i,rs.getString("CAR_PRICE"),format0);
      sheet.addCell(label);
      label = new jxl.write.Label(j++,i,rs.getString("CREATE_DATE").substring(0,10),format0);
      sheet.addCell(label);
      label = new jxl.write.Label(j++,i,rs.getString("PLACE"),format0);
      sheet.addCell(label);
     }
    // 한칸씩 3줄
     label = new jxl.write.Label(0,i+1,rs.getString("CAR_OPTION"),format2);
     sheet.mergeCells(0,i+1,9,1);
     sheet.addCell(label);
       
     
     label = new jxl.write.Label(0,i+2,rs.getString("CAR_ACCIDENT"),format2);
     sheet.mergeCells(0,i+2,9,1);
     sheet.addCell(label);

     
     label = new jxl.write.Label(0,i+3,rs.getString("CAR_NOTE"),format2);
     sheet.mergeCells(0,i+3,9,1);
     sheet.addCell(label);
     
     last = i+4;
   }

   format1.setBorder(jxl.format.Border.TOP,jxl.format.BorderLineStyle.DOUBLE);

   if (i > 0) {
    for (int k=0; k <=9; k++) {
     blank = new jxl.write.Blank(k,last,format1);
     sheet.addCell(blank);
    }
   } else {
    label = new jxl.write.Label(0,i+4,"데이터가 없습니다",format0);
    sheet.mergeCells(0,i+4,9,2);
    sheet.addCell(label);
   
    for (int k=0; k <=9; k++) {
     blank = new jxl.write.Blank(k,i+5,format1);
     sheet.addCell(blank);
    }
   }
   
   
//    
//    for(int h=1;h<51;h++) { // 행
//     for(int i=0;i<30;i++) { // 열
//      label = new jxl.write.Label(i, h, "("+i+","+h+")",format0);
//      
//     }
//    }


  ######################################### 파일 다운로드 설정

   /* 엑셀파일 다운로드 설정 */
   res.setContentType("text/html; charset=euc-kr");
   res.setHeader("Content-Transfer-Encoding", "7bit");
   
   String fileName = "";
   
   if (paramYm.equals("")) {
    fileName = "전체 통계.xls";
   } else {
    fileName = paramYm +"월 통계.xls";
   }
   
   if (req.getHeader("User-Agent").indexOf("MSIE 5.5") > -1) {
    res.setHeader("Content-Disposition","filename=" + java.net.URLEncoder.encode(fileName, "euc-kr") + ";");
   } else {
    res.setHeader("Content-Disposition","attachment; filename=" + new String(fileName.getBytes("EUC-KR"), "8859_1") + ";");
   }
     
   // res.setHeader("Content-Length", "" +
   // excelBook.toString().length());
   
   res.setHeader("Content-Length", "");
   
   /* 엑셀파일 다운로드 설정 */
   workbook.write();
   workbook.close();

  } catch (Exception ex){
   ex.printStackTrace();
  } finally {
   clearConnection(pstmt, rs, conn);
  }
 }
 
  private void clearConnection(PreparedStatement pstmt, ResultSet rs, Connection conn) {
   try {
    if (pstmt != null) {
     pstmt.close();
    }
 
    if (rs != null) {
     rs.close();
    }
 
    if (conn != null) {
     ConnectionManager.release(conn);
    }
   } catch (Exception ex) {
   
   }
 }

Posted by 미쉬마르

########### JAVA ExcelSample #######################

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import base.util.UdpLogger;

import jxl.Workbook;
import jxl.write.WritableCellFormat;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;

public class ExcelSample extends HttpServlet {
 public void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException  {
  excelTest(req, res);
 }
 
 public void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException  {
  excelTest(req, res);
 }
 
 /**
  * Java Excel Api 월별 장부 엑셀로 출력하기
  */

 public void excelTest(HttpServletRequest req, HttpServletResponse res) {
  try {
   UdpLogger.print("TEST PARAMS ==> " + req.getParameter("params"));  
   
   
   //WritableWorkbook workbook = Workbook.createWorkbook(new File("d:/myExcelFile.xls")); // 엑셀
   WritableWorkbook workbook =  Workbook.createWorkbook(res.getOutputStream());
 
   WritableSheet sheet = workbook.createSheet("Sheet1", 0);
 
   jxl.write.WritableCellFormat format= new WritableCellFormat();
   jxl.write.WritableCellFormat format0= new WritableCellFormat();
 
   format.setBackground(jxl.format.Colour.GRAY_25 );
   format.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THIN );
   format.setAlignment(jxl.format.Alignment.CENTRE);
 
   format0.setBackground(jxl.format.Colour.WHITE );
   format0.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THIN );
   format0.setAlignment(jxl.format.Alignment.CENTRE);
   sheet.setColumnView(0,8);
 
   jxl.write.Label label =null;
   jxl.write.Blank blank=null;
 
   label = new jxl.write.Label(0,0,"결재란",format);
   sheet.addCell(label);
   label = new jxl.write.Label(1,0,"테스트",format);
   sheet.addCell(label);
   label = new jxl.write.Label(2,0,"결재일",format);
   sheet.addCell(label);
   label = new jxl.write.Label(3,0,"테스트",format);
   sheet.addCell(label);
   blank = new jxl.write.Blank(4,0,format0);
   sheet.addCell(blank );

   for(int h=1;h<51;h++) {
    for(int i=0;i<10;i++) {
     label = new jxl.write.Label(i, h, "("+i+","+h+")",format0);
     sheet.addCell(label);
    }
   }
       /* 엑셀파일 다운로드 설정 */
   res.setContentType("text/html; charset=euc-kr");
   res.setHeader("Content-Transfer-Encoding", "7bit");
   
   if (req.getHeader("User-Agent").indexOf("MSIE 5.5") > -1) {
    res.setHeader("Content-Disposition","filename=" + java.net.URLEncoder.encode("requestList.xls", "euc-kr") + ";");
   } else {
    res.setHeader("Content-Disposition","attachment; filename=" + new String("requestList.xls".getBytes("EUC-KR"), "8859_1") + ";");
   }
     
   // res.setHeader("Content-Length", "" +
   // excelBook.toString().length());
   
   res.setHeader("Content-Length", "");
   
   /* 엑셀파일 다운로드 설정 */
   workbook.write();
   workbook.close();

  } catch(Exception e) {
   System.out.println(e);
  }
 }
}


########### Web.xml #######################

 <servlet>
  <servlet-name>MangeExcelServlet</servlet-name> <-- 서블릿 명
  <servlet-class>management.crm.garden.MangeExcelServlet</servlet-class> <-- 서블릿 경로
 </servlet>


 <servlet-mapping>
  <servlet-name>MangeExcelServlet</servlet-name>
  <url-pattern>/excel</url-pattern> <-- Url partten
 </servlet-mapping>


######  Flex 호출 ########################

ExternalInterface.call("excelTest","06"); <-- 어플리케이션 html 또는 jsp안에 excelTest Java Script


<form name="fm"> <-- 폼
    <input type="hidden" name="params" value="">
</form>

<iframe name="excel_frame" width="0" height="0"> <-- iframe 창을 안띄우기 위한것

Posted by 미쉬마르


Building and  deploying adobe flex3 appliction
Posted by 미쉬마르
AIR AIR Runtime 1.1 업데이트와 Flex SDK 3.0.3 이 나오고 Eclipse 설정까지 ..

AIR 1.1 릴리즈 한글 문서
http://www.adobe.com/support/documentation/en/air/1_1/ko_kr/Adobe_AIR_1_1_Release_Notes.
pdf


AIR 다운로드
http://get.adobe.com/air/?loc=kr

Flex SDK Download
http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+3

How to setup Flex Builder 3 Eclipse plugin for using Adobe AIR 1.1
http://www.websector.de/blog/2008/06/17/how-to-setup-flex-builder-3-eclipse-plugin-for-using-adobe-air-11/

Posted by 미쉬마르