Я пытаюсь отправить "большую" таблицу в 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>
Однако я не уверен, как это отправить,на обратной стороне у меня есть флеш-сервер, перехватывающий запрос, и я надеялся, что смогу просто использовать pandas.read_json
, но как бы я ни пытался отправить это, я получаю разные ошибки.Вот распечатка flask.request
, когда data.values[0][0]
:
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
, я получаю сообщение об ошибке в ajax.fail
:
Error == {"readyState":0,"status":0,"statusText":"error"}
Я также пытался JSON.stringify(data.values)
и получал то же сообщение об ошибке:
Error == {"readyState":0,"status":0,"statusText":"error"}
Я даже пытался взять каждый столбец и преобразовать их в какой-то список в виде вложенных ключей внутри accessData
, но я получал то же сообщение об ошибке.Любая помощь будет принята с благодарностью.