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

使用C#導(dǎo)出Excel數(shù)據(jù)并保存多種格式的完整示例

 更新時(shí)間:2025年11月23日 15:33:41   作者:大丸子  
在現(xiàn)代企業(yè)信息化管理中,Excel 已經(jīng)成為最常用的數(shù)據(jù)存儲和分析工具,從員工信息表、銷售數(shù)據(jù)報(bào)表到財(cái)務(wù)分析表,幾乎所有部門都離不開 Excel,本文將通過一個(gè)完整示例,詳細(xì)演示如何在 C# 中實(shí)現(xiàn) Excel 數(shù)據(jù)導(dǎo)出,需要的朋友可以參考下

引言

在現(xiàn)代企業(yè)信息化管理中,Excel 已經(jīng)成為最常用的數(shù)據(jù)存儲和分析工具。從員工信息表、銷售數(shù)據(jù)報(bào)表到財(cái)務(wù)分析表,幾乎所有部門都離不開 Excel。然而,在實(shí)際業(yè)務(wù)中,我們往往需要將系統(tǒng)中的數(shù)據(jù)動(dòng)態(tài)生成 Excel 文件,而不是手動(dòng)錄入。手動(dòng)操作不僅效率低,而且容易出錯(cuò),對于需要批量生成報(bào)表、進(jìn)行定期統(tǒng)計(jì)或?qū)ν獍l(fā)布數(shù)據(jù)的場景尤其不適用。

為了解決這一問題,C# 開發(fā)者可以借助 Free Spire.XLS for .NET,通過代碼快速創(chuàng)建 Excel 文件、填充數(shù)據(jù)、應(yīng)用樣式,并將文件導(dǎo)出為多種格式,包括 XLSX、CSV、PDF,甚至直接保存到內(nèi)存流以便網(wǎng)絡(luò)傳輸。本文將通過一個(gè)完整示例,詳細(xì)演示如何在 C# 中實(shí)現(xiàn) Excel 數(shù)據(jù)導(dǎo)出,讓你的報(bào)表生成工作既高效又專業(yè)。

1. 安裝 Spire.XLS

在開始編碼前,需要通過 NuGet 安裝 Spire.XLS:

Install-Package FreeSpire.XLS

安裝完成后,即可在 C# 項(xiàng)目中引用命名空間:

using Spire.Xls;
using System.Data;
using System.IO;

2. 創(chuàng)建工作簿和填充數(shù)據(jù)

下面示例演示如何創(chuàng)建一個(gè) Excel 文件,并將員工信息填充到工作表中:

// 創(chuàng)建工作簿
Workbook workbook = new Workbook();
Worksheet sheet = workbook.Worksheets[0];
sheet.Name = "EmployeeData";

// 創(chuàng)建 DataTable 并添加列
DataTable table = new DataTable();
table.Columns.Add("EmployeeID");
table.Columns.Add("FullName");
table.Columns.Add("Department");
table.Columns.Add("HireDate");
table.Columns.Add("Salary");

// 添加示例數(shù)據(jù)
table.Rows.Add("E101", "John Miller", "Finance", "2020-02-15", "7500");
table.Rows.Add("E102", "Sarah Brown", "HR", "2019-07-10", "6800");
table.Rows.Add("E103", "Michael Davis", "IT", "2021-01-22", "8200");
table.Rows.Add("E104", "Laura Wilson", "Marketing", "2018-11-18", "7100");
table.Rows.Add("E105", "Daniel Lee", "Sales", "2022-06-12", "6900");

// 將 DataTable 插入工作表,從第一行第一列開始,并保留列名
sheet.InsertDataTable(table, true, 1, 1);

// 應(yīng)用內(nèi)置樣式
sheet.AllocatedRange.Rows[0].BuiltInStyle = BuiltInStyles.Heading2; // 標(biāo)題行
for (int i = 1; i < sheet.AllocatedRange.Rows.Count(); i++)
{
    sheet.AllocatedRange.Rows[i].BuiltInStyle = BuiltInStyles.Accent2; // 數(shù)據(jù)行
}

