2010-06-01 4 views
0

많은 Excel 파일을 html로 내보내는 프로젝트에서 작업 중입니다. 이것은 자동화와 html로 저장을 사용하여 매우 간단합니다.Excel 시트의 딥 링크를 html로 내 보낸

이 시트의 대부분은 다른 파일의 워크 시트에 대한 링크가있는 것이 문제입니다. 하나의 내부 워크 시트에 대한 링크를 작성하는 방법을 찾아야합니다.

여러 시트 Excel 파일을 html로 내 보내면 excel이 파일 인 filename_file이라는 폴더를 만들고이 폴더 내에 여러 파일을 작성합니다. css, xml 파일 목록, 생성하는 파일 탭 막대 및 여러 개의 html 파일 (sheetxxx.htm)이 있으며 각 파일은 워크 시트를 나타냅니다.

주 파일을 열 때 하단에서 적절한 시트를 선택할 수있는 메뉴 모음을 클릭 할 수 있습니다. 이것은 실제로 프레임 내용을 sheetxxx.htm 파일로 대체하는 링크입니다. 이 파일이로드되면 올바른 탭을 선택하는 JavaScript 함수가 호출됩니다.

내 보낸 파일은 웹 사이트에 게시됩니다. 각 파일을 처리하고 다른 xls 파일의 모든 링크를 일치하는 htm 파일로 대체하여 올바른 워크 시트를 여는 방법을 찾아야합니다.

은 내가 myfile.htm (예를 들어, myfile.xls)의 두 번째 워크 시트에 연결할 경우, 나는 그런 myfile.htm?sh=sheet002.htm 같이 처리 HTM 파일 링크 URL에 매개 변수를 추가 할 수 있다고 생각합니다. 필자가 익스포트 한 후에 메인 파일 각각에 간단한 자바 스크립트를 삽입 할 수 있습니다.로드 할 때 sh 매개 변수를 jQuery로 가져올 수 있습니다 (이 방법은 쉽습니다).이를 사용하여 frSheet 프레임 내용을 바꿉니다 (여기서 시트가로드 됨), 사용자가 탭을 클릭 할 때 발생하는 것을 모방 한 기본 시트가 아닌 오른쪽 내부 시트를 여는 것 (이것이 딥 링크라고 부름)입니다.

이 마지막 단계가 누락되었습니다. ... document.ready 다음에 $("frSheet") 프레임의 소스를 바꾸는 것과 같은 다른 옵션을 고려하고 있습니다.

다른 방법으로 구현할 수 있습니까?

답변

0

mmh 어쩌면 나는 작동하는 방법을 찾았습니다.

function getUrlVars() 
{ 
    var vars = [], hash; 
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); 
    for(var i = 0; i < hashes.length; i++) 
    { 
     hash = hashes[i].split('='); 
     vars.push(hash[0]); 
     vars[hash[0]] = hash[1]; 
    } 
    return vars; 
} 

$().ready(function() { 

    var id = getUrlVars()["id"]; 

    if (id != null) { 
     // document.location = id; 
     var fr= $("frame")[0]; 
     fr.src=id; 
    } 

}); 

파일이 같이 호출해야합니다 :

Cartel1.htm?id=cartel1_file/sheet003.htm 

에 전달 된 매개 변수를 얻을 수 http://jquery-howto.blogspot.com/2009/09/get-url-parameters-values-with-jquery.html에서 몇 가지 코드를 사용하여 , 나는 fsSheet 프레임 SRC를 대체 할 수있는 매우 간단한 코드를 작성했습니다 세 번째 시트를 선택하십시오. 이것은 IE, FFox 및 Chrome에서 작동하는 것으로 보입니다.

더 좋은 아이디어가 있으면 알려 주시기 바랍니다.

관련 문제