C#使用Spire.XLS for .NET將DataTable寫(xiě)入Excel的具體步驟
引言
在日常開(kāi)發(fā)中,我們經(jīng)常需要將 DataTable 中的數(shù)據(jù)導(dǎo)出到 Excel 文件中,方便用戶(hù)查看或進(jìn)行后續(xù)分析。本文將介紹如何使用 Spire.XLS for .NET 實(shí)現(xiàn)這一功能,包括:
- 普通寫(xiě)入:直接將 DataTable 寫(xiě)入 Excel。
- 格式設(shè)置:對(duì)導(dǎo)出的 Excel 進(jìn)行樣式美化。
一、準(zhǔn)備工作
首先,在 C# 項(xiàng)目中引用 Spire.XLS for .NET 程序集(Spire.Xls.dll)。
引用完成后,即可開(kāi)始編寫(xiě)代碼。
二、創(chuàng)建測(cè)試用 DataTable
在示例中,我們先構(gòu)造一個(gè)簡(jiǎn)單的 DataTable 用于演示。
using System;
using System.Data;
public static DataTable GetSampleData()
{
DataTable dt = new DataTable();
dt.Columns.Add("編號(hào)", typeof(int));
dt.Columns.Add("姓名", typeof(string));
dt.Columns.Add("成績(jī)", typeof(double));
dt.Rows.Add(1, "張三", 88.5);
dt.Rows.Add(2, "李四", 92.0);
dt.Rows.Add(3, "王五", 76.3);
return dt;
}
三、普通寫(xiě)入 DataTable 到 Excel
普通寫(xiě)入是最簡(jiǎn)單的方式,不涉及復(fù)雜格式,只是把數(shù)據(jù)原封不動(dòng)寫(xiě)入到 Excel 中。
using Spire.Xls;
using System.Data;
class Program
{
static void Main()
{
// 獲取示例數(shù)據(jù)
DataTable dataTable = GetSampleData();
// 創(chuàng)建 Workbook
Workbook workbook = new Workbook();
Worksheet sheet = workbook.Worksheets[0];
// 將 DataTable 寫(xiě)入工作表(true 表示包含列名)
sheet.InsertDataTable(dataTable, true, 1, 1);
// 保存 Excel 文件
workbook.SaveToFile("普通寫(xiě)入.xlsx", ExcelVersion.Version2016);
}
}
說(shuō)明:
InsertDataTable方法可將 DataTable 快速寫(xiě)入 Excel。- 第三個(gè)參數(shù)
true表示首行寫(xiě)入列名。
運(yùn)行后即可得到一個(gè)簡(jiǎn)單的 Excel 文件,第一行是列標(biāo)題,下面是對(duì)應(yīng)的數(shù)據(jù)。
四、帶格式設(shè)置的寫(xiě)入
在很多實(shí)際場(chǎng)景中,我們希望導(dǎo)出的 Excel 更易讀,比如標(biāo)題加粗、列寬自動(dòng)適應(yīng)、邊框等。
using Spire.Xls;
using System.Data;
using System.Drawing;
class Program
{
static void Main()
{
DataTable dataTable = GetSampleData();
Workbook workbook = new Workbook();
Worksheet sheet = workbook.Worksheets[0];
// 寫(xiě)入數(shù)據(jù)
sheet.InsertDataTable(dataTable, true, 1, 1);
// 獲取標(biāo)題行范圍
CellRange titleRange = sheet.Range[1, 1, 1, dataTable.Columns.Count];
titleRange.Style.Font.IsBold = true; // 加粗
titleRange.Style.HorizontalAlignment = HorizontalAlignType.Center; // 居中
titleRange.Style.Color = Color.LightGray; // 背景色
// 給所有單元格加邊框
CellRange allRange = sheet.Range[1, 1, dataTable.Rows.Count + 1, dataTable.Columns.Count];
allRange.BorderInside(LineStyleType.Thin, Color.Black);
allRange.BorderAround(LineStyleType.Thin, Color.Black);
// 自動(dòng)調(diào)整列寬
sheet.AllocatedRange.AutoFitColumns();
workbook.SaveToFile("格式化寫(xiě)入.xlsx", ExcelVersion.Version2016);
}
}
格式說(shuō)明:
- 標(biāo)題樣式:加粗、居中、背景色。
- 邊框:內(nèi)外邊框統(tǒng)一設(shè)置為黑色細(xì)線(xiàn)。
- 列寬:
AutoFitColumns()自動(dòng)調(diào)整列寬以適應(yīng)內(nèi)容。
運(yùn)行后,生成的 Excel 文件不僅包含數(shù)據(jù),還具有更美觀(guān)的格式,方便閱讀。
五、總結(jié)
本文介紹了如何使用 Spire.XLS for .NET 將 DataTable 寫(xiě)入 Excel 文件:
- 普通寫(xiě)入:簡(jiǎn)單快速,適合臨時(shí)數(shù)據(jù)導(dǎo)出。
- 格式化寫(xiě)入:通過(guò)調(diào)整字體、顏色、邊框和列寬,讓數(shù)據(jù)更加美觀(guān)易讀。
無(wú)論是普通導(dǎo)出還是格式化處理,Spire.XLS for .NET 都提供了簡(jiǎn)潔易用的 API,幫助開(kāi)發(fā)者高效完成 Excel 生成任務(wù)。
到此這篇關(guān)于C#使用Spire.XLS for .NET將DataTable寫(xiě)入Excel的具體步驟的文章就介紹到這了,更多相關(guān)C# DataTable寫(xiě)入Excel內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#程序終極調(diào)試實(shí)現(xiàn)windbg的時(shí)間旅行
這篇文章主要介紹了C#程序終極調(diào)試實(shí)現(xiàn)windbg的時(shí)間旅行示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06
C# 類(lèi)型系統(tǒng)上實(shí)現(xiàn)一個(gè) SQL 查詢(xún)引擎原型
在C#類(lèi)型系統(tǒng)上實(shí)現(xiàn)一個(gè)SQL查詢(xún)引擎,核心目標(biāo)是利用 C# 的強(qiáng)類(lèi)型、泛型、表達(dá)式樹(shù)(Expression Trees)等特性,構(gòu)建一個(gè)類(lèi)型安全、可組合、可編譯為 SQL 的查詢(xún)系統(tǒng),本文介紹C# 類(lèi)型系統(tǒng)上實(shí)現(xiàn)一個(gè) SQL 查詢(xún)引擎,感興趣的朋友一起看看吧2026-03-03
C# IDE VS2005中的Hosting Process (vshost.exe)作用介紹
這篇文章主要介紹了C# IDE VS2005中的Hosting Process (vshost.exe)作用介紹,vshost.exe是一個(gè)宿主進(jìn)程,主要用來(lái)提高調(diào)試效率,需要的朋友可以參考下2015-01-01
C#?WPF編程之Application類(lèi)的使用詳解
每個(gè)運(yùn)行中的WPF應(yīng)用程序都由System.Windows.Application類(lèi)的一個(gè)實(shí)例來(lái)表示,該類(lèi)跟蹤在應(yīng)用程序中打開(kāi)的所有窗口,決定何時(shí)關(guān)閉應(yīng)用程序,下面就跟隨小編一起來(lái)深入了解下Application類(lèi)的使用吧2024-04-04
C#方法重載與重寫(xiě)的7個(gè)關(guān)鍵區(qū)別和問(wèn)題詳解
這篇文章詳細(xì)探討了方法重載和重寫(xiě)的7個(gè)關(guān)鍵區(qū)別,包括定義場(chǎng)景、核心規(guī)則、調(diào)用時(shí)機(jī)、應(yīng)用場(chǎng)景、訪(fǎng)問(wèn)權(quán)限規(guī)則、返回值類(lèi)型規(guī)則以及重寫(xiě)限制,同時(shí),文章指出重載和重寫(xiě)在編碼哲學(xué)上的重要性,它們是編程中的兩種不同的方法,但有著各自的特點(diǎn)和應(yīng)用場(chǎng)景2025-12-12
C# Environment.CurrentDirectory 靜態(tài)屬性的實(shí)現(xiàn)
本文主要介紹了C# Environment.CurrentDirectory 靜態(tài)屬性的實(shí)現(xiàn),它返回當(dāng)前應(yīng)用程序的工作目錄路徑,具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02
C#批量插入數(shù)據(jù)到sqlserver的方法詳解
這篇文章主要為大家詳細(xì)介紹了C#中四種可以批量插入數(shù)據(jù)到sqlserver的方法,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以參考一下2025-02-02
C#使用foreach語(yǔ)句遍歷堆棧(Stack)的方法
這篇文章主要介紹了C#使用foreach語(yǔ)句遍歷堆棧(Stack)的方法,涉及C#操作foreach實(shí)現(xiàn)遍歷堆棧的技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2015-04-04