// 自動(dòng)調(diào)整列寬和行高
sheet.AllocatedRange.AutoFitColumns();
sheet.AllocatedRange.AutoFitRows();

說明

  • InsertDataTable 可以直接將 DataTable 內(nèi)容寫入工作表,同時(shí)支持保留列名。
  • 內(nèi)置樣式(BuiltInStyles)可以快速美化表格,例如標(biāo)題行加粗、數(shù)據(jù)行配色。
  • AutoFitColumns 和 AutoFitRows 可自動(dòng)調(diào)整列寬和行高,使表格美觀。

3. 保存為不同格式

Spire.XLS 支持多種保存格式,常見的包括:

  • XLS/XLSX:傳統(tǒng) Excel 文件
  • CSV:逗號分隔文本文件
  • PDF:用于打印或發(fā)布
  • HTML / SVG:網(wǎng)頁或矢量圖格式
  • XLSB/XLSM:二進(jìn)制或帶宏 Excel 文件
  • MemoryStream:將文件寫入內(nèi)存流,用于網(wǎng)絡(luò)傳輸或其他二次處理

示例代碼:

// 保存為 Excel 2016 格式
workbook.SaveToFile("EmployeeData.xlsx", FileFormat.Version2016);

// 保存為 CSV
workbook.SaveToFile("EmployeeData.csv", FileFormat.CSV);

// 保存為 PDF
workbook.SaveToFile("EmployeeData.pdf", FileFormat.PDF);

// 保存到 MemoryStream
using (MemoryStream ms = new MemoryStream())
{
    workbook.SaveToStream(ms, FileFormat.Version2016);
    // 這里可以將 ms 寫入數(shù)據(jù)庫、發(fā)送 HTTP 響應(yīng)等
}

說明

  • FileFormat 枚舉支持多達(dá) 25 種格式,例如 Xlsb2007ODS、HTML、Markdown 等。
  • MemoryStream 保存方式適合 Web 應(yīng)用場景,可以直接將文件返回給客戶端而不寫入磁盤。

4. 效果展示

生成的 Excel 文件:

表頭加粗,數(shù)據(jù)行有配色,并且列寬自適應(yīng)。

5. 擴(kuò)展說明

  • 為什么要使用代碼導(dǎo)出?對于批量生成報(bào)表或動(dòng)態(tài)數(shù)據(jù),手動(dòng)操作效率低且易出錯(cuò),使用代碼生成可以自動(dòng)化、可復(fù)用。
  • MemoryStream 場景

    • Web API 返回文件下載
    • 將 Excel 存入數(shù)據(jù)庫或云存儲
    • 在內(nèi)存中生成并進(jìn)一步處理,例如加密或壓縮
  • 多格式支持Spire.XLS 的 FileFormat 枚舉幾乎覆蓋了主流的 Excel、PDF、網(wǎng)頁、模板等格式,可以滿足多種業(yè)務(wù)需求。

6. 總結(jié)

本文演示了如何使用 Spire.XLS for .NET

  • 在 C# 中創(chuàng)建 Excel 文件并填充數(shù)據(jù)
  • 應(yīng)用內(nèi)置樣式和自動(dòng)調(diào)整行列
  • 將文件保存為多種格式(XLSX、CSV、PDF、HTML 等)
  • 使用 MemoryStream 保存用于網(wǎng)絡(luò)傳輸或二次處理

通過掌握 Workbook、WorksheetInsertDataTable 和 SaveToFile/SaveToStream,你可以輕松實(shí)現(xiàn) Excel 數(shù)據(jù)導(dǎo)出和格式轉(zhuǎn)換,提升企業(yè)應(yīng)用開發(fā)效率。

