• 如何在C#中写Excel文件


    1. 创建一个Console Application, 添加COM选显卡中的Microsoft Excel 12.0 Object Library引用.

    2. 粘贴下面的源代码.

    using System;
    using Excel = Microsoft.Office.Interop.Excel;
    
    namespace CShartExcelTest
    {
        class Program
        {
            static void Main(string[] args)
            {
                try
                {
                    string[,] values = { 
                                                 {"Tom",   "18",  "Beijing",     "13912345678"},
                                                 {"Jerry",  "17",  "Shanghai",  "13687654321"}
                                            };
                    Excel.Application objApp;
                    Excel._Workbook objBook;
                    Excel.Workbooks objBooks;
                    Excel.Sheets objSheets;
                    Excel._Worksheet objSheet;
                    Excel.Range range;
    
                    // Instantiate Excel and start a new workbook.
                    objApp = new Excel.Application();
                    objBooks = objApp.Workbooks;
                    objBook = objBooks.Add(System.Reflection.Missing.Value);
                    objSheets = objBook.Worksheets;
                    objSheet = (Excel._Worksheet)objSheets.get_Item(1);
    
                    //Get the range where the starting cell has the address
                    range = objSheet.get_Range("A2", System.Reflection.Missing.Value);
                    range = range.get_Resize(2, 4);
                    range.set_Value(System.Reflection.Missing.Value, values);
    
                    //Construct the header.
                    objSheet.Cells[1, 1] = "Name";
                    objSheet.Cells[1, 2] = "Age";
                    objSheet.Cells[1, 3] = "HomeTown";
                    objSheet.Cells[1, 4] = "Mobile";
    
                    bool bSave = false;
    
                    if (bSave)
                    {
                        //Return control of Excel to the user.
                        objApp.Visible = true;
                        objApp.UserControl = true;
                    }
                    else
                    {
                        objBook.SaveAs(@"c:\temp\csharp-Excel.xls",
                            Excel.XlFileFormat.xlWorkbookNormal,
                            System.Reflection.Missing.Value,
                            System.Reflection.Missing.Value,
                            System.Reflection.Missing.Value,
                            System.Reflection.Missing.Value,
                            Excel.XlSaveAsAccessMode.xlExclusive,
                            System.Reflection.Missing.Value,
                            System.Reflection.Missing.Value,
                            System.Reflection.Missing.Value,
                            System.Reflection.Missing.Value,
                            System.Reflection.Missing.Value);
    
                        objBook.Close(true,
                            System.Reflection.Missing.Value,
                            System.Reflection.Missing.Value);
                        objApp.Quit();
    
                        releaseObject(objSheet);
                        releaseObject(objBook);
                        releaseObject(objApp);
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }
            
            private static void releaseObject(object obj)
            {
                try
                {
                    System.Runtime.InteropServices.Marshal.ReleaseComObject(obj);
                    obj = null;
                }
                catch (Exception ex)
                {
                    obj = null;
                    Console.WriteLine("Exception Occured while releasing object " + ex.ToString());
                }
                finally
                {
                    GC.Collect();
                }
            }
    
        }
    }

    参考资料:

    How to create Excel file in C#

    http://csharp.net-informations.com/excel/csharp-create-excel.htm 

    How to automate Excel by using Visual C# to fill or to obtain data in a range by using arrays

    http://support.microsoft.com/kb/302096

    How to automate Microsoft Excel from Microsoft Visual C# .NET

    http://support.microsoft.com/kb/302084

  • 相关阅读:
    『Nltk』常用方法
    『Kaggle』分类任务_决策树&集成模型&DataFrame向量化操作
    『Pandas』数据读取&DataFrame切片
    『TensotFlow』RNN中文文本_下_暨研究生开学感想
    『Scrapy』爬取斗鱼主播头像
    『Scrapy』爬取腾讯招聘网站
    『TensorFlow』梯度优化相关
    『Scrapy』终端调用&选择器方法
    『Scrapy』全流程爬虫demo
    使用VS2013、TFS2013和Git进行分布式团队协作
  • 原文地址:https://www.cnblogs.com/awpatp/p/1751118.html
Copyright © 2020-2023  润新知