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

C#使用Spire.XLS for .NET將List數(shù)據(jù)導(dǎo)出Excel的操作指南

 更新時(shí)間:2026年02月15日 08:48:58   作者:用戶835629078051  
在現(xiàn)代數(shù)據(jù)驅(qū)動的應(yīng)用開發(fā)中,將程序內(nèi)存中的數(shù)據(jù)以結(jié)構(gòu)化的形式呈現(xiàn)給用戶是一個(gè)普遍的需求,其中,將C# List集合中的數(shù)據(jù)導(dǎo)出到Excel文件,成為了開發(fā)者們經(jīng)常需要實(shí)現(xiàn)的功能,本文將介紹如何使用 Spire.XLS for .NET將 List<T> 數(shù)據(jù)寫入Excel文件,需要的朋友可以參考下

引言

在現(xiàn)代數(shù)據(jù)驅(qū)動的應(yīng)用開發(fā)中,將程序內(nèi)存中的數(shù)據(jù)以結(jié)構(gòu)化的形式呈現(xiàn)給用戶是一個(gè)普遍的需求。其中,將C# List集合中的數(shù)據(jù)導(dǎo)出到Excel文件,因其良好的可讀性、易分享性以及強(qiáng)大的數(shù)據(jù)分析能力,成為了開發(fā)者們經(jīng)常需要實(shí)現(xiàn)的功能。

無論是生成統(tǒng)計(jì)報(bào)表、導(dǎo)出用戶數(shù)據(jù)、進(jìn)行數(shù)據(jù)遷移,還是為BI工具提供數(shù)據(jù)源,高效且格式友好的Excel導(dǎo)出功能都至關(guān)重要。本文將介紹如何使用 Spire.XLS for .NET,通過清晰直觀的方式,將 List<T> 數(shù)據(jù)寫入Excel文件。

C#數(shù)據(jù)導(dǎo)出Excel的典型場景

在實(shí)際項(xiàng)目中,常見需求包括:

  • 導(dǎo)出訂單數(shù)據(jù)供財(cái)務(wù)核對
  • 導(dǎo)出客戶信息供銷售分析
  • 導(dǎo)出統(tǒng)計(jì)結(jié)果供管理層查看

Excel作為數(shù)據(jù)展示與處理的通用工具,其格式控制能力和易操作性,使其成為最常見的數(shù)據(jù)輸出形式之一。

環(huán)境準(zhǔn)備

在 Visual Studio 中通過 NuGet 安裝 Spire.XLS

  1. 右鍵項(xiàng)目
  2. 選擇“管理NuGet程序包”
  3. 搜索 Spire.XLS
  4. 安裝

安裝完成后即可在代碼中引用:

using Spire.Xls;

示例數(shù)據(jù)模型

public class Product
{
    public int ID { get; set; }
    public string Name { get; set; }
    public decimal Price { get; set; }
    public DateTime ManufactureDate { get; set; }
    public bool IsAvailable { get; set; }
}

核心實(shí)現(xiàn):將 List 數(shù)據(jù)寫入 Excel

using Spire.Xls;
using System;
using System.Collections.Generic;

public class ExcelExporter
{
    public static void ExportProductsToExcel(List<Product> products, string filePath)
    {
        Workbook workbook = new Workbook();
        Worksheet sheet = workbook.Worksheets[0];
        sheet.Name = "產(chǎn)品列表";

        int row = 1;

        // 寫入表頭
        sheet.Range[row, 1].Value2 = "ID";
        sheet.Range[row, 2].Value2 = "Name";
        sheet.Range[row, 3].Value2 = "Price";
        sheet.Range[row, 4].Value2 = "ManufactureDate";
        sheet.Range[row, 5].Value2 = "IsAvailable";

        row++;

        // 寫入數(shù)據(jù)
        foreach (var product in products)
        {
            sheet.Range[row, 1].Value2 = product.ID;
            sheet.Range[row, 2].Value2 = product.Name;
            sheet.Range[row, 3].Value2 = (double)product.Price;
            sheet.Range[row, 4].Value2 = product.ManufactureDate;
            sheet.Range[row, 5].Value2 = product.IsAvailable;
            row++;
        }

        // 自動調(diào)整列寬
        sheet.AllocatedRange.AutoFitColumns();

        // 設(shè)置標(biāo)題樣式
        var headerRange = sheet.Range[1, 1, 1, 5];
        headerRange.Style.Font.IsBold = true;
        headerRange.Style.HorizontalAlignment = HorizontalAlignType.Center;

        workbook.SaveToFile(filePath, ExcelVersion.Version2016);
        workbook.Dispose();
    }