以上就是使用C#導(dǎo)出Excel數(shù)據(jù)并保存多種格式的完整示例的詳細(xì)內(nèi)容,更多關(guān)于C#導(dǎo)出Excel數(shù)據(jù)并保存格式的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • C#利用ASP.NET?Core開發(fā)學(xué)生管理系統(tǒng)詳解

    C#利用ASP.NET?Core開發(fā)學(xué)生管理系統(tǒng)詳解

    隨著技術(shù)的進(jìn)步,跨平臺開發(fā)已經(jīng)成為了標(biāo)配,在此大背景下,ASP.NET?Core也應(yīng)運(yùn)而生。本文主要利用ASP.NET?Core開發(fā)一個(gè)學(xué)生管理系統(tǒng),感興趣的可以學(xué)習(xí)一下
    2022-01-01
  • C#調(diào)用接口的四種方式介紹

    C#調(diào)用接口的四種方式介紹

    這篇文章介紹了C#調(diào)用接口的四種方式,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-06-06
  • C#中foreach語句深入研究

    C#中foreach語句深入研究

    這篇文章主要介紹了C#中foreach語句深入研究,本文通過手動(dòng)實(shí)現(xiàn)迭代器來了解foreach語句的本質(zhì),揭示其原理,需要的朋友可以參考下
    2015-06-06
  • Winform界面中實(shí)現(xiàn)菜單列表的動(dòng)態(tài)個(gè)性化配置管理方法

    Winform界面中實(shí)現(xiàn)菜單列表的動(dòng)態(tài)個(gè)性化配置管理方法

    下面小編就為大家分享一篇Winform界面中實(shí)現(xiàn)菜單列表的動(dòng)態(tài)個(gè)性化配置管理方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2017-11-11
  • C#調(diào)用FFmpeg操作音視頻的實(shí)現(xiàn)示例

    C#調(diào)用FFmpeg操作音視頻的實(shí)現(xiàn)示例

    本文主要介紹了C#調(diào)用FFmpeg操作音視頻的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • C#算法之整數(shù)反轉(zhuǎn)

    C#算法之整數(shù)反轉(zhuǎn)

    這篇文章介紹了C#算法之整數(shù)反轉(zhuǎn),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-01-01
  • c# winform取消右上角關(guān)閉按鈕的實(shí)現(xiàn)方法

    c# winform取消右上角關(guān)閉按鈕的實(shí)現(xiàn)方法

    本文是對c#中winform取消右上角關(guān)閉按鈕的實(shí)現(xiàn)方法進(jìn)行了詳細(xì)的介紹,需要的朋友可以過來參考下。希望對大家有所幫助
    2013-10-10
  • Unity實(shí)現(xiàn)卡牌翻動(dòng)效果

    Unity實(shí)現(xiàn)卡牌翻動(dòng)效果

    這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)卡牌翻動(dòng)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • C#中string.Empty和null的區(qū)別詳解

    C#中string.Empty和null的區(qū)別詳解

    這篇文章主要介紹了C#中string.Empty和null的區(qū)別詳解,本文同時(shí)講解了空字符串和Empty的區(qū)別以及string.Empty與null的區(qū)別,需要的朋友可以參考下
    2015-06-06
  • C#實(shí)現(xiàn)簡易計(jì)算器功能(2)(窗體應(yīng)用)

    C#實(shí)現(xiàn)簡易計(jì)算器功能(2)(窗體應(yīng)用)

    這篇文章主要為大家詳細(xì)介紹了C#實(shí)現(xiàn)簡易計(jì)算器功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01

最新評論

延边| 古丈县| 新闻| 太和县| 瑞安市| 南乐县| 商南县| 三河市| 平顺县| 马公市| 凤山县| 东城区| 株洲县| 罗山县| 红原县| 双江| 斗六市| 施甸县| 德保县| 枝江市| 肥城市| 德兴市| 乌拉特前旗| 阿克| 上犹县| 黑山县| 焉耆| 达拉特旗| 房山区| 岳西县| 东乡| 林西县| 焦作市| 襄垣县| 蚌埠市| 盐池县| 民权县| 思茅市| 来安县| 固阳县| 上杭县|