zoukankan      html  css  js  c++  java
  • C#写入Excel文件方式

    由于在工作中经常要把数据库的统计数据导入Excel文件,进行IO磁盘操作,所以在这里记录下。

    首先创建默认文件夹,并返回文件夹路径。

     private static string CPath(string path)
            {
                var index = path.LastIndexOf("/");
                var temp = path.Substring(0, index);
                if (!Directory.Exists(temp))//如果不存在就创建file文件夹                               
                    Directory.CreateDirectory(temp);//创建该文件夹    
                return path;
    
            }

    写入数据。

       using (var s = new System.IO.StreamWriter(CPath("./测试.csv"), true, Encoding.GetEncoding("GB2312"), 30))
                    {
                        s.WriteLine($"{"列1"},{"列2"}");
                        foreach (var item in list)
                        {
                            s.WriteLine($"{item.Column},{item.Column1}");
                        }
                    }

    另外我们在WebAPI项目中也经常要导出数据,这种方式在这里也记录下。

    /// <summary>
            /// 导出Excel
            /// </summary>
            /// <returns></returns>
            [HttpGet]
            [Route("api/test")]
            public HttpResponseMessage TestExport()
            {
                var csv = new StringBuilder();
                csv.AppendLine($"{"列1"},{"列2"}");
                foreach (var item in list)
                {
                    csv.AppendLine($"{item.Column},{item.Column1}");
                }
    
                HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK);
                response.Content = new ByteArrayContent(Encoding.GetEncoding("gbk").GetBytes(csv.ToString()));
                response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/x-csv");
                response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")
                {
                    FileName = string.Format(@"测试{0}.csv", string.Format("{0:G}", DateTime.Now)),
                };
                return response;
            }

    当然了,导出的方式有很多种,这只是其中比较简单的一种。

  • 相关阅读:
    mysql 配置
    idea 学会看log文件
    ac自动机(tree+kmp模板)
    矩阵快速幂(纯数学递推)
    矩阵快速幂(queue递推)
    RMQ(连续相同最大值)
    dp(过河问题)
    bfs(火星撞地球)
    相同子序列集合
    图博弈
  • 原文地址:https://www.cnblogs.com/xiongtaotao/p/11606813.html
Copyright © 2011-2022 走看看