最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#導(dǎo)出Excel的幾種常見方式及詳細(xì)實(shí)現(xiàn)步驟

 更新時(shí)間:2023年06月16日 11:36:47   作者:老衲有點(diǎn)帥  
excel導(dǎo)出在C#代碼中應(yīng)用己經(jīng)很廣泛了,我這里就做些總結(jié),下面這篇文章主要給大家介紹了關(guān)于C#導(dǎo)出Excel的幾種常見方式及詳細(xì)實(shí)現(xiàn)步驟的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下

常用Excel導(dǎo)出方式

在 C# 中,常用的Excel 文件導(dǎo)出 方式包括:

  1. 使用 Microsoft Office Interop Excel 組件:這是一種使用 Microsoft Excel 應(yīng)用程序?qū)ο竽P蛠韯?chuàng)建和編輯 Excel 文件的方式。它提供了強(qiáng)大的功能,但需要安裝 Microsoft Excel 或者 Microsoft Office 套件。
  2. 使用 NPOI 組件:NPOI 是一個(gè) C#/.NET 平臺(tái)上的開源組件,它可以讀寫 Microsoft Office 格式的文檔,包括 Excel、Word 和 PowerPoint 等。相比于 Interop Excel 組件,NPOI 更加輕量級(jí),不需要依賴于 Microsoft Excel 應(yīng)用程序。
  3. 使用 EPPlus 組件:EPPlus 是一個(gè)免費(fèi)的開源組件,它可以創(chuàng)建和讀取 Excel 文件。它提供了一些方便的方法,如對(duì)單元格格式、圖表、公式等進(jìn)行操作。EPPlus 支持 .NET Framework 3.5 及更高版本,并不需要依賴于 Microsoft Excel 應(yīng)用程序。
  4. 使用 ClosedXML 組件:ClosedXML 是一個(gè)簡(jiǎn)單易用的開源組件,它可以讀取、創(chuàng)建和修改 Excel 文件。與 EPPlus 類似,它也提供了一些方便的方法來操縱 Excel 文件。ClosedXML 支持 .NET Framework 4.0 及更高版本。

以上是常用的幾種 C# 導(dǎo)出 Excel 文件的方式,每種方式都有其特點(diǎn)和優(yōu)缺點(diǎn),選擇適合自己需求的方式進(jìn)行開發(fā)即可。以下針對(duì)每種導(dǎo)出方式,羅列了具體步驟以及Demo。

1.使用 Microsoft Office Interop Excel 組件導(dǎo)出 Excel 文件

使用 Microsoft Office Interop Excel 組件導(dǎo)出 Excel 文件的步驟如下:

  1. 引用 Microsoft.Office.Interop.Excel 命名空間:在項(xiàng)目中添加對(duì) Microsoft.Office.Interop.Excel 的引用,或者使用 NuGet 包管理器安裝它。
  2. 創(chuàng)建 Excel 應(yīng)用程序?qū)ο螅菏褂?Application 類創(chuàng)建一個(gè) Excel 應(yīng)用程序?qū)ο蟆?/li>
  3. 創(chuàng)建工作簿對(duì)象:使用 Application.Workbooks.Add() 方法創(chuàng)建一個(gè)新的工作簿對(duì)象。
  4. 獲取工作表對(duì)象:使用 Workbook.Worksheets 屬性獲取工作表集合,并使用索引或名稱獲取工作表對(duì)象。
  5. 向單元格寫入數(shù)據(jù):使用 Worksheet.Cells 屬性獲取單元格對(duì)象,并使用 Range.Value 屬性或 Range.Formula 屬性向單元格寫入數(shù)據(jù)。
  6. 保存 Excel 文件:使用 Workbook.SaveAs() 方法將 Excel 文件保存到磁盤。
  7. 關(guān)閉 Excel 應(yīng)用程序和工作簿對(duì)象:使用 Workbook.Close() 方法關(guān)閉工作簿對(duì)象,并使用 Application.Quit() 方法關(guān)閉 Excel 應(yīng)用程序?qū)ο蟆?/li>
  8. 釋放資源:使用 Marshal.ReleaseComObject() 方法釋放 Excel 應(yīng)用程序?qū)ο蠛凸ぷ鞑緦?duì)象的資源。

