1、 导出数据功能很常用,一般导出功能如果是想导出layui table渲染表格的数据的情况可以直接调用layui插件里面的工具条就可以有导出的功能,如下图,直接在表头的下面给toolbar:”#ID”,这里的ID是唯一容器的ID,可以是整个表格的唯一容器ID
2、 第二张导出方法:
(1).给导出按钮一个点击事件:
当点击导出按钮时触发方面的函数
function ExportData() {
window.open(“ExportPurchaseOrderDate”)
}
(2)在控制器中创建方法ExportPurchaseOrderDate 去查询数据,创建工作簿导出的是Excel表格,
这里是最简单的导出,如果你想要满足根据条件筛选数据导出筛选处理的数据,就需要在试图哪里传递参数过来筛选数据,方法跟查询数据筛选一样的,不同的只是后面的创建工作簿等工作
public ActionResult ExportPurchaseOrderDate(){
List myStockIndentData = (from tb in myModel.PW_StockInvoices//进货单
select new purchaseOrderData {
InvoicesNumber=tbStockInvoices.InvoicesNumber,//单据编号
SupplierName = tbSupplier.SupplierName,//供应商名称
}).ToList();
//创建工作簿
HSSFWorkbook excelBook = new HSSFWorkbook();
//创建工作
//为工作簿创建工资表并命名
NPOI.SS.UserModel.ISheet sheet1 = excelBook.CreateSheet(“进货单”);
//编写工作表
//(1)表头、
//创建标题行并设置字段
//创建第一行
NPOI.SS.UserModel.IRow row1 = sheet1.CreateRow(0);
//创建列
row1.CreateCell(0).SetCellValue(“业务日期”);
row1.CreateCell(1).SetCellValue(“单据编号”);
……………………
//(2)数据:
//创建数据行
for(int i = 0;i < myStockIndentData.Count(); i++)
{
//创建第行,因为在上面已经创建了第一行,所以在这里从第二行开始创建
NPOI.SS.UserModel.IRow rowTemp = sheet1.CreateRow(i + 1);
//回填列数据
rowTemp.CreateCell(0).SetCellValue(myStockIndentData[i]. SupplierName);
rowTemp.CreateCell(1).SetCellValue(myStockIndentData[i].InvoicesNumber);
…………………………
}
//文件名
var fileName = “进货单信息” + DateTime.Now.ToString(“yyyy-MM-dd-HH-mm-ss-ffff”) + “.xls”;
//将Excel表格转化为流输出
//创建文件流
MemoryStream boostream = new MemoryStream();
//文件写入流(向流中写入字节序列)
excelBook.Write(boostream);//write()写入方法
//输出之前调用Seek(偏移量,游标位置),把0位置制定为开始位置
boostream.Seek(0, SeekOrigin.Begin);
return File(boostream, “application/vad.ms-excel”, fileName);
}