javascript - 如何使用 Ajax 从 ASP.net MVC 中的 DataTable 导出 CSV 文件?
问题描述
我有一种生成 CSV 的方法,如下所示
public ActionResult ExportToExcel(SampleRequest Sprequest)
{
var viewModel = new SummaryModel();
DataSet ds = new DataSet();
DataTable dt = new DataTable();
ds = getGridList(Sprequest);
dt = ds.Tables[1];
Response.Clear();
Response.ContentType = "text/csv";
Response.AddHeader("content-disposition", "attachment;filename = Customers.csv");
StringBuilder sb = new StringBuilder();
for (int i = 0; i < dt.Columns.Count; i++)
{
sb.Append(dt.Columns[i].ColumnName + ',');
}
sb.Append(Environment.NewLine);
for (int j = 0; j < dt.Rows.Count; j++)
{
for (int k = 0; k < dt.Columns.Count; k++)
{
sb.Append(dt.Rows[j][k].ToString() + ',');
}
sb.Append(Environment.NewLine);
}
Response.Write(sb.ToString());
Response.End();
}
和按钮代码如下
<input type="button" value="Export To Excel" id="excelbutton" class="btn" style="width:110px;height:29px;background-color:#3498db;color:white;font-size: 0.89em;" />
javascript代码如下
$(document).on('click', '#excelbutton', function () {
ExportToExcel();
})
function ExportToExcel(pageNumber, isPagination) {
var gcModel = {
FromGiven: $('#dateFromGiven').val(),
ToGiven: $('#dateToGiven').val(),
FromTaken: $('#dateFromTaken').val(),
ToTaken: $('#dateToTaken').val(),
FromCardno: $('#FromCard').val(),
ToCardNo: $('#ToCard').val(),
PageNumber: pageNumber ? pageNumber : 0
};
$.ajax({
url: "/GiftCard/ExportToExcel",
type: 'POST',
contentType: 'application/json',
data: JSON.stringify(gcModel) ,
// data: { },
success: function (responce) {
},
error: function () {
}
})
}
On Button Click it is Going to the method 但 csv 没有被下载,我需要通过将所有参数(FromGiven、ToGiven)等作为 Sp 中的参数下载为 CSV 文件并下载 Csv。在使用操作链接上,该方法工作正常,但无法通过该方法传递 sql 参数,我希望通过将 HTML 控件值作为参数将数据下载到 CSV 文件中请帮助提前致谢...
解决方案
推荐阅读
- spring-boot - spring 配置服务器无法通过 webhook 刷新
- highcharts - 条形图高度错误
- linkedin - Linkedin API - Picture-urls::original - 禁止 403 错误
- node.js - 为 NPM 注册表创建代理服务器
- docker - 如何通过命令行为 Docker for Mac 配置交换空间?
- javascript - ionic html5 选择/键盘打开,向上滚动视图和选项卡并在 iOS 上的选项卡后创建空白空间
- python - Python:将对象插入 .xlsx 文件
- r - 如何从本地文件夹安装 R 包,而依赖项安装仍在同一文件夹中?
- ios - 如何在 iOS 中为 React Native 应用程序禁用系统的粗体文本可访问性设置?
- python - 将 %m-%d 转换为 dayofyear 格式