У меня возникли проблемы с экспортом моей таблицы html в Excel, вот что я пробовал.Экспорт таблицы Html в Excel - все браузеры
window.open('data:application/vnd.ms-excel,' + encodeURIComponent($('#myTableDiv').html()));
Удивительно работает на хроме, но не работает в Internet Explorer; Просто перейдите на новую вкладку с данными в URL-адресе (проверено на IE10). Поэтому я попытался проверить IE и затем использовать метод ActiveXObject для браузеров IE.
var objExcel = new ActiveXObject ("Excel.Application");
Но это дало мне ошибки при создании объекта, и у меня есть Excel 2013 на моем компьютере. Этот метод не кажется очень надежным.
Итак, теперь я хочу попробовать его на языке сервера (JSP).
Вот моя текущая попытка.
$('.toExcel').click(function(){
$.post('controllers/excel.jsp?tableHTML=' + encodeURIComponent($('#myTableDiv').html()), function(data) {
});
});
И мой JSP
<!DOCTYPE html>
<%@ page import="java.io.PrintWriter" %>
<%@ page contentType="application/excel" language="java" %>
<%
response.reset();
response.setHeader("Content-Type", "application/vnd.ms-excel");
response.setHeader("Content-Disposition", "attachment;filename=\"report.xls\"");
PrintWriter op = response.getWriter();
String CSV = request.getParameter("tableHTML");
op.write(CSV);
%>
Я знаю, что есть по крайней мере несколько проблем с этим.
- При отправке на адрес нет приглашения скачать.
- только столько HTML может поместиться в качестве параметра
Когда я перейти к URL запроса в хроме он загружает файл. Когда я перейти к URL запроса в IE 10, я получаю следующее сообщение об ошибке:
HTML1527: DOCTYPE expected. The shortest valid doctype is "<!DOCTYPE html>".
excel.jsp, line 1 character 1
Может кто-нибудь помочь мне с надежным решением, которое будет работать для всех браузеров?
ли вы получить в любом месте с этим? –
@VincePettit Ну, я нашел решение, используя 'jsp' серверный язык. Но не нашли строго «клиентской стороны» решение, которое работает. Вас интересует решение 'jsp'? – Trevor
Да, пожалуйста, если бы вы могли сообщить мне об обходном пути, который был бы замечательным. –