最新国产好看的视频,伊人天堂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ū)動(dòng)的應(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ū)動(dòng)的應(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的典型場(chǎng)景

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

  • 導(dǎo)出訂單數(shù)據(jù)供財(cái)務(wù)核對(duì)
  • 導(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++;
        }

        // 自動(dòng)調(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)目中,往往需要對(duì)單元格格式進(jìn)行控制。例如:

設(shè)置日期格式:

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

設(shè)置貨幣格式:

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

通過單元格對(duì)象可以精確控制:

  • 字體
  • 對(duì)齊方式
  • 數(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ù)場(chǎng)景。結(jié)合 Spire.XLS 提供的豐富功能,可以進(jìn)一步實(shí)現(xiàn)圖表生成、公式計(jì)算、數(shù)據(jù)驗(yàn)證等高級(jí)需求,從而滿足更復(fù)雜的報(bào)表開發(fā)場(chǎng)景。

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

相關(guān)文章

最新評(píng)論

正镶白旗| 招远市| 平潭县| 栾城县| 汪清县| 五华县| 江华| 昭平县| 托克逊县| 盐亭县| 长顺县| 拉萨市| 蕉岭县| 新田县| 那坡县| 临高县| 龙州县| 布拖县| 平和县| 行唐县| 乌恰县| 靖远县| 宽甸| 盖州市| 两当县| 城固县| 海南省| 黎川县| 华池县| 阳泉市| 神农架林区| 泌阳县| 天长市| 黔西| 潞西市| 辽宁省| 保山市| 安远县| 长子县| 大庆市| 济阳县|