我正在尝试用OfficeJS发送一个“大”表:
从清单路由加载的functionfile.html
<script>
(function (){
"use strict";
Office.initialize = function (reason) {
$(document).ready(function() {
$("#send-data-button").click(send_data);
});
};
function send_data() {
return Excel.run( function(context) {
var data = context.workbook.worksheets.getItem("SheetName")
.getRange("A1:K3673").load("values");
return context.sync().then( function() {
// 2d table is correctly seen
// $("body").append(data.values);
// Just gets lost in ajax call
$.ajax({
type: "GET",
url: mysite,
data: {"accessData": data.values},
}).done( function(success) {
$("body").append("All Done");
}).fail( function(error) {
$("body").append("Error == " + JSON.stringify(error));
});
return context.sync();
});
});
}
})();
</script>
<div> <button id="send-data-button"> Send </button></div>
然而,我不确定如何发送它,在后台我有一个捕获请求的flask服务器,并希望我可以只使用pandas.read_json
,但无论我如何发送它,我都会收到不同的错误。这是data.values[0][0]
时flask.request
的打印输出
CombinedMultiDict([ImmutableMultiDict([('update_date', '43191'), ('accessData', 'Channel')]), ImmutableMultiDict([])])
当我尝试data.values[0]
时,我得到了一个值列表,这正是我所期望的
CombinedMultiDict([ImmutableMultiDict([('update_date', '43191'), ('accessData[]', 'Channel'), ... <All my column headers>, ImmutableMultiDict([])])
但是当我尝试发送只有data.values
的2D数组时,我在ajax.fail
中得到了一个错误消息:
Error == {"readyState":0,"status":0,"statusText":"error"}
我也尝试了JSON.stringify(data.values)
,得到了相同的错误消息:
Error == {"readyState":0,"status":0,"statusText":"error"}
我甚至尝试将每一列转换为某种类型的列表,作为accessData
中的嵌套键,但我得到了相同的错误消息。任何帮助都将不胜感激。
https://stackoverflow.com/questions/50613903
复制相似问题