控制器这边的代码:
///
/// Excel输出
///
///
public ActionResult ExcelExport()
{
var linqItem = from tbBill in myModel.B_RepairBillTable
join tbCustomerVehicle in myModel.B_CustomerVehicleTable on tbBill.CustomerVehicleID equals tbCustomerVehicle.CustomerVehicleID
join tbCustmer in myModel.B_CustomerTable on tbCustomerVehicle.CustomerID equals tbCustmer.CustomerID
orderby tbBill.BillID
select new SelectCarVo
{
BillID = tbBill.BillID,
BillNum = tbBill.BillNum,
CustomerVehicleID = tbCustomerVehicle.CustomerVehicleID,
LicensePlateNumber = tbCustomerVehicle.LicensePlateNumber,
CustomerReferred = tbCustmer.CustomerReferred,
};
//查询数据
List<SelectCarVo> listBill = linqItem.ToList();
//创建Excel对象 工作簿
NPOI.HSSF.UserModel.HSSFWorkbook excelBook = new NPOI.HSSF.UserModel.HSSFWorkbook();
//创建Excel工作表 Sheet
NPOI.SS.UserModel.ISheet sheet1 = excelBook.CreateSheet("工单信息");
//给sheet添加 第一行的标题
NPOI.SS.UserModel.IRow row1 = sheet1.CreateRow(0);
row1.CreateCell(0).SetCellValue("工单号码");
row1.CreateCell(1).SetCellValue("车牌号码");
row1.CreateCell(2).SetCellValue("客户简称");
for (int i = 0;i < listBill.Count;i++)
{
//创建行
NPOI.SS.UserModel.IRow rowTemp = sheet1.CreateRow(i + 1);
//工单号码
rowTemp.CreateCell(0).SetCellValue(listBill[i].BillNum);
//车牌号码
rowTemp.CreateCell(1).SetCellValue(listBill[i].LicensePlateNumber);
//客户简称
rowTemp.CreateCell(2).SetCellValue(listBill[i].CustomerReferred);
}
string fileName = "工单信息" + DateTime.Now.ToString("yyyy-MM-dd-HH-mm-ss-ffff") + ".xls";
//把Excel转为流,输出
//创建文件流
System.IO.MemoryStream bookStream = new System.IO.MemoryStream();
//将工作簿写入文件流
excelBook.Write(bookStream);
bookStream.Seek(0,System.IO.SeekOrigin.Begin);
//Stream对象,文件类型,文件名称
return File(bookStream,"application/vnd.ms-excel",fileName);
}
js代码:
$("#ExportBill").click(function () {
layer.confirm(“是否要导出当前的数据?”, {
icon: 3,
btn: [‘确定’, ‘取消’]
//按钮
}, function (layerIndex) {
layer.close(layerIndex);//关闭提示
window.open("/Servicing/BusinessAccept/ExcelExport")
})
});