    public static void Main(string[] args)
    {
        List<Product> productList = new List<Product>
        {
            new Product { ID = 1, Name = "筆記本電腦", Price = 8999.00M, ManufactureDate = new DateTime(2023, 1, 15), IsAvailable = true },
            new Product { ID = 2, Name = "無線鼠標(biāo)", Price = 129.50M, ManufactureDate = new DateTime(2023, 3, 10), IsAvailable = true },
            new Product { ID = 3, Name = "機(jī)械鍵盤", Price = 599.00M, ManufactureDate = new DateTime(2022, 11, 20), IsAvailable = false },
            new Product { ID = 4, Name = "顯示器", Price = 1999.99M, ManufactureDate = new DateTime(2023, 2, 5), IsAvailable = true },
            new Product { ID = 5, Name = "SSD硬盤", Price = 650.00M, ManufactureDate = new DateTime(2023, 4, 1), IsAvailable = true }
        };

        string outputPath = "ProductsExport.xlsx";
        ExportProductsToExcel(productList, outputPath);
    }
}

導(dǎo)出結(jié)果演示:

格式控制與擴(kuò)展

在實(shí)際項(xiàng)目中,往往需要對單元格格式進(jìn)行控制。例如:

設(shè)置日期格式:

sheet.Range[row, 4].Style.NumberFormat = "yyyy-mm-dd";

設(shè)置貨幣格式:

sheet.Range[row, 3].Style.NumberFormat = "¥#,##0.00";

通過單元格對象可以精確控制:

  • 字體
  • 對齊方式
  • 數(shù)字格式
  • 背景顏色
  • 邊框

實(shí)踐建議

  • 處理完畢后調(diào)用 Dispose() 釋放資源
  • 建議使用 try-catch 進(jìn)行異常處理
  • 大數(shù)據(jù)量導(dǎo)出時(shí)可考慮分批處理
  • 注意數(shù)值類型轉(zhuǎn)換(如 decimal 轉(zhuǎn) double)

總結(jié)

通過遍歷 List<T> 并使用 sheet.Range[row, column].Value2 寫入數(shù)據(jù),可以實(shí)現(xiàn)清晰、可控且易維護(hù)的Excel導(dǎo)出邏輯。

這種方式結(jié)構(gòu)直觀,便于擴(kuò)展格式控制,適用于大多數(shù)常見業(yè)務(wù)場景。結(jié)合 Spire.XLS 提供的豐富功能,可以進(jìn)一步實(shí)現(xiàn)圖表生成、公式計(jì)算、數(shù)據(jù)驗(yàn)證等高級需求,從而滿足更復(fù)雜的報(bào)表開發(fā)場景。

以上就是C#使用Spire.XLS for .NET將List數(shù)據(jù)導(dǎo)出Excel的操作指南的詳細(xì)內(nèi)容,更多關(guān)于C#將List數(shù)據(jù)導(dǎo)出Excel的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論

武隆县| 丰台区| 新蔡县| 宜城市| 辽阳县| 阳春市| 卢湾区| 松溪县| 五华县| 张北县| 榆树市| 鄂伦春自治旗| 汪清县| 金门县| 甘南县| 武夷山市| 冕宁县| 册亨县| 株洲市| 潍坊市| 普洱| 阿拉善右旗| 长顺县| 三亚市| 云和县| 舒兰市| 喜德县| 开封市| 万年县| 宁陕县| 隆子县| 海兴县| 黄梅县| 文成县| 彝良县| 盘锦市| 滨州市| 高平市| 安塞县| 闽侯县| 竹山县|