我正在尝试使用jQuery打开excel表,但我还需要在POST中将数据发送到该php文件。我正在使用phpexcel类来执行此操作。我使用phpexcel没有问题,但是尝试打开一个窗口并发布数据是个问题。
下一行确实打开了我的Excel文件
window.open('boo.php','_self');
好的,所以我尝试了以下代码
$.post("boo.php", {
BANANA: "A banana",
CODE: "excel"
},function(data){
var w = window.open('','_self');
w.document.write(data);
w.document.close();
});
上面确实如此,打开一个新页面,它确实发送了我的两个post varibles,但是有一个问题。
而不是我的excel表单打开它会向页面发布乱码。
所以我想我的第二段代码,不知何故是在标题之前插入一些内容,然后phpexcel失败了。
我的PHP代码目前非常简单,因为如果您遇到问题,最好简化它。
<?php
include_once 'core/bananas.php';
$excel = new globalExcel();
$excel->test();
?>
那么有没有办法打开我的phpexcel文件并将数据发布到它而不会搞砸标题?
答案 0 :(得分:0)
是的,我正在发布我的解决方案,但这不是我的问题的确切答案。我想通过jQuery来做。
我在之前的项目中做的是发布到php并创建会话变量然后打开excel页面,使用window.open返回jQuery。 这次不是一个选项,因为我需要发布变量而不是Session变量,因为我从两个不同的地方调用相同的代码。
我的解决方案不是使用jQuery来发送信息,而是使用隐藏的表单。所以我没有回答我的问题,而是给出了一个可能的替代解决方案。
<form id="excel" action="boo.php" method="post" style="display:none">
<input type="hidden" name="VPAGE" value="mileage">
<input type="hidden" name="CODE" value="excel">
</form>
<button class="btn btn-default btn-xs" form="excel"><i class="fa fa-file-excel-o" aria-hidden="true"></i> Excel</button>
正如我所说,这不是我想要的解决方案,但确实有效。所以,如果有其他人被卡住,我会把这个答案放进去。
如果有人知道如何在jQuery中执行此操作,我仍然会很高兴看到答案。