Excel 버튼이 있는데 화면에 보여주는 데이타를 가지고 있는 특정 노드에 접근하여 언제든 엑셀로 출력한다.
VB Script를 이용하는 부분을 나는 Java Script로 변환하여 보았다.
몇 가지를 고쳐야만 제대로 작동이 되는데
아마도 웹브라우저의 보안수준 관련 설정에서 ActiveX 컨트롤에 대한 사용을 허가해야 할지도 모른다.
그 소스는 다음과 같다.
<SCRIPT LANGUAGE="JavaScript">
<!--
/**
* 핵심 코딩: 정준호 (VB Script)
* 전 환: 박찬우 (Java Script)
*/
function printNuchaFamily() {
var nuchaFamily = new Array(
new Array("박찬우", "36", "02-1111-1111", "02-2222-2222", "011-5555-5555"),
new Array("박찬용", "31", "062-8888-8888", "062-9999-9999", "011-7777-7777")
);
var recordLen = nuchaFamily.length;
var colLen = nuchaFamily[0].length;
var objExcel; //Excel
var objWorkbook; //Excel Workbook
var objWorksheet; //Excel Workbook 의 Worksheet
objExcel = new ActiveXObject("excel.Application"); //excel 생성
objWorkbook = objExcel.Workbooks.Add; //' Excel 에 Workbook 추가
objExcel.DisplayAlerts = false; //Worksheet 삭제에 대한 경고 감추기
//WorkSheet 1개만 남겨두고 모두 제거 (기본적으로 3개 생김)
while (objWorkbook.Worksheets.Count > 1) {
objWorksheet = objWorkbook.Worksheets.Item(objWorkbook.Worksheets.Count);
objWorksheet.Delete;
}
objWorksheet = objWorkbook.ActiveSheet; //sheet 의 활성화
objWorksheet.Name = "NUCHA_SHEET_1"; //sheet 의 이름 설정
objWorksheet.cells(2,3) = "제목: 누차 가족 정보"; //2행 3열에 제목 표시
//타이틀
titleRow1 = 5
objWorksheet.cells(5, 1) = "이름";
objWorksheet.Range("A5:A6").merge(); //A열 5행과 6행의 셀 병합
objWorksheet.cells(5, 2) = "나이";
objWorksheet.Range("B5:B6").merge();
objWorksheet.Range("C5:E5").merge(); //5행의 C열부터 E열까지 셀 병합
objWorksheet.cells(5, 3) = "전화"; objWorksheet.cells(5, 3).columnWidth = 20;
objWorksheet.cells(6, 3) = "집"
objWorksheet.cells(6, 4) = "직장";
objWorksheet.cells(6, 5) = "핸드폰";
//만약 특정 셀에 대한 설정이 필요하다면 컬럼에 대하여 펼친 꼴을 사용하기 바람.
var row = 7;
var col = 1;
for (var i = 0; i < recordLen; i++) {
var eachRecord = nuchaFamily[i];
for (var j=0; j <= colLen; j++) {
objWorksheet.cells(row + i, col + j) = eachRecord[j];
}
}
objExcel.Visible = true
}
//-->
</SCRIPT>
VB Script를 이용하는 부분을 나는 Java Script로 변환하여 보았다.
몇 가지를 고쳐야만 제대로 작동이 되는데
아마도 웹브라우저의 보안수준 관련 설정에서 ActiveX 컨트롤에 대한 사용을 허가해야 할지도 모른다.
그 소스는 다음과 같다.
<SCRIPT LANGUAGE="JavaScript">
<!--
/**
* 핵심 코딩: 정준호 (VB Script)
* 전 환: 박찬우 (Java Script)
*/
function printNuchaFamily() {
var nuchaFamily = new Array(
new Array("박찬우", "36", "02-1111-1111", "02-2222-2222", "011-5555-5555"),
new Array("박찬용", "31", "062-8888-8888", "062-9999-9999", "011-7777-7777")
);
var recordLen = nuchaFamily.length;
var colLen = nuchaFamily[0].length;
var objExcel; //Excel
var objWorkbook; //Excel Workbook
var objWorksheet; //Excel Workbook 의 Worksheet
objExcel = new ActiveXObject("excel.Application"); //excel 생성
objWorkbook = objExcel.Workbooks.Add; //' Excel 에 Workbook 추가
objExcel.DisplayAlerts = false; //Worksheet 삭제에 대한 경고 감추기
//WorkSheet 1개만 남겨두고 모두 제거 (기본적으로 3개 생김)
while (objWorkbook.Worksheets.Count > 1) {
objWorksheet = objWorkbook.Worksheets.Item(objWorkbook.Worksheets.Count);
objWorksheet.Delete;
}
objWorksheet = objWorkbook.ActiveSheet; //sheet 의 활성화
objWorksheet.Name = "NUCHA_SHEET_1"; //sheet 의 이름 설정
objWorksheet.cells(2,3) = "제목: 누차 가족 정보"; //2행 3열에 제목 표시
//타이틀
titleRow1 = 5
objWorksheet.cells(5, 1) = "이름";
objWorksheet.Range("A5:A6").merge(); //A열 5행과 6행의 셀 병합
objWorksheet.cells(5, 2) = "나이";
objWorksheet.Range("B5:B6").merge();
objWorksheet.Range("C5:E5").merge(); //5행의 C열부터 E열까지 셀 병합
objWorksheet.cells(5, 3) = "전화"; objWorksheet.cells(5, 3).columnWidth = 20;
objWorksheet.cells(6, 3) = "집"
objWorksheet.cells(6, 4) = "직장";
objWorksheet.cells(6, 5) = "핸드폰";
//만약 특정 셀에 대한 설정이 필요하다면 컬럼에 대하여 펼친 꼴을 사용하기 바람.
var row = 7;
var col = 1;
for (var i = 0; i < recordLen; i++) {
var eachRecord = nuchaFamily[i];
for (var j=0; j <= colLen; j++) {
objWorksheet.cells(row + i, col + j) = eachRecord[j];
}
}
objExcel.Visible = true
}
//-->
</SCRIPT>
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
18 | 점선없애기 | 박상현 | 2004.06.13 | 1891 |
17 | 주소 감추기 | 박상현 | 2004.06.13 | 1878 |
16 | 한글처리 방법/절차 이해 | 박상현 | 2003.10.20 | 1873 |
15 | 문서크기에 맞게 아이프레임폭 자동으로 조정하기 | 박상현 | 2003.11.17 | 1865 |
14 | 자바스크립트사용시 주의점 | 운영자 | 2003.10.06 | 1833 |
13 | event.keyCode의 숫자표 | 박상현 | 2003.10.20 | 1824 |
12 | 간단한 메일보내기 | 운영자 | 2003.10.09 | 1798 |
11 | clshoesfashionc4u | nacyrobert | 2013.03.15 | 1790 |
10 | 색상표 | 박상현 | 2003.10.10 | 1731 |
9 | <table></table>을 스크롤 시키기 | 박상현 | 2004.04.09 | 1699 |
8 | javascript: event,this는 사용할 수 없습니다 | 박상현 | 2004.06.13 | 1694 |
7 | 목록에서 선택된 라인에만 색칠하고 다른것은 이전색으로 변경하기 | 박상현 | 2003.11.13 | 1641 |
6 | 스크롤바를 따라다니는 이미지 | 박상현 | 2003.12.04 | 1616 |
5 | 테이블 소트 | 박상현 | 2005.08.18 | 1592 |
4 | 브라우저에서 JavaScript 실행 | 구퍼 | 2013.04.11 | 1570 |
3 | 쇼핑몰에 포함될 기능(참고) | 박상현 | 2003.11.06 | 1559 |
2 | 스크롤바를 따라다니는 메뉴판 | 박상현 | 2003.12.04 | 1527 |
1 | JAVA - 한글 인코딩 변환 체크 한방에 끝내기 | 총관리자 | 2014.06.07 | 844 |