zoukankan      html  css  js  c++  java
  • excel 导出 OpenXml

            public ActionResult Export(string queryJson)
            {
                try
                {
                    var list = Biz.GetDetailView(queryJson);
                    if (list == null)
                        return Json(new { IsSuccess = false, Message = "无数据!" }, "text/html");
    
                    var basePath = Server.MapPath("~/");
                    var file = string.Format("{0:yyMMddHHmmssfff}.xlsx", DateTime.Now);
    
                    System.IO.File.Copy(Path.Combine(basePath, "Templates", "详细明细.xlsx"), Path.Combine(basePath, "Export", file));
    
                    using (SpreadsheetDocument document = SpreadsheetDocument.Open(Path.Combine(basePath, "Export", file), true))
                    {
                        IEnumerable<Sheet> sheets = document.WorkbookPart.Workbook.Descendants<Sheet>();
                        if (sheets.Count() == 0)
                            TempData["Message"] = "文件中未包含指定数据!";
                        else
                        {
                            WorksheetPart sheet = (WorksheetPart)document.WorkbookPart.GetPartById(sheets.First().Id);
                            WorksheetWriter writer = new WorksheetWriter(document, sheet);
                            SpreadsheetStyle style = SpreadsheetStyle.GetDefault(document);
    
                            int rowIndex = 2;
                            for (int i = 0; i < list.Rows.Count; i++)
                            {
                                writer.PasteText(string.Format("A{0}", rowIndex), list.Rows[i]["IMEI"].ToString(), style);
                                writer.PasteText(string.Format("B{0}", rowIndex), list.Rows[i]["GOODSNAME"].ToString(), style);
                                writer.PasteText(string.Format("C{0}", rowIndex), list.Rows[i]["UNITNAME"].ToString(), style);
                                rowIndex++;
                            }
                            writer.Save();
                        }
                    }
                    return Json(new { IsSuccess = true, Message = "导出成功!", File = file }, "text/html");
                }
                catch (Exception ex)
                {
                    return Json(new { IsSuccess = false, Message = ex.Message }, "text/html");
                }
            }
    

      

  • 相关阅读:
    linux 命令收集
    tomcat + nginx 负载均衡
    lamp + 然之协同
    万能的 命令库
    boost.asio源码剖析(三) 流程分析
    boost.asio源码剖析(一) 前 言
    给你的JAVA程序配置参数(Properties的使用)
    JAVA将Excel中的报表导出为图片格式(三)换一种实现
    JAVA使用apache http组件发送POST请求
    JAVA使用原始HttpURLConnection发送POST数据
  • 原文地址:https://www.cnblogs.com/yyzyou/p/12174589.html
Copyright © 2011-2022 走看看