下面是一個(gè)示例代碼,演示如何使用 Microsoft Office Interop Excel 組件導(dǎo)出 Excel 文件:

using System;
using System.Data;
using System.IO;
using Microsoft.Office.Interop.Excel;
namespace ExportExcelDemo
{
    class Program
    {
        static void Main(string[] args)
        {
            // 創(chuàng)建一個(gè) DataTable 對(duì)象來存儲(chǔ)數(shù)據(jù)
            DataTable dataTable = new DataTable("MyData");
            // 添加列到 DataTable
            dataTable.Columns.Add("Name", typeof(string));
            dataTable.Columns.Add("Age", typeof(int));
            // 向 DataTable 中添加數(shù)據(jù)行
            dataTable.Rows.Add("John Doe", 30);
            dataTable.Rows.Add("Jane Smith", 25);
            // 使用 Microsoft Office Interop Excel 組件導(dǎo)出 Excel 文件
            Application excelApp = new Application();
            Workbook workbook = excelApp.Workbooks.Add();
            Worksheet worksheet = (Worksheet)workbook.Worksheets[1];
            int row = 1;
            foreach (DataRow dataRow in dataTable.Rows)
            {
                worksheet.Cells[row, 1] = dataRow["Name"].ToString();
                worksheet.Cells[row, 2] = dataRow["Age"];
                row++;
            }
            // 將 Excel 文件保存到磁盤
            string fileName = @"C:\temp\MyExcelFile.xlsx";
            workbook.SaveAs(fileName);
            // 關(guān)閉 Excel 應(yīng)用程序和工作簿對(duì)象,并釋放資源
            workbook.Close();
            excelApp.Quit();
            System.Runtime.InteropServices.Marshal.ReleaseComObject(worksheet);
            System.Runtime.InteropServices.Marshal.ReleaseComObject(workbook);
            System.Runtime.InteropServices.Marshal.ReleaseComObject(excelApp);
        }
    }
}

在這個(gè)示例代碼中,我們使用 Application 類創(chuàng)建了一個(gè) Excel 應(yīng)用程序?qū)ο螅⑹褂盟鼇韯?chuàng)建了一個(gè)新的工作簿對(duì)象。然后,我們使用 Workbook.Worksheets 屬性獲取工作表集合,并使用索引獲取了第一個(gè)工作表對(duì)象。接下來,我們使用 Worksheet.Cells 屬性獲取單元格對(duì)象,并使用 Range.Value 屬性或 Range.Formula 屬性向單元格寫入數(shù)據(jù)。最后,我們使用 Workbook.SaveAs() 方法將 Excel 文件保存到磁盤,關(guān)閉了工作簿對(duì)象和 Excel 應(yīng)用程序?qū)ο?,并釋放了它們的資源。 

2.使用 NPOI 組件導(dǎo)出 Excel 文件

使用 NPOI 組件導(dǎo)出 Excel 文件的步驟如下:

  1. 引用 NPOI 命名空間:在項(xiàng)目中添加對(duì) NPOI 的引用,或者使用 NuGet 包管理器安裝它。
  2. 創(chuàng)建工作簿對(duì)象:使用 HSSFWorkbookXSSFWorkbook 類創(chuàng)建一個(gè)新的工作簿對(duì)象,分別對(duì)應(yīng)于 Excel 的 .xls 和 .xlsx 格式。
  3. 獲取工作表對(duì)象:使用 CreateSheet() 方法創(chuàng)建一個(gè)新的工作表對(duì)象,并設(shè)置工作表名稱。
  4. 設(shè)置單元格樣式:可以使用 CellStyle 類和 Font 類來設(shè)置單元格樣式。
  5. 向單元格寫入數(shù)據(jù):使用 CreateRow() 方法創(chuàng)建一個(gè)新的行對(duì)象,使用 CreateCell() 方法創(chuàng)建一個(gè)新的單元格對(duì)象,并使用 SetValue() 方法向單元格寫入數(shù)據(jù)。
  6. 保存 Excel 文件:使用 FileStream 類將 Excel 文件保存到磁盤。
  7. 釋放資源:使用 Dispose() 方法釋放工作簿對(duì)象和 FileStream 對(duì)象的資源。

