您的位置:首页 > Web前端 > JavaScript

js 下载excel

2017-05-18 16:34 148 查看
前台 js

<script>

//导出
function Export() {

//传递参数
var data="paramer";

var config = $.extend(true, { method: 'post' }, "/SuppUpd/SetDPGSL");
var $iframe = $('<iframe id="down-file-iframe" />');
var $form = $('<form target="down-file-iframe" method="' + config.method + '" />');
$form.attr('action', "/SuppUpd/SetDPGSL");
$form.append('<input type="hidden"  name="datalist" SN=\'' + data + '\' />');
$iframe.append($form);
$(document.body).append($iframe);
$form[0].submit();
$iframe.remove();

}
</script>


  

后台 Controller

/// <summary>
/// 下载供应商送货单,并将供应商代码写入模板
/// </summary>
/// <param name="SN"></param>
/// <returns></returns>
public JsonResult SetDPGSL(string SN)
{

try
{
//npoi 导出excel
string mubUrl = @"\App_Data\SuppUpd.xls";
new ExcelHelper().ExportGetSuppUpdModel(LoginUser.UserID, mubUrl, HttpContext, "送货信息模板" + ".xls");

var result = new
{
result = 1,
Msg = "下载成功"
};

var msg = "供应商送货单模板下载:" + "下载成功:" + LoginUser.UserID;
SetAddLog(ServicePageSMSE.SuppUpd, OperateType.imp, msg);

return Json(result);
}
catch (Exception)
{

var result = new
{
result = 0,
Msg = "下载失败"
};

return Json(result);
}

}


  

具体执行方法

/// <summary>
/// 下载供应商送货单,并将供应商代码写入模板固定位置
/// </summary>
/// <param name="DPG1S1">供应商代码</param>
/// <param name="mubUrl">模板地址</param>
/// <param name="context"></param>
/// <param name="fileName">保存文件名称</param>
public void ExportGetSuppUpdModel(string DPG1S1, string mubUrl, HttpContextBase context, string fileName)
{

string road = context.Server.MapPath(mubUrl);
FileInfo s = new FileInfo(road);
using (FileStream stream = new FileStream(road, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
#region  Excel样式

HSSFWorkbook workbook = new HSSFWorkbook(stream);

HSSFSheet sheet = (HSSFSheet)workbook.GetSheetAt(0);
workbook.SetSheetName(0, "模板");

ICellStyle style = workbook.CreateCellStyle();
NPOI.SS.UserModel.IFont font = workbook.CreateFont();
font.IsBold = true;
font.FontName = "宋体";
font.FontHeightInPoints = 13;
style.WrapText = true;
style.BorderBottom = NPOI.SS.UserModel.BorderStyle.Thin;
style.BorderLeft = NPOI.SS.UserModel.BorderStyle.Thin;
style.BorderRight = NPOI.SS.UserModel.BorderStyle.Thin;
style.BorderTop = NPOI.SS.UserModel.BorderStyle.Thin;
style.Alignment = NPOI.SS.UserModel.HorizontalAlignment.Center;//居中
style.VerticalAlignment = VerticalAlignment.Center;//垂直居中
style.SetFont(font);//HEAD 样式

#endregion

IRow row;
row = sheet.GetRow(0);
row.GetCell(8).SetCellValue(DPG1S1);

using (MemoryStream ms = new MemoryStream())
{
workbook.Write(ms);
ms.Position = 0;
if (context.Request.Browser.Browser == "IE")
fileName = HttpUtility.UrlEncode(fileName);
context.Response.AddHeader("Content-Disposition", "attachment;fileName=" + fileName);
context.Response.BinaryWrite(ms.ToArray());

}

}

}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: