在今天的互聯網時代,各式各樣的數據處理、展示需求對於我們編程人員來說已經變得越來越重要。而針對業務人員、對於數據展示和處理方法的多樣性也日漸提高。所以,我們需要更高效、靈活的數據處理方式去滿足這些需求。作為一名程序員,當我們在面臨Excel報表的生成時,往往只了解到office API、NPOI等。今天,我要向大家介紹一種更加簡便、高效的生成Excel報表方式——使用ClosedXML。
一、安裝ClosedXML和引入DLL
ClosedXML是一個.NET庫,可以用於生成Excel 2007+(xlsx)文件。為了使用ClosedXML,需要首先安裝並引用DLL文件。可以通過Nuget包管理器來安裝。首先我們要打開nuget包管理。
Install-Package ClosedXML
安裝ClosedXML。
二、生成空白Excel文件和表格
在安裝完畢後,我們可以將一個空白的Excel文件導入到程序中,然後通過API來進行操作。我們可以使用以下代碼來實現:
//實例化新workbook,即新的Excel文件
var workbook = new XLWorkbook();
//添加worksheet,即工作表
var worksheet = workbook.Worksheets.Add("Sheet1");
//插入一行數據
worksheet.Cell(1, 1).Value = "這是一個表頭";
//設置字體加粗
worksheet.Cell(1, 1).Style.Font.SetBold();
可以看到,使用ClosedXML生成Excel報表是十分簡單了。首先創建Excel文件,然後添加Worksheet,最後就可以開始給Worksheet添加數據、設置樣式等操作了。這裡插入了一行數據,並且設置了該數據的字體為加粗。這些操作都可以通過ClosedXML的API輕鬆地實現。
三、添加數據
在第二步中,我們已經創建了一個空白的Excel文件,並且添加了一行表頭。下面我們要添加一些數據到這個Excel文件當中。
首先,我們來看一下如何添加一行數據:
//定義一個數組用於保存數據
var myData = new[]
{
new {Name = "張三", Age = "26", Address = "北京市海淀區"},
new {Name = "李四", Age = "24", Address = "上海市浦東新區"},
new {Name = "王五", Age = "29", Address = "廣州市天河區"},
};
//添加到工作表當中
//起始行
int rowStartIndex = 2;
//遍曆數據
foreach (var row in myData)
{
//插入一行,從第2行開始,因為第一行是表頭
var newRow = worksheet.Row(rowStartIndex++);
//插入數據到該行中
newRow.Cell(1).Value = row.Name;
newRow.Cell(2).Value = row.Age;
newRow.Cell(3).Value = row.Address;
}
可以看到,我們首先定義了一個數組,用來保存需要插入的數據。然後通過遍歷這個數組,將數據插入到Excel工作表中。在這裡,我們通過給每行數據插入三個值的方式,將數據導入到表格當中。需要注意的是,別忘了在添加數據的過程中將起始行指定為第二行。
四、設置樣式
如果我們想要讓我們生成的Excel報表更加美觀、專業,那麼在設置樣式方面也是十分重要的。ClosedXML也提供了一些API,讓我們能夠輕鬆地設置Excel報表的樣式。
以下是設置樣式常用的幾種操作:
1、設置單元格顏色
//設置進入表格的背景色
worksheet.Cell(1, 1).Style.Fill.BackgroundColor = XLColor.Turquoise;
2、設置單元格字體顏色和大小
//設置字體顏色
worksheet.Cell(1, 1).Style.Font.FontColor = XLColor.Red;
//設置字體大小
worksheet.Cell(1, 1).Style.Font.FontSize = 15;
3、設置單元格對齊方式
//設置內容的對齊方式
worksheet.Cell(1, 1).Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center;
worksheet.Cell(1, 1).Style.Alignment.Vertical = XLAlignmentVerticalValues.Center;
可以看到,設置Excel報表的樣式也是相當地簡單。使用ClosedXML可以輕鬆地設置背景色、字體顏色和大小、內容對齊方式等信息。
五、生成Excel報表
在完成了上述操作後,我們已經生成了一份完整的Excel報表,現在就可以進行導出並保存了。
//指定Excel文件的導出路徑
string path = @"c:\test.xlsx";
workbook.SaveAs(path);
最後指定Excel文件的導出路徑並保存即可。可以看到使用ClosedXML來生成一份Excel報表,是一件非常簡單的事情。在這篇文章中,我們學習了如何使用ClosedXML來生成空白Excel、添加數據、設置樣式和導出Excel報表等操作。相信在實際的開發中,大家可以根據自己的需求來進行更多更複雜的操作。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/236506.html