下面是一個(gè)示例代碼,演示如何使用 NPOI 組件導(dǎo)出 Excel 文件:

using System;
using System.Data;
using System.IO;
using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
namespace ExportExcelDemo
{
? ? class Program
? ? {
? ? ? ? static void Main(string[] args)
? ? ? ? {
? ? ? ? ? ? // 創(chuàng)建一個(gè) DataTable 對(duì)象來存儲(chǔ)數(shù)據(jù)
? ? ? ? ? ? DataTable dataTable = new DataTable("MyData");
? ? ? ? ? ? // 添加列到 DataTable
? ? ? ? ? ? dataTable.Columns.Add("Name", typeof(string));
? ? ? ? ? ? dataTable.Columns.Add("Age", typeof(int));
? ? ? ? ? ? // 向 DataTable 中添加數(shù)據(jù)行
? ? ? ? ? ? dataTable.Rows.Add("John Doe", 30);
? ? ? ? ? ? dataTable.Rows.Add("Jane Smith", 25);
? ? ? ? ? ? // 使用 NPOI 組件導(dǎo)出 Excel 文件
? ? ? ? ? ? IWorkbook workbook = new HSSFWorkbook();
? ? ? ? ? ? ISheet worksheet = workbook.CreateSheet("MySheet");
? ? ? ? ? ? int row = 0;
? ? ? ? ? ? foreach (DataRow dataRow in dataTable.Rows)
? ? ? ? ? ? {
? ? ? ? ? ? ? ? IRow newRow = worksheet.CreateRow(row);
? ? ? ? ? ? ? ? newRow.CreateCell(0).SetCellValue(dataRow["Name"].ToString());
? ? ? ? ? ? ? ? newRow.CreateCell(1).SetCellValue(Convert.ToInt32(dataRow["Age"]));
? ? ? ? ? ? ? ? row++;
? ? ? ? ? ? }
? ? ? ? ? ? // 將 Excel 文件保存到磁盤
? ? ? ? ? ? string fileName = @"C:\temp\MyExcelFile.xls";
? ? ? ? ? ? using (FileStream fs = new FileStream(fileName, FileMode.Create, FileAccess.Write))
? ? ? ? ? ? {
? ? ? ? ? ? ? ? workbook.Write(fs);
? ? ? ? ? ? }
? ? ? ? ? ? // 釋放資源
? ? ? ? ? ? workbook.Dispose();
? ? ? ? }
? ? }
}

在這個(gè)示例代碼中,我們使用 HSSFWorkbook 類創(chuàng)建了一個(gè)新的工作簿對(duì)象,并使用它來創(chuàng)建了一個(gè)名為 "MySheet" 的工作表對(duì)象。然后,我們使用 CreateRow() 方法和 CreateCell() 方法創(chuàng)建了新的行對(duì)象和單元格對(duì)象,并使用 SetValue() 方法向單元格寫入數(shù)據(jù)。最后,我們使用 FileStream 類將 Excel 文件保存到磁盤,并使用 Dispose() 方法釋放工作簿對(duì)象的資源。如果需要生成 .xlsx 格式的文件,可以使用 XSSFWorkbook 類代替 HSSFWorkbook 類。

3.使用 EPPlus 組件導(dǎo)出Excel文件

使用 EPPlus 組件導(dǎo)出 Excel 文件的步驟如下:

  1. 引用 EPPlus 命名空間:在項(xiàng)目中添加對(duì) EPPlus 的引用,或者使用 NuGet 包管理器安裝它。
  2. 創(chuàng)建工作簿對(duì)象:使用 ExcelPackage 類創(chuàng)建一個(gè)新的工作簿對(duì)象。
  3. 獲取工作表對(duì)象:使用 Workbook.Worksheets.Add() 方法創(chuàng)建一個(gè)新的工作表對(duì)象,并設(shè)置工作表名稱。
  4. 設(shè)置單元格樣式:可以使用 ExcelRange.Style 屬性來設(shè)置單元格樣式。
  5. 向單元格寫入數(shù)據(jù):使用 SetValue() 方法向單元格寫入數(shù)據(jù)。
  6. 保存 Excel 文件:使用 ExcelPackage.SaveAs() 方法將 Excel 文件保存到磁盤。
  7. 釋放資源:使用 Dispose() 方法釋放工作簿對(duì)象的資源。

