Мне нужно экспортировать данные jqgrid с валютным форматом, например $ 4,355.Экспорт данных jqgrid в excel/pdf с валютным форматом
Мой колмодель внизу. Я звоню как функция exportGrid('griddtable',[1,2,3,4,5])
name : 'totalSpend',
index : 'totalSpend',
align : 'right',
sorttype : 'number',
formatter : 'currency',
formatoptions : {
prefix : '$',
thousandsSeparator : ','
}
function exportGrid(table, filtered) {
var mya = new Array();
mya = $("#" + table).getDataIDs(); // Get All IDs
var data = $("#" + table).getRowData(mya[0]); // Get First row to get the
// labels
var colNames = new Array();
var ii = 0;
for (var i in data) {
colNames[ii++] = i;
} // capture col names
var html = "";
for (var k = 0; k < colNames.length; k++) {
if (filtered.indexOf(k) >= 0) {
html = html + colNames[k] + "\t";
}
}
html = html + "\n"; // Output header with end of line
for (i = 0; i < mya.length; i++) {
data = $("#" + table).getRowData(mya[i]); // get each row
for (var j = 0; j < colNames.length; j++) {
if (filtered.indexOf(j) >= 0) {
html = html + data[colNames[j]] + "\t"; // output each Row as
// tab delimited
}
}
html = html + "\n"; // output each row with end of line
}
html = html + "\n"; // end of line at the end
var form = "<form name='csvexportform' action='exportData.do?method=excelExport' method='post'>";
form = form + "<input type='hidden' name='fileName' value='" + fileName
+ "'>";
form = form + "<input type='hidden' name='csvBuffer' value='" + html + "'>";
form = form + "</form><script>document.csvexportform.submit();</sc"
+ "ript>";
OpenWindow = window.open('', '');
OpenWindow.document.write(form);
OpenWindow.document.close();
}
Любые предложения? Есть ли возможность получить данные строки с отформатированным значением?
Где в начале данных, которые вам нужно экспортировать? Сетка обычно заполняется данными из бэкэнд (например, с данными из базы данных). Итак, зачем нужно получать данные со страницы HTML и отправлять их на бэкэнд, если на * сервере * ** есть ** данные уже? Разве это не является родным для отправки только запроса запроса на сервер для генерации XLSX из данных, уже существующих на сервере. [Ответ] (http://stackoverflow.com/a/9349688/315935) и [этот] (http://stackoverflow.com/a/13957161/315935) приводят примеры такой реализации. – Oleg
@ Олега благодарит за ответ. У меня также был выбор столбцов для фильтрации столбцов. Можно ли получить отфильтрованные столбцы и строки, доступные в настоящее время в сетке? –
Вы можете отправить серверу список имен не скрытых столбцов в том порядке, в котором его отображает jqGrid. Вы также можете отправить столбец сортировки и порядок сортировки. Все остальные могут делать сервер. – Oleg