• C# Note38: Export data into Excel


    • Microsoft.Office.Interop.Excel
    1. You have to have Excel installed.
    2. Add a reference to your project to the excel interop dll. To do this on the .NET tab select Microsoft.Office.Interop.Excel. There could be multiple assemblies with this name. Select the appropriate for your Visual Studio AND Excel version.
    3. Here is a code sample to create a new Workbook and fill a column with the items from your list
    //if you want to make excel visible           
        excapp.Visible = true;
    
        //create a blank workbook
        var workbook = excapp.Workbooks.Add(NsExcel.XlWBATemplate.xlWBATWorksheet);
    
        //or open one - this is no pleasant, but yue're probably interested in the first parameter
        string workbookPath = "C:	est.xls";
        var workbook = excapp.Workbooks.Open(workbookPath,
            0, false, 5, "", "", false, Excel.XlPlatform.xlWindows, "",
            true, false, 0, true, false, false);
    
        //Not done yet. You have to work on a specific sheet - note the cast
        //You may not have any sheets at all. Then you have to add one with NsExcel.Worksheet.Add()
        var sheet = (NsExcel.Worksheet)workbook.Sheets[1]; //indexing starts from 1
    
        //do something usefull: you select now an individual cell
        var range = sheet.get_Range("A1", "A1");
        range.Value2 = "test"; //Value2 is not a typo
    
        //now the list
        string cellName;
        int counter = 1;
        foreach (var item in list)
        {
            cellName = "A" + counter.ToString();
            var range = sheet.get_Range(cellName, cellName);
            range.Value2 = item.ToString();
            ++counter;
        }
    
        //you've probably got the point by now, so a detailed explanation about workbook.SaveAs and workbook.Close is not necessary
        //important: if you did not make excel visible terminating your application will terminate excel as well - I tested it
        //but if you did it - to be honest - I don't know how to close the main excel window - maybee somewhere around excapp.Windows or excapp.ActiveWindow
    }
    

     

    Using the CSV idea

    using System.IO;
    
    using(StreamWriter sw = File.CreateText("list.csv"))
    {
      for(int i = 0; i < l.Count; i++)
      {
        sw.WriteLine(l[i]);
      }
    }
    

      

    Using ClosedXML library( there is no need to install MS Excel

     

    https://github.com/closedxml/closedxml/wiki

    https://www.c-sharpcorner.com/UploadFile/deveshomar/exporting-generic-listt-to-excel-in-C-Sharp-using-interop/

  • 相关阅读:
    C# 关于X86/X64/AnyCpu 的关系
    MongoDB
    AJAX向服务器发送与请求(四)
    jsplumb事件 easyflow
    Vue接收Asp.Net Core传递的文件并下载,接收application/octetstream类型文件流并下载
    docker安装elasticsearch7.16.3集群
    阿里云镜像站
    虚拟机安装Ubuntu20.04.2 Server TLS
    docker安装elasticsearch7.16.3集群 配置身份认证
    Sqlserver查询阻塞的SQL语句
  • 原文地址:https://www.cnblogs.com/carsonzhu/p/8990806.html
Copyright © 2020-2023  润新知