zoukankan      html  css  js  c++  java
  • 读取Excel2003、Excel2007或更高级的兼容性问题 workbook 下载中文名称文件

    xls 使用HSSFWorkbook

    xlsx使用XSSFWorkbook

    但是我使用XSSFWorkbook时没找到nuget包,引用不了,只能重新找办法,幸好workbook解决了我这个问题

    /// <summary>
            /// 在已有的Excel模板进行操作
            /// </summary>
            /// <returns></returns>
    public ActionResult DownTemplate()
            {
                var list = departmentService.GetList();//数据源
                string filepath = "/Content/Templates/XX.xlsx";
                filepath = Server.MapPath(filepath);
                Workbook workbook = null;
                FileStream file = new FileStream(filepath, FileMode.Open, FileAccess.Read);
                using (file)
                {
                    workbook = new Workbook(file);
                }
                var deparmenttSheet = workbook.Worksheets[1];
                deparmenttSheet.Cells["A1"].PutValue(new HSSFRichTextString("序号"));
                deparmenttSheet.Cells["B1"].PutValue(new HSSFRichTextString("部门编码"));
                deparmenttSheet.Cells["C1"].PutValue(new HSSFRichTextString("部门名称"));
                for (int i = 0; i < list.Count; i++)
                {
                    var item = i + 2;
                    deparmenttSheet.Cells["A"+item].PutValue(i+1);
                    deparmenttSheet.Cells["B"+item].PutValue(list[i].DepartmentCode);
                    deparmenttSheet.Cells["C"+item].PutValue(list[i].DepartmentName);
                }
                //写入到表格
                workbook.Save(filepath);
                // 防IE文件名乱码
                var fileName = HttpUtility.UrlEncode("某某信息.xlsx", System.Text.Encoding.UTF8);
                HttpContext.Response.AddHeader("Content-Disposition", "attachment;filename=" + fileName);
                return File("/Content/Templates/XX.xlsx", fileName);
            }

    请求方法

    直接使用超链接请求后台地址

    <a href="/XX/DownTemplate" >下载某某信息模版</a>

    这样下载后的文件名称就是“某某信息.xlsx”

  • 相关阅读:
    CSS魔法堂:选择器及其优先级
    HTML5 placeholder实际应用经验分享及拓展
    WEBAPP开发技巧(手机网站开发注意事项)
    PhotoShop的10大误区
    django之搜索引擎功能实现
    django之使用git协作开发项目
    docker简单操作
    docker之container eb7a144fe8ce is using its referenced image 9b9cb95443b5
    django之动态轮播图技术的实现
    django之Model(数据表)的增删改查
  • 原文地址:https://www.cnblogs.com/xiaonangua/p/10683878.html
Copyright © 2011-2022 走看看