C#怎么把DataTable导出为Excel文件
发表于:2025-11-15 作者:千家信息网编辑
千家信息网最后更新 2025年11月15日,本文小编为大家详细介绍"C#怎么把DataTable导出为Excel文件",内容详细,步骤清晰,细节处理妥当,希望这篇"C#怎么把DataTable导出为Excel文件"文章能帮助大家解决疑惑,下面跟
千家信息网最后更新 2025年11月15日C#怎么把DataTable导出为Excel文件
本文小编为大家详细介绍"C#怎么把DataTable导出为Excel文件",内容详细,步骤清晰,细节处理妥当,希望这篇"C#怎么把DataTable导出为Excel文件"文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
实现DataTable转为Excel文件,和上次分享的Excel文件转为DataTable互为反操作。DataTable转化为Excel文件是通过传入一个DataTable类型的参数,然后将传入的DataTable转化为Excel文件。实现关键代码如下:
方法一:
////// DataTable数据导出Excel/// /// /// public static void DataTableExport(DataTable data, string filepath){ try { //Workbook book = new Workbook("E:\\test.xlsx"); //打开工作簿 Workbook book = new Workbook(); //创建工作簿 Worksheet sheet = book.Worksheets[0]; //创建工作表 Cells cells = sheet.Cells; //单元格 //创建样式 Aspose.Cells.Style style = book.Styles[book.Styles.Add()]; style.Borders[Aspose.Cells.BorderType.LeftBorder].LineStyle = Aspose.Cells.CellBorderType.Thin; //应用边界线 左边界线 style.Borders[Aspose.Cells.BorderType.RightBorder].LineStyle = Aspose.Cells.CellBorderType.Thin; //应用边界线 右边界线 style.Borders[Aspose.Cells.BorderType.TopBorder].LineStyle = Aspose.Cells.CellBorderType.Thin; //应用边界线 上边界线 style.Borders[Aspose.Cells.BorderType.BottomBorder].LineStyle = Aspose.Cells.CellBorderType.Thin; //应用边界线 下边界线 style.HorizontalAlignment = TextAlignmentType.Center; //单元格内容的水平对齐方式文字居中 style.Font.Name = "宋体"; //字体 style1.Font.IsBold = true; //设置粗体 style.Font.Size = 11; //设置字体大小 //style.ForegroundColor = System.Drawing.Color.FromArgb(153, 204, 0); //背景色 //style.Pattern = Aspose.Cells.BackgroundType.Solid; //背景样式 //style.IsTextWrapped = true; //单元格内容自动换行 //表格填充数据 int Colnum = data.Columns.Count;//表格列数 int Rownum = data.Rows.Count;//表格行数 //生成行 列名行 for (int i = 0; i < Colnum; i++) { cells[0, i].PutValue(data.Columns[i].ColumnName); //添加表头 cells[0, i].SetStyle(style); //添加样式 //cells.SetColumnWidth(i, data.Columns[i].ColumnName.Length * 2 + 1.5); //自定义列宽 //cells.SetRowHeight(0, 30); //自定义高 } //生成数据行 for (int i = 0; i < Rownum; i++) { for (int k = 0; k < Colnum; k++) { cells[1 + i, k].PutValue(data.Rows[i][k].ToString()); //添加数据 cells[1 + i, k].SetStyle(style); //添加样式 } cells[1 + i, 5].Formula = "=B" + (2 + i) + "+C" + (2 + i);//给单元格设置计算公式,计算班级总人数 } sheet.AutoFitColumns(); //自适应宽 book.Save(filepath); //保存 GC.Collect(); } catch (Exception e) { logger.Error("生成excel出错:" + e.Message); }}
方法二:
public void ToExcel(DataTable dt) { #region 3s var FilePath = @"D:\ToExcel\";//产生Excel文件路径 DeleteFile(FilePath); //创建全新的Workbook var workbook = new HSSFWorkbook();//一個sheet最多65536行 var count = 0; for (double i = 0; i < Convert.ToDouble(dt.Rows.Count) / Convert.ToDouble(65534); i++)//每个Excel文件的一个页签只能存放65536行数据 { var row_index = 0; //创建Sheet workbook.CreateSheet("Sheet" + i); //根据Sheet名字获得Sheet对象 var sheet = workbook.GetSheet("Sheet" + i); IRow row; row = sheet.CreateRow(row_index); //写入标题 for (int j = 0; j < dt.Columns.Count; j++) { row.CreateCell(j).SetCellValue(dt.Columns[j].Caption.ToString()); } row = sheet.CreateRow(++row_index); //写入数据 for (int j = 0; j < (dt.Rows.Count - count > 65534 ? 65534 : dt.Rows.Count - count); j++) { var r = dt.Rows[j + count]; for (int k = 0; k 读到这里,这篇"C#怎么把DataTable导出为Excel文件"文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注行业资讯频道。
文件
数据
单元
样式
界线
边界
边界线
应用
生成
C#
文章
表格
工作
内容
字体
数字
方式
方法
背景
格内
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
深圳美魅网络技术
集群服务器安装视频
服务器主要产品
联想服务器硬盘坏了怎么换
c 服务器文件管理
招银总软件开发中心
韩剧网络安全类
河北手机软件开发常用指南
剑与家园服务器互通
校园网络安全的认识
scum高倍率服务器
重点关注网络安全概念
阳光釆购网 网络安全
美股中概股互联网科技龙头
ftp服务器上传文件
如何替换数据库中文字符串
数据库的语言是什么
华侨大学数据库系统原理答案
积极推进网络安全立法
服务器cpu总量怎么看
创建数据库表设置主键字段
数据库设计文献
好梦互联网科技有限公司
新建一个数据库表sql语句
服务器端口怎么设置
数据库 导出表结构
西城区信息网络技术服务系统
服务器直接连接防火墙
战地1怎么自己找服务器
网络安全法中网络数据