Я пытаюсь добавить функцию загрузки csv на моем сайте. Он должен преобразовать таблицу html, присутствующую на веб-сайте, в содержимое csv и сделать ее загружаемой. Ive искал через интернет для хорошего плагина и нашел некоторые usefule, такие как http://www.dev-skills.com/export-html-table-to-csv-file/ Но он использует PHP-скрипт для загрузки части. Мне было интересно, есть ли чистая библиотека javascript, доступная для этой функции, используя программные продукты на стороне сервера, такие как node.js, без использования php?export html table to csv
ответ
Использование только jQuery
и ваниль Javascript
:
export-to-html-table-as-csv-file-using-jquery
Поместите этот код в скрипт, который будет загружен в head
разделе:
$(document).ready(function() {
$('table').each(function() {
var $table = $(this);
var $button = $("<button type='button'>");
$button.text("Export to spreadsheet");
$button.insertAfter($table);
$button.click(function() {
var csv = $table.table2CSV({
delivery: 'value'
});
window.location.href = 'data:text/csv;charset=UTF-8,'
+ encodeURIComponent(csv);
});
});
})
Примечания:
Требуется jQuery и table2CSV: Добавить скрипт ref для обеих библиотек перед сценарием выше.
В качестве примера используется селектор table
и может быть отрегулирован в соответствии с вашими потребностями.
Он работает только в браузерах с полной поддержкой Data URI
: Firefox, Chrome и Opera, а не в IE, который поддерживает только Data URIs
для встраивания данных двоичного изображения в страницу.
Для полной совместимости с браузером вам придется использовать несколько иной подход, который требует сценария на стороне сервера для echo
CSV.
Привет ... спасибо за ответ ... но когда Я пытаюсь загрузить файл tabletoCsv из указанной вами ссылки .. он показывает ошибку «страница не найдена» – sam
Привет @sam, вы можете найти библиотеку здесь: http://www.table2csv.com/ – melancia
Спасибо за Ответить!!! Я действительно оцениваю вашу помощь !! Я нашел еще один интересный вариант после многого поиска http://www.datatables.net/examples/ – sam
Вам не нужен PHP-скрипт на стороне сервера. Делайте это в стороне клиента только в браузерах, которые принимают Data URIs:
data:application/csv;charset=utf-8,content_encoded_as_url
URI-данных будет что-то вроде:
data:application/csv;charset=utf-8,Col1%2CCol2%2CCol3%0AVal1%2CVal2%2CVal3%0AVal11%2CVal22%2CVal33%0AVal111%2CVal222%2CVal333
Вы можете назвать этот URI по:
- с использованием
window.open
- или установка
window.location
- или с помощью href привязки
- , добавив атрибут загрузки, он будет работать в хроме, все равно придется тестировать в IE.
Чтобы проверить, просто скопируйте URI выше и вставьте адресную строку браузера.Или проверить ниже якоря в HTML странице:
<a download="somedata.csv" href="data:application/csv;charset=utf-8,Col1%2CCol2%2CCol3%0AVal1%2CVal2%2CVal3%0AVal11%2CVal22%2CVal33%0AVal111%2CVal222%2CVal333">Example</a>
Чтобы создать контент, получать значения из таблицы, вы можете использовать table2CSV упомянутые MelanciaUK и сделать:
var csv = $table.table2CSV({delivery:'value'});
window.location.href = 'data:application/csv;charset=UTF-8,' + encodeURIComponent(csv);
Существует очень легко бесплатно и открытое решение источник в http://jordiburgos.com/post/2014/excellentexport-javascript-export-to-excel-csv.html
Сначала загрузите файл яваскрипта и файлы примеров из https://github.com/jmaister/excellentexport/releases/tag/v1.4
html-страница выглядит следующим образом.
Убедитесь, что файл javascript находится в одной папке или соответствующим образом изменил путь к скрипту в html-файле.
<html>
<head>
<title>Export to excel test</title>
<script src="excellentexport.js"></script>
<style>
table, tr, td {
border: 1px black solid;
}
</style>
</head>
<body>
<h1>ExcellentExport.js</h1>
Check on <a href="http://jordiburgos.com">jordiburgos.com</a> and <a href="https://github.com/jmaister/excellentexport">GitHub</a>.
<h3>Test page</h3>
<br/>
<a download="somedata.xls" href="#" onclick="return ExcellentExport.excel(this, 'datatable', 'Sheet Name Here');">Export to Excel</a>
<br/>
<a download="somedata.csv" href="#" onclick="return ExcellentExport.csv(this, 'datatable');">Export to CSV</a>
<br/>
<table id="datatable">
<tr>
<th>Column 1</th>
<th>Column "cool" 2</th>
<th>Column 3</th>
</tr>
<tr>
<td>100,111</td>
<td>200</td>
<td>300</td>
</tr>
<tr>
<td>400</td>
<td>500</td>
<td>600</td>
</tr>
<tr>
<td>Text</td>
<td>More text</td>
<td>Text with
new line</td>
</tr>
</table>
</body>
Это очень легко использовать это, как я пытался большинство других методов.
Я нашел, что для этого есть библиотека. Смотрите пример здесь:
https://editor.datatables.net/examples/extensions/exportButtons.html
В дополнение к указанному выше кода следующие файлы Javascript библиотеки загружаются для использования в этом примере:
В HTML, включают в себя следующие сценарии:
jquery.dataTables.min.js
dataTables.editor.min.js
dataTables.select.min.js
dataTables.buttons.min.js
jszip.min.js
pdfmake.min.js
vfs_fonts.js
buttons.html5.min.js
buttons.print.min.js
Включить кнопки, добавив скрипты, такие как:
<script>
$(document).ready(function() {
$('#table-arrays').DataTable({
dom: '<"top"Blf>rt<"bottom"ip>',
buttons: ['copy', 'excel', 'csv', 'pdf', 'print'],
select: true,
});
});
</script>
По какой-то причине экспорт экспорта в поврежденный файл, но может быть восстановлен. Кроме того, отключите excel и используйте экспорт csv.
- 1. CSV to html table
- 2. csv data to html table
- 3. HTML TABLE to CSV converter
- 4. CSV to HTML TABLE jQuery
- 5. MySQLi export to csv
- 6. crosstable() export to csv
- 7. Pgadmin export to html
- 8. objectListView (Export to csv)
- 9. Rails export to CSV
- 10. MongoDB export to CSV
- 11. php table export to Excel
- 12. CSV to html table - сторона клиента
- 13. CSV to HTML Table с помощью php
- 14. html table to CSV через jQuery
- 15. csv to html table с несколькими гиперссылками
- 16. export html5 table to excel jquery
- 17. export array to csv Nodejs
- 18. PHP Export Array to CSV
- 19. Rails export to CSV file
- 20. pandas: export ndarray to csv
- 21. dbf export cols to csv
- 22. SSRS Export to CSV Error
- 23. symfony export html.twig to csv
- 24. Mysql table to csv
- 25. Rails export array hash to csv
- 26. export html form to pdf
- 27. php table export to excel (xls)
- 28. Netezza export to csv с двойными кавычками
- 29. Exportig Html Table to Excel
- 30. Ruby on Rails console export table to excel
Возможный дубликат [Экспорт в csv в jQuery] (http://stackoverflow.com/questions/4639372/export-to-csv-in-jquery) –