页面代码:

 <form id="form1" enctype="multipart/form-data">
<div style="float:right">
&nbsp;
<button type="button" class="btn btn-primary" onclick="$('#fileUpload').click()" id="reviewFile">浏览</button>
<button class="btn btn-primary" type="button" style="margin-left:5px;height:30px;" id="dataExport">批量导入</button>
<input type="button" class="btn btn-primary" style="margin-left:5px;height:30px;" id="downLoad" value="下载模板">
</div>
<div style="float:right;margin-top:5px">
<input id="fileUpload" name="fileUpload" type="file" style="display:none" />
<input id="fileText" type="text" class="form-control" disabled />
</div>
<script>
$("#fileUpload").change(function () {
$("#fileText").val($(this).val());
})
</script>
</form>

js代码:

 //下载excel模板
$("#downLoad").click(function () {
//方式1
window.open('/BaseInfoPage/DowntTemplate'); //方式2 此方式还未解锁
//$.ajax({
// url: "/BaseInfoPage/DownLoadExcel", //处理页面的路径
// data: { fileName: "大件运输许可导入模板.xls" }, //要提交的数据是一个JSON
// type: "POST", //提交方式
// dataType: "JSON", //返回数据的类型 //TEXT字符串 JSON返回JSON XML返回XML
// success: function (data) {
// console.log(data);
// },
// error: function (msg) {
// //layer.msg('!', { icon: 1, time: 1000 }, function () { // //});
// //layer.msg(msg, { icon: 2, time: 2000 });
// }
//}) //方式3
//param = "fileName=" + "大件运输许可模板.xls";
//window.location.href = "/BaseInfoPage/DownLoadExcel?" + param;
})

c#后台代码:

      /// <summary>
/// 下载excel模板1
/// </summary>
/// <param name="fileName">文件名</param>
public void DownLoadExcel(string fileName)
{
if (Request.Cookies["LoginValue"] == null) Response.Redirect("../Login/LoginPage"); try
{
string path = AppDomain.CurrentDomain.BaseDirectory + "\\ExcelTemplate\\" + fileName + "";//文件路径
FileStream fs = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);//读取文件路径
byte[] buffer = new byte[fs.Length];
fs.Position = ;
fs.Read(buffer, , (int)fs.Length);
Response.Clear();
Response.AddHeader("Content-Length", fs.Length.ToString());
Response.ContentType = "application/xls";
Response.AddHeader("Content-Disposition", "inline;FileName=大件运输许可导入模板.xls");
fs.Close();
Response.BinaryWrite(buffer);
Response.OutputStream.Flush();
Response.OutputStream.Close();
//Response.OutputStream.Write(buffer, 0, (int)fs.Length);
}
catch (Exception ex)
{
CSysCfg.WriteLog("获取文档异常:" + ex.Message);
} }
/// 下载excel模板2
public ActionResult DowntTemplate(HttpPostedFileBase file)
{
//模板文件的路径
string filePath = Server.MapPath("~/ExcelTemplate/大件运输许可导入模板.xls");////获取文件路径
if (System.IO.File.Exists(filePath))
{
string strfileName = Path.GetFileName(filePath);//获取文件名称
return File(new FileStream(filePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite), "application/octet-stream", strfileName);
}
else
{
return Content("模板文件找不到!请检查文件是否存在!");//提示用户
}
}

