FineUI 官方论坛

标题: 使用NPOI导出excel问题 [打印本页]

作者: cawind2    时间: 2017-4-14 23:58
标题: 使用NPOI导出excel问题
MVC中使用NPOI导出excel
controller中
public FileResult btnExport_Click()
        {
              DataTable dt = ((DataSet)Session["dll_ds"]).Tables[0];

            NPOI.HSSF.UserModel.HSSFWorkbook b = new NPOI.HSSF.UserModel.HSSFWorkbook();

            NPOI.SS.UserModel.ISheet sheet1 = b.CreateSheet("Sheet1");

            NPOI.SS.UserModel.IRow row1 = sheet1.CreateRow(0);
            
            {
                row1.CreateCell(i).SetCellValue(dt.Columns[i].ColumnName);
            }
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                NPOI.SS.UserModel.IRow rowtemp = sheet1.CreateRow(i + 1);
                for (int j = 0; j < dt.Columns.Count; j++)
                {
                    rowtemp.CreateCell(j).SetCellValue(dt.Rows[i][j].ToString().Trim());
                }
            }
              
            // 写入到客户端   
            System.IO.MemoryStream ms = new System.IO.MemoryStream();
            b.Write(ms);
            ms.Seek(0, SeekOrigin.Begin);

            return File(ms, "application/vnd.ms-excel", "Excel.xls");
        }
前端view中
F.Button()
                        .ID("btnExport")
                        .Text("导出excel")
                        .DisableControlBeforePostBack(false)
                        .OnClick(Url.Action("btnExport_Click")),

结果页面没有反应,这种办法在asp.net mvc中没问题,但FNEUI不行,正确写法应该是怎么?谢谢

作者: sanshi    时间: 2017-4-15 09:42
这样不行,FineUIMvc中的控件服务器事件(也可以说对控制器方法的调用)是AJAX过程,所以不能直接用OnClick事件。

看下官网示例,可以用GET,有可以用POST:http://fineui.com/demo_mvc/#/demo_mvc/Grid/ExcelInput
作者: cawind2    时间: 2017-4-15 22:08
谢谢,fineui web控件有个选项可以设置disable ajax,还以为mvc控件也有




欢迎光临 FineUI 官方论坛 (https://fineui.com/bbs/) Powered by Discuz! X3.4