日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

C#讀寫Excel的幾種方法

 行走在理想邊緣 2020-04-13

1 使用Office自帶的庫
前提是本機(jī)須安裝office才能運行,且不同的office版本之間可能會有兼容問題,從Nuget下載 Microsoft.Office.Interop.Excel
在這里插入圖片描述
讀寫代碼如下:

using Microsoft.Office.Interop.Excel;
using Excel = Microsoft.Office.Interop.Excel;

        private void btn_Office_Click(object sender, EventArgs e)
        {
            string importExcelPath = "E:\\import.xlsx";
            string exportExcelPath = "E:\\export.xlsx";
            //創(chuàng)建
            Excel.Application xlApp = new Excel.Application();
            xlApp.DisplayAlerts = false;
            xlApp.Visible = false;
            xlApp.ScreenUpdating = false;
            //打開Excel
            Excel.Workbook xlsWorkBook = xlApp.Workbooks.Open(importExcelPath, System.Type.Missing, System.Type.Missing, System.Type.Missing,
            System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing,
            System.Type.Missing, System.Type.Missing, System.Type.Missing, System.Type.Missing);

            //處理數(shù)據(jù)過程,更多操作方法自行百度
            Excel.Worksheet sheet = xlsWorkBook.Worksheets[1];//工作薄從1開始,不是0
            sheet.Cells[1, 1] = "test";

            //另存
            xlsWorkBook.SaveAs(exportExcelPath, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, XlSaveAsAccessMode.xlNoChange,
                Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
            //關(guān)閉Excel進(jìn)程
            ClosePro(xlApp, xlsWorkBook);
        }
        public void ClosePro(Excel.Application xlApp, Excel.Workbook xlsWorkBook)
        {
            if (xlsWorkBook != null)
                xlsWorkBook.Close(true, Type.Missing, Type.Missing);
            xlApp.Quit();
            // 安全回收進(jìn)程
            System.GC.GetGeneration(xlApp);
            IntPtr t = new IntPtr(xlApp.Hwnd);   //獲取句柄
            int k = 0;
            GetWindowThreadProcessId(t, out k);   //獲取進(jìn)程唯一標(biāo)志
            System.Diagnostics.Process p = System.Diagnostics.Process.GetProcessById(k);
            p.Kill();     //關(guān)閉進(jìn)程
        }

2. 使用NPOI
地址:https://github.com/tonyqus/npoi
在不安裝office的時候也是可以讀寫的,速度很快,從Nuget下載 NPOI
在這里插入圖片描述
讀寫代碼如下:

using System.IO;
using NPOI;
using NPOI.SS.UserModel;

        private void btn_NPOI_Click(object sender, EventArgs e)
        {
            string importExcelPath = "E:\\import.xlsx";
            string exportExcelPath = "E:\\export.xlsx";
            IWorkbook workbook = WorkbookFactory.Create(importExcelPath);
            ISheet sheet = workbook.GetSheetAt(0);//獲取第一個工作薄
            IRow row = (IRow)sheet.GetRow(0);//獲取第一行

            //設(shè)置第一行第一列值,更多方法請參考源官方Demo
            row.CreateCell(0).SetCellValue("test");//設(shè)置第一行第一列值

            //導(dǎo)出excel
            FileStream fs = new FileStream(exportExcelPath, FileMode.Create, FileAccess.ReadWrite);
            workbook.Write(fs);
            fs.Close();
        }

3. 使用ClosedXml
地址:https://github.com/ClosedXML/ClosedXML
從Nuget下載 ClosedXml
在這里插入圖片描述
讀寫代碼如下:

using ClosedXML;
using ClosedXML.Excel;
        private void btn_ClosedXML_Click(object sender, EventArgs e)
        {
            string importExcelPath = "E:\\import.xlsx";
            string exportExcelPath = "E:\\export.xlsx";
            var workbook = new XLWorkbook(importExcelPath);

            IXLWorksheet sheet = workbook.Worksheet(1);//這個庫也是從1開始
            //設(shè)置第一行第一列值,更多方法請參考官方Demo
            sheet.Cell(1, 1).Value = "test";//該方法也是從1開始,非0

            workbook.SaveAs(exportExcelPath);
        }

4. 使用 spire.xls
地址:https://www./Introduce/free-xls-component.html
spire分免費和收費,無特殊需求用免費即可
從Nuget下載 Free Spire.xls For .NET
在這里插入圖片描述
讀寫代碼如下:

using Spire.Xls;

        private void btnSpire_Click(object sender, EventArgs e)
        {
            string importExcelPath = "E:\\import.xlsx";
            string exportExcelPath = "E:\\export.xlsx";

            Spire.Xls.Workbook workbook = new Spire.Xls.Workbook();
            workbook.LoadFromFile(importExcelPath);
            //處理Excel數(shù)據(jù),更多請參考官方Demo
            Spire.Xls.Worksheet sheet = workbook.Worksheets[0];
            sheet.Range[1,1].Text = "test";//該方法也是從1開始,非0

            workbook.SaveToFile(exportExcelPath);
        }
  1. EPPLUS
    地址:https://github.com/pruiz/EPPlus/tree/master/EPPlus
    沒用過這個,就不做介紹了

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多