我正在实现与使用DataTables
和excel文件的接口。动机是上传一个Excel,然后在DataTables
中显示它。 因为我没有找到任何解析excel并提供给DataTables
的JavaScript库。唯一的选择是将数据发送到前端struts/java并发送回json。 是否有可能让DataTables
等待Ajax的json而不发送请求。 。数据表中的Ajax响应
1
A
回答
0
我认为,有可能在HTML5和JavaScript。运行并测试下面的代码。
<html>
</head>
<script>
function readBlob() {
var files = document.getElementById('files').files;
if (!files.length) {
alert('Please select a file!');
return;
}
var file = files[0];
var start = 0;
var stop = file.size;
var reader = new FileReader();
// If we use onloadend, we need to check the readyState.
reader.onloadend = function(evt) {
if (evt.target.readyState == FileReader.DONE) { // DONE == 2
document.getElementById('byte_content').textContent = evt.target.result;
}
};
var blob = file.slice(start, stop);
reader.readAsBinaryString(blob);
}
</script>
</head>
<body>
<input type="file" id="files" name="file" accept=".csv" />
<span class="readBytesButtons">
<button onclick="readBlob()">entire file</button>
</span>
<div id="byte_range"></div>
<div id="byte_content"></div>
</body>
</html>
我们可以通过JavaScript中的FileReader将文本中的excel数据提取出来。 如果你想在数据表中显示数据,请使用你的逻辑。
0
是的,这是可能的,但在你的情况下不需要Ajax。我会怎么做?见下:
有一个窗体上传Excel文件到我的struts实现。然后执行excel文件的处理并以纯html/table格式返回内容。然后做一个简单的数据表初始化页面加载和你的完成!
UPDATE
对于分页,数据表支持AJAX这样的:
var oTable = "";
$(document).ready(function() {
oTable = $('#htmltableID').dataTable({
"sPaginationType": "full_numbers",
"bServerSide": true,
"sAjaxSource": "/myAjaxSource.jsp?page="+pageNumber+",
"sServerMethod": "POST",
"iDisplayLength": 50
});
}
然后在你的myAjaxSource.jsp你在AJAX发送URL参数page
并返回相应数据(JSON )
0
是的当然,
我想你想尝试一些荷兰国际集团这样的
上传文件到服务器
- 阅读支柱作用的Excel文件,将其保存在磁盘上的临时文件夹,并返回文件名,你的JSP。
时,于是做了第一步使AJAX调用Struts动作
- 通过文件名作为参数FOM的DataTable Ajax调用从磁盘
- 加载文件阅读,在POJO,或者VO对象 填充
- 使用gosn或jakson api创建来自Pojo的Json
- 终于返回json。
相关问题
- 1. jquery数据表Ajax响应
- 2. 空Ajax响应的数据表错误
- 3. 带ajax响应的数据表
- 4. JSON数据的Ajax响应
- 5. 将ajax响应加载到数据表
- 6. 数据表列渲染与Ajax响应
- 7. 表TD不显示Ajax响应数据
- 8. 响应式数据表没有更响应与AJAX
- 9. 从ajax响应中提取数据
- 10. jQuery的AJAX错误的数据响应
- 11. 响应数据表
- 12. jQuery的数据表 - 无法加载Ajax响应到表
- 13. Ajax响应数据复选框的id
- 14. Ajax中的响应
- 15. Bootstrap表无法在Ajax响应中显示json数据
- 16. ajax响应中的大量数据和不一致的反应
- 17. 数据表的回调/事件时,空的Ajax响应
- 18. 在jQuery数据表中的json响应
- 19. AngularJs数据绑定在ajax html响应
- 20. Zend Framework 3 AJAX响应数据
- 21. 在AJAX响应数据上使用jQuery
- 22. 将AJAX响应数据添加到Div
- 23. 检查Ajax json响应数据
- 24. Ajax响应无法访问数据项
- 25. IE Ajax响应是旧数据
- 26. ajax请求响应虚假数据
- 27. 从ajax响应获取数据
- 28. 无法从Ajax响应获取数据
- 29. 使用jQuery ajax响应数据
- 30. 将PHP数据传递给Ajax响应?
在这种情况下,服务器分页将成为问题。由于excel可能很大。在AJAX中没有选项可以等待数据,或者在提交GET请求时触发javascript函数。例如,可以像gmail将邮件推送到前端。 –