我正在實現與使用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將郵件推送到前端。 –