zoukankan      html  css  js  c++  java
  • 如何在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

  • 相关阅读:
    自我介绍+软工5问
    团队展示&选题
    团队展示&选题 (白衣天使队)
    结对编程(-java-实现)
    个人项目wc(Java)
    自我介绍+软工五问
    软件工程结课作业
    第四次博客作业-结对项目
    软件工程第三次作业——关于软件质量保障初探
    20194613 自动生成四则运算第一版报告
  • 原文地址:https://www.cnblogs.com/awpatp/p/1751118.html
Copyright © 2011-2022 走看看