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 | 스크롤바를 따라다니는 메뉴판 | 박상현 | 2003.12.04 | 1575 |
17 | 스크롤바를 따라다니는 이미지 | 박상현 | 2003.12.04 | 1684 |
16 | 이벤트 종류알기 및 좌표 읽기 | 박상현 | 2003.12.03 | 1989 |
15 | 문서크기에 맞게 아이프레임폭 자동으로 조정하기 | 박상현 | 2003.11.17 | 1928 |
14 | 목록에서 선택된 라인에만 색칠하고 다른것은 이전색으로 변경하기 | 박상현 | 2003.11.13 | 1705 |
13 | 목록에서 다중 선택된 항목을 표시(특정색상)하고 체크박스를 선택해주는 스크립트 | 박상현 | 2003.11.07 | 2837 |
12 | 여러가지의 색으로 롤오버 효과및 항목을 선택시 선택된 색을 고정시키는 예제 | 박상현 | 2003.11.07 | 2212 |
11 | event.keyCode의 숫자표 | 박상현 | 2003.10.20 | 1863 |
10 | jsp페이지에서 popup창의 depth에 따른 메인 복귀 방법 달리하기... | 박상현 | 2003.10.14 | 3496 |
9 | 색상표 | 박상현 | 2003.10.10 | 1771 |
8 | [javascript]textarea의 내용을 클립보드에 담아 처리하기 | 박상현 | 2003.10.09 | 3679 |
7 | 자바스크립트사용시 주의점 | 운영자 | 2003.10.06 | 1899 |
» | excel로 자료 출력 | 운영자 | 2003.10.06 | 2387 |
5 | 테두리및 가로줄, 세로줄이 1px인 테이블 만들기 | 운영자 | 2003.10.01 | 2531 |
4 | table 외곽에 테두리만 1pixel로 만들기 | 운영자 | 2003.10.01 | 2249 |
3 | BB설명 | 운영자 | 2003.09.26 | 2159 |
2 | 창닫기 전에 물어보기 | 운영자 | 2003.09.26 | 2574 |
1 | popup창 띄우는 4가지 방법 | 운영자 | 2003.09.24 | 4004 |