我正在使用一个插件,我的同事之一在内部开发了一个HTML表格并将其转换为excel文件,以便使用PHPExcel
& simple_HTML_DOM
。
当调用时,它会找到table元素,将html添加到textarea并将其发布到执行处理的PHP中。
问题是,当表格中有大量数据时,它会将该内容发送到textarea
元素,而该元素似乎会中断。
以下是获取HTML并将其添加到textarea的代码片段:
var tableToExcel = {
download:function(html, fileName, fileExtension, autosizeToColumn){
if(html && html!=""){
if(!document.getElementById('tableToExcelForm')){
var f = document.createElement('form');
f.setAttribute('method', 'post');
f.setAttribute('action', window.location.protocol + "//" + window.location.host + "/resources/tableToExcel.php");
f.setAttribute('id', 'tableToExcelForm');
f.style['display'] = "none";
var t = document.createElement('textarea');
t.setAttribute('name', 'table');
t.setAttribute('id', 'tableToExcelTextarea');
......
document.getElementsByTagName('body')[0].appendChild(f);
document.getElementById('tableToExcelTextarea').value = html;
document.getElementById('tableToExcelForm').submit();
如果我直接将HTML传递给PHP文件,无论大小如何都可以正常工作,所以我知道它工作正常。我相信它归结为文本区域可以容纳的数据量,即使它没有隐含在我的代码中。
在将数据发布到我的PHP文件之前,是否还有其他元素可以用来存储这些数据?