WP AdCenter 플러그인을 통해 HighCharts를 통해 생성 된 차트가 있습니다. 사용자 (관리자 및 구독자 모두)가 차트의 PNG, JPG 또는 PDF 이미지뿐만 아니라 Excel 또는 CSV로 차트를 구동하는 원시 데이터를 다운로드 할 수 있기를 바랍니다. 코드 수정을 심각하게하지 않고도이 작업을 수행 할 수있는 방법이 있습니까 (필자는 PHP 프로그래머가 아닙니다). 이 추가 내보내기 옵션은 가까운 미래에 출시 될 수있는 기능입니까?하이 차트 : 차트를 움직이는 원시 데이터의 Excel 또는 CSV를 사용자에게 내보낼 수 있습니까?
2
A
답변
8
이 jsfiddle은 하이 차트에서 Excel을 만드는 데 도움이됩니다. 다운로드 CSV 옵션이 내보내기 메뉴에 제대로 추가되었습니다. 그냥 통과하면 자신이 더 잘할 것입니다. 여기
코드입니다 :/**
* A small plugin for getting the CSV of a categorized chart
*/
(function (Highcharts) {
// Options
var itemDelimiter = ',', // use ';' for direct import to Excel
lineDelimiter = '\n';
var each = Highcharts.each;
Highcharts.Chart.prototype.getCSV = function() {
var xAxis = this.xAxis[0],
columns = [],
line,
csv = "",
row,
col;
if (xAxis.categories) {
columns.push(xAxis.categories);
columns[0].unshift("");
}
each (this.series, function (series) {
columns.push(series.yData);
columns[columns.length - 1].unshift(series.name);
});
// Transform the columns to CSV
for (row = 0; row < columns[0].length; row++) {
line = [];
for (col = 0; col < columns.length; col++) {
line.push(columns[col][row]);
}
csv += line.join(itemDelimiter) + lineDelimiter;
}
return csv;
};
}(Highcharts));
// Now we want to add "Download CSV" to the exporting menu. We post the CSV
// to a simple PHP script that returns it with a content-type header as a
// downloadable file.
// The source code for the PHP script can be viewed at
// https://raw.github.com/highslide-software/highcharts.com/master/studies/csv-export/csv.php
Highcharts.getOptions().exporting.buttons.contextButton.menuItems.push({
text: 'Download CSV',
onclick: function() {
Highcharts.post('http://www.highcharts.com/studies/csv-export/csv.php', {
csv: this.getCSV()
});
}
});
var chart = new Highcharts.Chart({
chart: {
renderTo: 'container'
},
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},
series: [{
data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
}]
});
$('#getcsv').click(function() {
alert(chart.getCSV());
});
1
HighCharts의 범위를 벗어날 수 있습니다. series.data 값이 무엇인지 파악하고 반복하여 페이지의 자바 스크립트 내에서 CSV를 만들 수 있습니다. 아니면 백엔드에서 미리 할 수 있습니다.
+0
페이지에 자바 스크립트에서 CSV를 만들기 위해 샘플 코드를 거기에, 그래서 HighCharts에 의존 할 필요가 없습니다 (그들은 내가 가진 자신의 csv.php 파일을 제거 되었습니다 전에 사용하고있다) –
1
내보내기 버튼 (http://api.highcharts.com/highcharts#exporting.buttons.contextButton.onclick)을 추가하고 chart.series 객체에 보관 된 모든 값을 차트에서 가져 와서 string/array로 푸시 할 수있는 함수를 준비 할 수 있습니다. 그렇다면 javascript에서 파일을 "생성"하는 방법을 찾고 배열/문자열로 채울 필요가 있습니다.
관련 문제
- 1. 내보낼 때 하이 차트 차트 다시 그리기
- 2. 하이 차트 데이터의 날짜
- 3. 하이 차트를 내보낼 때 A3 페이지를 사용하십시오.
- 4. 카테고리 차트를 중복하는 하이 차트
- 5. 특수 하이 차트 차트를 찾고
- 6. 하이 차트 IE8 또는 IE9에서 차트를 반환하지 않는 차트 내보내기
- 7. 하이 차트를 내보낼 때 몇 가지 오류가 표시됩니다.
- 8. 퓨전 차트 또는 하이 차트를 사용하는 것이 가장 좋습니다.
- 9. 하이 차트를 사용하여 차트 간 전환
- 10. 하이 차트 애니메이션을 비디오로 내보내기
- 11. 어떻게 하이 차트를 뒤집을 수 있습니까?
- 12. 하이 차트를 사용한 영역 스플라인 차트
- 13. 하이 차트 막대 차트를 작성하는 방법
- 14. 하이 차트 : 사용자가 차트를 변경할 때 차트 매개 변수를 저장합니다.
- 15. 하이 차트 : "모두 인쇄"버튼
- 16. 내보낼 때 하이 차트 중국어 콜론 표시가 잘못됨
- 17. 하이 차트 조합 차트
- 18. 하이 차트 : 브라우저에서 여러 차트를 내보내는 방법은 무엇입니까?
- 19. 어떻게 다이어그램 - 하이 차트를 작성할 수 있습니까?
- 20. Wicked PDF로 어떤 웹 차트 라이브러리를 잘 내보낼 수 있습니까?
- 21. 보고서 차트를 이미지가 아닌 엑셀 차트로 Excel로 내보낼 수 있습니까?
- 22. 하이 차트를 동적으로로드하는 방법
- 23. 하이 차트 : Ajax 기반 페이지에 새로운 차트를 표시하기 전에 하이 차트 초기화
- 24. 셀레늄으로 하이 차트 테스트하기
- 25. 단위가있는 하이 차트 값
- 26. 하이 차트를 인쇄 미리보기로 내보내기
- 27. 하이 차트 맞춤 차트
- 28. 하이 차트 조합
- 29. 줌없이 하이 차트 선택
- 30. 하이 차트 - "궁도 범위"차트?
FYI - 위의 코드는 xAxis.categories가 실행될 때마다 계속 수정 될 것입니다. columns [0] .unshift ("")는 모든 후속 시간에 CSV로 내보낼 수 있도록했습니다. 추가 헤더가 있어야합니다. 이 문제를 해결하려면 다음을 수행하십시오. columns.push (xAxis.categories.slice (0)); xAxis.categories를 복제하여 새 배열을 수정합니다. –
잘됐다. 그러나 ""undefined는 객체가 아닙니다 ('Highcharts.getOptions(). exporting.buttons.contextButton.menuItems')를 평가합니다. 이것이 가능하고 어떻게 해결 될 수 있습니까? 모든 팁 주셔서 감사! – luftikus143
@ luftikus143 메뉴에 새 항목을 추가하려고하십니까? 너는 너의 일의 바이올린을 줄 수 있니? – osyan