下面是一個(gè)示例代碼,演示如何使用 EPPlus 組件導(dǎo)出 Excel 文件:

using System;
using System.Data;
using System.IO;
using OfficeOpenXml;
namespace ExportExcelDemo
{
? ? class Program
? ? {
? ? ? ? static void Main(string[] args)
? ? ? ? {
? ? ? ? ? ? // 創(chuàng)建一個(gè) DataTable 對(duì)象來存儲(chǔ)數(shù)據(jù)
? ? ? ? ? ? DataTable dataTable = new DataTable("MyData");
? ? ? ? ? ? // 添加列到 DataTable
? ? ? ? ? ? dataTable.Columns.Add("Name", typeof(string));
? ? ? ? ? ? dataTable.Columns.Add("Age", typeof(int));
? ? ? ? ? ? // 向 DataTable 中添加數(shù)據(jù)行
? ? ? ? ? ? dataTable.Rows.Add("John Doe", 30);
? ? ? ? ? ? dataTable.Rows.Add("Jane Smith", 25);
? ? ? ? ? ? // 使用 EPPlus 組件導(dǎo)出 Excel 文件
? ? ? ? ? ? using (ExcelPackage excelPackage = new ExcelPackage())
? ? ? ? ? ? {
? ? ? ? ? ? ? ? ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets.Add("MySheet");
? ? ? ? ? ? ? ? int row = 1;
? ? ? ? ? ? ? ? foreach (DataRow dataRow in dataTable.Rows)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? worksheet.Cells[row, 1].Value = dataRow["Name"].ToString();
? ? ? ? ? ? ? ? ? ? worksheet.Cells[row, 2].Value = Convert.ToInt32(dataRow["Age"]);
? ? ? ? ? ? ? ? ? ? row++;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? // 將 Excel 文件保存到磁盤
? ? ? ? ? ? ? ? string fileName = @"C:\temp\MyExcelFile.xlsx";
? ? ? ? ? ? ? ? FileInfo fileInfo = new FileInfo(fileName);
? ? ? ? ? ? ? ? excelPackage.SaveAs(fileInfo);
? ? ? ? ? ? }
? ? ? ? ? ? // 釋放資源
? ? ? ? }
? ? }
}

在這個(gè)示例代碼中,我們使用 ExcelPackage 類創(chuàng)建了一個(gè)新的工作簿對(duì)象,并使用它來創(chuàng)建了一個(gè)名為 "MySheet" 的工作表對(duì)象。然后,我們使用 Cells 屬性獲取單元格對(duì)象,并使用 SetValue() 方法向單元格寫入數(shù)據(jù)。最后,我們使用 ExcelPackage.SaveAs() 方法將 Excel 文件保存到磁盤,并使用 Dispose() 方法釋放工作簿對(duì)象的資源。

4. 使用 ClosedXML 組件導(dǎo)出 Excel 文件

使用 ClosedXML 組件導(dǎo)出 Excel 文件的步驟如下:

  1. 引用 ClosedXML 命名空間:在項(xiàng)目中添加對(duì) ClosedXML 的引用,或者使用 NuGet 包管理器安裝它。
  2. 創(chuàng)建工作簿對(duì)象:使用 XLWorkbook 類創(chuàng)建一個(gè)新的工作簿對(duì)象。
  3. 獲取工作表對(duì)象:使用 AddWorksheet() 方法創(chuàng)建一個(gè)新的工作表對(duì)象,并設(shè)置工作表名稱。
  4. 設(shè)置單元格樣式:可以使用 IXLStyle 接口和 IXLFont 接口來設(shè)置單元格樣式。
  5. 向單元格寫入數(shù)據(jù):使用 SetValue() 方法向單元格寫入數(shù)據(jù)。
  6. 保存 Excel 文件:使用 SaveAs() 方法將 Excel 文件保存到磁盤。
  7. 釋放資源:使用 Dispose() 方法釋放工作簿對(duì)象的資源。

