iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >C#怎么把DataTable导出为Excel文件
  • 128
分享到

C#怎么把DataTable导出为Excel文件

2023-06-29 22:06:49 128人浏览 安东尼
摘要

本文小编为大家详细介绍“C#怎么把DataTable导出为excel文件”,内容详细,步骤清晰,细节处理妥当,希望这篇“C#怎么把DataTable导出为Excel文件”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧

本文小编为大家详细介绍“C#怎么把DataTable导出为excel文件”,内容详细,步骤清晰,细节处理妥当,希望这篇“C#怎么把DataTable导出为Excel文件”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

实现DataTable转为Excel文件,和上次分享的Excel文件转为DataTable互为反操作。DataTable转化为Excel文件是通过传入一个DataTable类型的参数,然后将传入的DataTable转化为Excel文件。实现关键代码如下:

方法一:

/// <summary>/// DataTable数据导出Excel/// </summary>/// <param name="data"></param>/// <param name="filepath"></param>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 <dt.Columns.Count; k++)                {                    row.CreateCell(k).SetCellValue(r[k].ToString());                    //如果是数字,判断是否需要转换为数字                    //if (IsNumeric(r[k].ToString()))                    //{                    //    row.CreateCell(k).SetCellValue(Convert.ToDouble(r[k].ToString()));                    //}                    //else                    //{                    //    row.CreateCell(k).SetCellValue(r[k].ToString());                    //}                }                row = sheet.CreateRow(++row_index);            }            count += row_index - 2;        }        //保存Workbook方式一: 以文件形式保存到服务器中(每次导出都会生成一个文件,慎重使用)        var FileName = DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls";        var sw = File.Create(FilePath + FileName);        workbook.Write(sw);        sw.Close();        var EC = new ExcelConverter();        EC.WEBopenExcel(Response, FilePath + FileName);        #endregion    }

读到这里,这篇“C#怎么把DataTable导出为Excel文件”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网精选频道。

--结束END--

本文标题: C#怎么把DataTable导出为Excel文件

本文链接: https://www.lsjlt.com/news/326716.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C#把DataTable导出为Excel文件
    实现DataTable转为Excel文件,和上次分享的Excel文件转为DataTable互为反操作。DataTable转化为Excel文件是通过传入一个DataTable类型的参数...
    99+
    2024-04-02
  • C#怎么把DataTable导出为Excel文件
    本文小编为大家详细介绍“C#怎么把DataTable导出为Excel文件”,内容详细,步骤清晰,细节处理妥当,希望这篇“C#怎么把DataTable导出为Excel文件”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧...
    99+
    2023-06-29
  • C#怎么把EXCEL数据转换成DataTable
    今天小编给大家分享一下C#怎么把EXCEL数据转换成DataTable的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。C#实现...
    99+
    2023-06-29
  • 如何使用JavaScript把页面上的表格导出为Excel文件
    本篇内容主要讲解“如何使用JavaScript把页面上的表格导出为Excel文件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用JavaScript把页面上的表格导出为Excel文件”吧!...
    99+
    2023-06-04
  • Python导出Excel文件
    根据之前导出到txt文件的贴吧爬虫内容示例:title:片花 《战狼2》要的dian    firstAuthor:可爱的... reNum:6    content:关注 弓重 hao→ ziyuanhuoqu 回 战狼2   lastA...
    99+
    2023-01-31
    文件 Python Excel
  • EasyExcel导出Excel文件
    导出Excel 方法一 导入EasyExcel依赖 com.alibaba easyexcel 创建实体类 @Data@AllArgsConstructor@NoArgsConstruc...
    99+
    2023-10-20
    excel java 开发语言
  • 金山文档怎么导出excel文件
    金山文档导出excel文件的方法:1、打开金山文档,登录金山文档账户,并选择要导出为Excel文件的文档;2、选择数据要导出的范围,在文档中,选中要导出的数据区域;3、点击“导出”按钮,然后选择“导出为Excel”;4、选择导出文件的位置和...
    99+
    2023-08-03
  • React怎么实现导入导出Excel文件
    这篇文章主要介绍“React怎么实现导入导出Excel文件”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“React怎么实现导入导出Excel文件”文章能帮助大家解决问题。表示层这里我是使用的是ant...
    99+
    2023-06-05
  • PHP网页怎么导出和导入excel文件
    本篇内容主要讲解“PHP网页怎么导出和导入excel文件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP网页怎么导出和导入excel文件”吧!导出和导入表单代码:<p sty...
    99+
    2023-06-04
  • 利用模板导出文件之XLSTransformer导出excel文件
    使用XLSTransformer库导出excel文件的步骤如下:1. 安装XLSTransformer库:在命令行中运行`pip i...
    99+
    2023-09-14
    excel
  • JavaScript实现excel文件导入导出
    目录一、需求场景描述1.此时前端上传解析excel文件可能更合适2.此时前端下载excel文件可能优雅一些二、实现思路分析1.导入excel文件实现思路分析2.导出excel文件实现...
    99+
    2024-04-02
  • mongodb怎么导出数据为excel
    要将 MongoDB 数据导出为 Excel,你可以按照以下步骤进行操作:1. 在 MongoDB 中编写一个查询来获取要导出的数据...
    99+
    2023-08-31
    mongodb excel
  • React实现导入导出Excel文件
    目录表示层 业务层 核心插件xlsx excel 导入 excel 导出 excel 导出插件(js-export-excel) 实现效果结语 表示层 这里我是使用的是antd的U...
    99+
    2024-04-02
  • Python怎么实现将Excel内容批量导出为PDF文件
    本篇内容介绍了“Python怎么实现将Excel内容批量导出为PDF文件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!序言部分数据然后需要安...
    99+
    2023-06-30
  • JS怎么实现导出Excel和CSV文件
    这篇文章主要介绍了JS怎么实现导出Excel和CSV文件的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JS怎么实现导出Excel和CSV文件文章都会有所收获,下面我们一起来看看吧。一、js导出Excel<...
    99+
    2023-06-30
  • 石墨文档Excel怎么导出
    本篇内容介绍了“石墨文档Excel怎么导出”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!石墨文档Excel导出的方法:打开石墨文档点击右上角...
    99+
    2023-07-01
  • C#利用OLEDB实现将DataTable写入Excel文件中
    OLEDB 定义: OLE DB(OLEDB)是微软设计的通向不同的数据源的低级应用程序接口。OLE DB不仅包括微软资助的标准数据接口开放数据库连通性(ODBC)的结构化查询语言(...
    99+
    2023-02-15
    C# OLEDB DataTable写入Excel C#  DataTable写入Excel C# OLEDB DataTable
  • OAF将查询结果导出为EXCEL格式文件
    PG:创建一个类型为button的按钮,设置按钮的Action Type为firePartialAction和Event为exportexcel(按钮类型不用 submitButton 的原因是 s...
    99+
    2024-04-02
  • 怎么将axure文件导出为html
    小编给大家分享一下怎么将axure文件导出为html,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!axure文件导出为html的方法:首先使用软件打开需要进行操作...
    99+
    2023-06-15
  • c语言怎么把文件导入程序
    在C语言中,要把文件导入到程序中,你需要使用文件操作相关的函数。下面是一个简单的示例代码,展示了如何导入一个文本文件并打印文件内容:...
    99+
    2023-09-08
    c语言
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作