2011-11-16 3 views
7

JSON 데이터를 서버 측과 상호 작용하지 않고 CSV/Excel로 내보낼 수 있습니까? Javascript 만 사용 하시겠습니까? 또는 플래시? 저는 현재 ZeroClipboard를 사용하여 클립 보드에 값을 복사하고 있지만 생성 된 값을 브라우저 (FF, Chrome, IE 등)에서 Excel로 직접 열려고합니다.자바 스크립트 또는 플래시로 CSV/Excel로 내보내기

Thx.

+1

http://stackoverflow.com/questions/3665115/create-a-file-in-memory-for-user-to-download-notthrough-server –

답변

8

테이블에서 Excel로 가장 깨끗하고 쉬운 내보내기는 Jquery DataTables Table Tools plugin입니다. 당신은, 필터, 주문 및 페이지 데이터를 정렬 그리드를 얻고, 코드 몇 여분의 라인과 두 개의 작은 파일로, 당신은 클립 보드에, 엑셀, PDF, CSV에 수출을 얻을 포함프린터.

$(document).ready(function() { 
    $('#example').dataTable({ 
     "sDom": 'T<"clear">lfrtip', 
     "oTableTools": { 
     "sSwfPath": "/swf/copy_cvs_xls_pdf.swf" 
     } 
    }); 
}); 

그래서, 배포 빠르게, 매우 쉽게 어떤 브라우저 제한 할 필요없이 서버 측 언어, 무엇보다도 이해할 수 :

이 필요한 것 모든 코드입니다. 윈 - 윈입니다. 그러나 제한이있는 한 가지는 열의 형식을 엄격하게 지정하는 것입니다.

+0

내보낼 때 열린 옵션을 사용할 수 있습니까? 이상하다. 그러나 Excel 문서 만 저장할 수있다. – ic3

+0

DataTable 기능을 추가하지 않고도 TableTools 내보내기 기능을 사용할 수 있습니까? 내 말은, 이미 정렬 및 필터링과 훨씬 더 많은 것들 (DataTables가 아닌 다른 방법 사용)이있는 HTML 테이블이 있는데, 이제는 내보내기 기능 만 필요했습니다 ... –

+0

TableTools를 사용하려고하지만 swf 버튼을 사용하는 대신 내 자신의 버튼을 사용하고 싶습니다. 가능한가? – Firnas

2

모든 브라우저와 파일 크기에서만 클라이언트 측에서이를 수행 할 수있는 확실한 방법은없는 것처럼 보입니다.

  • 플래시 플러그인 (: Downloadify 예 :) : 모든 솔루션은 다음 중 하나를 사용하는 것 버그가 아닌 모바일 호환
  • 데이터 URL : 제한 IE 지원 및 크기 제한
  • HTML5 : 다운로드 방법이 표준화되지 브라우저간에

사용 사례에 따라 위의 경우 중 하나를 벗어날 수 있습니다. 여기에 SO에 대한 자세한 내용이있는 다른 게시물이 있습니다.

참고 Ramandeep 싱에서 답이 부분이 잘못되었다고 : 그래서

, 빠른, 더 브라우저의 한계를 배포하지 않으려면 어떤 서버 측 없다 언어 이 필요하며, 무엇보다도 이해하기가 매우 쉽습니다.

DataTables는 코드를 보면 플래시 플러그인을 사용합니다. 모바일 브라우저 (iOS, 최신 안드로이드 장치, Windows 8 RT, 해킹이나 MSFT 승인 프로세스가없는)에서는 작동하지 않습니다. 사이트의 게시물은 다음과 같습니다. http://www.datatables.net/forums/discussion/7563/export-to-csvpdf-without-tabletools/p1

관련 문제