下载excel模板,导入数据时需要用到的更多相关文章

  1. 从Excel中导入数据时,提示“未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序”的解决办法

    注意,64位系统,用64位的补丁文件; https://www.cnblogs.com/A2008A/articles/2438962.html 操作系统:使用的是64位的Windows Server ...

  2. vue Excel导入,下载Excel模板,导出Excel

    vue  Excel导入,下载Excel模板,导出Excel vue  Excel导入,下载Excel模板 <template> <div style="display: ...

  3. java的poi技术下载Excel模板上传Excel读取Excel中内容(SSM框架)

    使用到的jar包 JSP: client.jsp <%@ page language="java" contentType="text/html; charset= ...

  4. SQL Server导入数据时“启用标示插入”详解

    在SQL Server中导入数据时,会有一个"启用标示插入"的选项,突然间懵逼了,这到底啥意思?我选与不选这个选项,结果好像没区别!不科学啊这,"存在即合理", ...

  5. 转 SSIS处理导入数据时, 存在的更新, 不存在的插入

    SSIS处理导入数据时, 存在的更新, 不存在的插入 分类: DTS/SSIS2006-09-10 12:43 18185人阅读 评论(22) 收藏 举报 ssissql servermicrosof ...

  6. [MySQL]load data local infile向MySQL数据库中导入数据时,无法导入和字段不分离问题。

    利用load data将文件中的数据导入数据库表中的时候,遇到了两个问题. 首先是load data命令无法执行的问题: 命令行下输入load data local infile "path ...

  7. SQLSERVER:大容量导入数据时保留标识值 (SQL Server)

    从MSDN上看到实现大容量导入数据时保留标识值得方法包含三种: MSDN链接地址为:https://msdn.microsoft.com/zh-cn/library/ms178129.aspx 感觉M ...

  8. MSSQL导入数据时,出现“无法截断表 因为表正由Foreign key引用”错误

    * 错误 0xc002f210: 准备 SQL 任务: 执行查询“TRUNCATE TABLE [dsc100552_db].[dbo].[ALV_SalesBigClass] ”失败,错误如下:“无 ...

  9. 使用Sqoop从mysql向hdfs或者hive导入数据时出现的一些错误

    1.原表没有设置主键,出现错误提示: ERROR tool.ImportTool: Error during import: No primary key could be found for tab ...

随机推荐

  1. Guava RateLimiter限流器使用示例

    Guava中的RateLimiter可以限制单进程中某个方法的速率,本文主要介绍如何使用,实现原理请参考文档:推荐:超详细的Guava RateLimiter限流原理解析和推荐:RateLimiter ...

  2. CSS三种布局模型是什么?

    在网页中,元素有三种布局模型:流动模型(Flow) 默认的.浮动模型 (Float).层模型(Layer).下面我们来看一下这三种布局模型. 三种布局模型介绍: 1.流动模型(Flow) 流动(Flo ...

  3. CVE-2020-5902 F5 BIG-IP 远程代码执行RCE

    cve-2020-5902 : RCE:curl -v -k 'https://[F5 Host]/tmui/login.jsp/..;/tmui/locallb/workspace/tmshCmd. ...

  4. Python-日期格式化

    1.基本方法 获取当前日期:time.time() 获取元组形式的时间戳:time.local(time.time()) 格式化日期的函数(基于元组的形式进行格式化): (1)time.asctime ...

  5. Jmeter系列(36)- 详解 Loop Controller 循环控制器

    如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html 前言 这应该是最简单的控制器了,我们快 ...

  6. 【js】栈方法和队列方法

    栈方法:后进先出,推入(push)和弹出(pop):push("**")返回数组长度,pop()返回弹出的项. var colors = new Array(); // 创建一个数 ...

  7. 03 Django模型层: 常用(非常用)字段和参数

    Django模型层: 常用(非常用)字段和参数 1 ORM字段 AutoField int自增列,必须填入参数 primary_key=True.当model中如果没有自增列,则自动会创建一个列名为i ...

  8. python进阶之内置方法

    python进阶之内置方法 字符串类型的内置方法 常用操作与方法: 按索引取值 str[index] 切片 ste[start:stop:step] 长度 len(str) 成员运算in和not in ...

  9. POJ 1057 File Mapping 最详细的解题报告

    题目来源:POJ 1057 File Mapping 题目大意:像我的电脑那样显示文件夹和文件信息,其中在同一级目录内,文件夹排在文件的前面并且文件夹的顺序不变,同一级目录中文件按字母序排列.文件以‘ ...

  10. 谈谈JVM(基础模型)

    一,基本概念      JVM是可运行Java代码的假想计算机 ,包括一套字节码指令集.一组寄存器.一个栈. 一个垃圾回收,堆 和 一个存储方法域.     JVM 是运行在操作系统之上的,它与硬件没 ...