使用C#将数据表导出到Excel时,可以通过使用第三方库来实现。其中比较常用的库有NPOI、EPPlus和ClosedXML。
a. 引用NPOI库,并添加命名空间using NPOI.HSSF.UserModel和using NPOI.SS.UserModel。
b. 创建一个Workbook对象,例如HSSFWorkbook或XSSFWorkbook,用于表示Excel文件。
c. 创建一个Sheet对象,用于表示Excel文件中的一个工作表。
d. 创建行和单元格对象,并将数据填充到单元格中。
e. 可以通过设置单元格样式来格式化表格,例如设置字体、背景色、边框等。
f. 将Workbook对象保存为Excel文件。
以下是一个示例代码:
using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
using System.IO;
// 创建Workbook对象
IWorkbook workbook = new HSSFWorkbook();
// 创建Sheet对象
ISheet sheet = workbook.CreateSheet("Sheet1");
// 创建行和单元格对象,并填充数据
for (int i = 0; i < dataTable.Rows.Count; i++)
{
IRow row = sheet.CreateRow(i);
for (int j = 0; j < dataTable.Columns.Count; j++)
{
ICell cell = row.CreateCell(j);
cell.SetCellValue(dataTable.Rows[i][j].ToString());
}
}
// 设置单元格样式
ICellStyle style = workbook.CreateCellStyle();
style.FillForegroundColor = NPOI.HSSF.Util.HSSFColor.Yellow.Index;
style.FillPattern = FillPattern.SolidForeground;
// 其他样式设置...
// 应用样式到单元格
for (int i = 0; i < dataTable.Rows.Count; i++)
{
IRow row = sheet.GetRow(i);
for (int j = 0; j < dataTable.Columns.Count; j++)
{
ICell cell = row.GetCell(j);
cell.CellStyle = style;
}
}
// 保存为Excel文件
using (FileStream fs = new FileStream("output.xls", FileMode.Create))
{
workbook.Write(fs);
}
a. 引用EPPlus库,并添加命名空间using OfficeOpenXml。
b. 创建一个ExcelPackage对象,用于表示Excel文件。
c. 创建一个工作表对象,并设置工作表名称。
d. 创建行和单元格对象,并将数据填充到单元格中。
e. 可以通过设置单元格样式来格式化表格,例如设置字体、背景色、边框等。
f. 将ExcelPackage对象保存为Excel文件。
以下是一个示例代码:
using OfficeOpenXml;
using System.IO;
// 创建ExcelPackage对象
using (ExcelPackage package = new ExcelPackage())
{
// 创建工作表对象
ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Sheet1");
// 创建行和单元格对象,并填充数据
for (int i = 0; i < dataTable.Rows.Count; i++)
{
for (int j = 0; j < dataTable.Columns.Count; j++)
{
worksheet.Cells[i + 1, j + 1].Value = dataTable.Rows[i][j].ToString();
}
}
// 设置单元格样式
using (ExcelRange range = worksheet.Cells[1, 1, dataTable.Rows.Count, dataTable.Columns.Count])
{
range.Style.Fill.PatternType = OfficeOpenXml.Style.ExcelFillStyle.Solid;
range.Style.Fill.BackgroundColor.SetColor(System.Drawing.Color.Yellow);
// 其他样式设置...
}
// 保存为Excel文件
FileInfo file = new FileInfo("output.xlsx");
package.SaveAs(file);
}
a. 引用ClosedXML库,并添加命名空间using ClosedXML.Excel。
b. 创建一个Workbook对象,用于表示Excel文件。
c. 创建一个Worksheet对象,并设置工作表名称。
d. 创建行和单元格对象,并将数据填充到单元格中。
e. 可以通过设置单元格样式来格式化表格,例如设置字体、背景色、边框等。
f. 将Workbook对象保存为Excel文件。
以下是一个示例代码:
using ClosedXML.Excel;
using System.IO;
// 创建Workbook对象
using (XLWorkbook workbook = new XLWorkbook())
{
// 创建Worksheet对象
IXLWorksheet worksheet = workbook.Worksheets.Add("Sheet1");
// 创建行和单元格对象,并填充数据
for (int i = 0; i < dataTable.Rows.Count; i++)
{
for (int j = 0; j < dataTable.Columns.Count; j++)
{
worksheet.Cell(i + 1, j + 1).Value = dataTable.Rows[i][j].ToString();
}
}
// 设置单元格样式
worksheet.RangeUsed().Style.Fill.BackgroundColor = XLColor.Yellow;
// 其他样式设置...
// 保存为Excel文件
workbook.SaveAs("output.xlsx");
}
以上是使用C#将数据表导出到Excel时格式化表格的方法。根据具体需求和使用习惯,可以选择适合的第三方库来实现。
领取专属 10元无门槛券
手把手带您无忧上云