下面是一個(gè)示例代碼,演示如何使用 ClosedXML 組件導(dǎo)出 Excel 文件:

using System;
using System.Data;
using System.IO;
using ClosedXML.Excel;
namespace ExportExcelDemo
{
? ? class Program
? ? {
? ? ? ? static void Main(string[] args)
? ? ? ? {
? ? ? ? ? ? // 創(chuàng)建一個(gè) DataTable 對(duì)象來存儲(chǔ)數(shù)據(jù)
? ? ? ? ? ? DataTable dataTable = new DataTable("MyData");
? ? ? ? ? ? // 添加列到 DataTable
? ? ? ? ? ? dataTable.Columns.Add("Name", typeof(string));
? ? ? ? ? ? dataTable.Columns.Add("Age", typeof(int));
? ? ? ? ? ? // 向 DataTable 中添加數(shù)據(jù)行
? ? ? ? ? ? dataTable.Rows.Add("John Doe", 30);
? ? ? ? ? ? dataTable.Rows.Add("Jane Smith", 25);
? ? ? ? ? ? // 使用 ClosedXML 組件導(dǎo)出 Excel 文件
? ? ? ? ? ? using (XLWorkbook workbook = new XLWorkbook())
? ? ? ? ? ? {
? ? ? ? ? ? ? ? IXLWorksheet worksheet = workbook.AddWorksheet("MySheet");
? ? ? ? ? ? ? ? int row = 1;
? ? ? ? ? ? ? ? foreach (DataRow dataRow in dataTable.Rows)
? ? ? ? ? ? ? ? {
? ? ? ? ? ? ? ? ? ? worksheet.Cell(row, 1).Value = dataRow["Name"].ToString();
? ? ? ? ? ? ? ? ? ? worksheet.Cell(row, 2).Value = Convert.ToInt32(dataRow["Age"]);
? ? ? ? ? ? ? ? ? ? // 設(shè)置單元格樣式
? ? ? ? ? ? ? ? ? ? worksheet.Cell(row, 2).Style.Font.Bold = true;
? ? ? ? ? ? ? ? ? ? worksheet.Cell(row, 2).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Right;
? ? ? ? ? ? ? ? ? ? row++;
? ? ? ? ? ? ? ? }
? ? ? ? ? ? ? ? // 將 Excel 文件保存到磁盤
? ? ? ? ? ? ? ? string fileName = @"C:\temp\MyExcelFile.xlsx";
? ? ? ? ? ? ? ? workbook.SaveAs(fileName);
? ? ? ? ? ? }
? ? ? ? ? ? // 釋放資源
? ? ? ? }
? ? }
}

在這個(gè)示例代碼中,我們使用 XLWorkbook 類創(chuàng)建了一個(gè)新的工作簿對(duì)象,并使用它來創(chuàng)建了一個(gè)名為 "MySheet" 的工作表對(duì)象。然后,我們使用 Cell() 方法獲取單元格對(duì)象,并使用 SetValue() 方法向單元格寫入數(shù)據(jù)。接著,我們使用 IXLStyle 接口和 IXLFont 接口來設(shè)置單元格樣式。最后,我們使用 SaveAs() 方法將 Excel 文件保存到磁盤,并使用 Dispose() 方法釋放工作簿對(duì)象的資源。 

總結(jié)

到此這篇關(guān)于C#導(dǎo)出Excel的幾種常見方式及詳細(xì)實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)C#導(dǎo)出Excel常用方法內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

博爱县| 昔阳县| 龙门县| 富平县| 敦煌市| 卢氏县| 乌鲁木齐市| 祁连县| 班戈县| 包头市| 车致| 拜城县| 南汇区| 安义县| 旌德县| 开阳县| 襄樊市| 将乐县| 临安市| 绩溪县| 武胜县| 泰宁县| 大名县| 临猗县| 清远市| 杭州市| 沾益县| 吉林省| 社会| 锦州市| 宜宾市| 成安县| 赤壁市| 门源| 惠水县| 建阳市| 高雄市| 旺苍县| 涿州市| 许昌市| 湖南省|