C#实现几十万级数据导出Excel及Excel各种操作实例
在C#中,我们可以使用第三方库EPPlus来处理Excel文件。以下是几步实现几十万级数据导出Excel的完整攻略:
步骤一:安装EPPlus库
我们可以在NuGet中添加EPPlus库,或是通过官方网站下载最新版。
步骤二:创建Excel文件
我们可以通过以下代码来创建一个Excel文件及相关信息:
//创建Excel工作簿
ExcelPackage package = new ExcelPackage();
//添加worksheet
ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Sheet1");
//添加表头
worksheet.Cells[1, 1].Value = "Name";
worksheet.Cells[1, 2].Value = "Age";
worksheet.Cells[1, 3].Value = "City";
//添加数据
worksheet.Cells[2, 1].Value = "Alice";
worksheet.Cells[2, 2].Value = 25;
worksheet.Cells[2, 3].Value = "New York";
//保存Excel文件
var file = new FileInfo(@"C:\Users\Username\Documents\Test.xlsx");
package.SaveAs(file);
在Excel中,第一行通常用作表头,我们可以在它下面添加数据。
步骤三:导出大量数据
我们可以使用以下代码导出大量数据:
//创建Excel工作簿
ExcelPackage package = new ExcelPackage();
//添加worksheet
ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Sheet1");
//添加表头
worksheet.Cells[1, 1].Value = "Name";
worksheet.Cells[1, 2].Value = "Age";
worksheet.Cells[1, 3].Value = "City";
//添加数据
for(int i = 2; i <= 100000; i++)
{
worksheet.Cells[i, 1].Value = "Alice" + i.ToString();
worksheet.Cells[i, 2].Value = 25 + i;
worksheet.Cells[i, 3].Value = "New York";
}
//保存Excel文件
var file = new FileInfo(@"C:\Users\Username\Documents\Test.xlsx");
package.SaveAs(file);
在上面的代码中,我们循环100000次来向Excel表中添加一行新的数据。这样就能轻易的导出大量数据了。
步骤四:Excel各种操作示例
EPPlus库不仅支持Excel文件的导出,还支持各种Excel操作,以下是两个示例:
示例一:单元格格式
我们可以通过以下代码来设定Excel单元格的格式:
//创建Excel工作簿
ExcelPackage package = new ExcelPackage();
//添加worksheet
ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Sheet1");
//添加表头
worksheet.Cells[1, 1].Value = "Name";
worksheet.Cells[1, 2].Value = "Age";
worksheet.Cells[1, 3].Value = "City";
//添加数据
for(int i = 2; i <= 100000; i++)
{
worksheet.Cells[i, 1].Value = "Alice" + i.ToString();
worksheet.Cells[i, 2].Value = 25 + i;
worksheet.Cells[i, 3].Value = "New York";
}
//指定单元格格式
var range = worksheet.Cells["B2:B100001"];
range.Style.Numberformat.Format = "0.00";
//保存Excel文件
var file = new FileInfo(@"C:\Users\Username\Documents\Test.xlsx");
package.SaveAs(file);
在上面的代码中,我们将第二列的所有单元格设定为两位小数。
示例二:图表
我们可以通过以下代码来在Excel中添加图表:
//创建Excel工作簿
ExcelPackage package = new ExcelPackage();
//添加worksheet
ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Sheet1");
//添加表头
worksheet.Cells[1, 1].Value = "Name";
worksheet.Cells[1, 2].Value = "Age";
worksheet.Cells[1, 3].Value = "City";
//添加数据
for(int i = 2; i <= 100000; i++)
{
worksheet.Cells[i, 1].Value = "Alice" + i.ToString();
worksheet.Cells[i, 2].Value = 25 + i;
worksheet.Cells[i, 3].Value = "New York";
}
//创建图表
var chart = worksheet.Drawings.AddChart("Chart1", eChartType.ColumnClustered);
chart.SetPosition(1, 0, 3, 0);
chart.SetSize(600, 400);
chart.Series.Add(worksheet.Cells["B2:B100001"], worksheet.Cells["A2:A100001"]);
//保存Excel文件
var file = new FileInfo(@"C:\Users\Username\Documents\Test.xlsx");
package.SaveAs(file);
在上面的代码中,我们将第二列的数据设定为柱状图,并将图表添加至第三列。
这些都是用C#实现Excel文件创建与操作的简单示例。EPPlus库支持更多高级操作,参考文档可在官方网站中获取。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#实现几十万级数据导出Excel及Excel各种操作实例 - Python技术站