C#DataTable导出Excel

先将数据库中的数据读取到DataTable中,然后调用下面的代码,"cells.Add(1, 1, "表头1");"这段代码的意思是在Excel中添加一行表头,比如“姓名”,“性别”,“联系电话”等,需要几列就对应的添加几列。“cells.Add(2 + row, 1, dt.Rows[row]["对应表头1的字段"]);”这段代码的意思是获取对应表头的数据,比如表头1如果为“姓名”,这里"对应表头1的字段"就改成字段"Name"。

DataTable dt = GetDataTable();
                    if (dt == null)
                        return;
                    try
                    {
                        XlsDocument xls = new XlsDocument();
                        string fileName = Guid.NewGuid().ToString() + ".xls";
                        xls.FileName = fileName;
                        string sheetName = "Sheet1";

                        Worksheet sheet = xls.Workbook.Worksheets.Add(sheetName);
                        Cells cells = sheet.Cells;
                        cells.Add(1, 1, "表头1");
                        cells.Add(1, 2, "表头2");
                        cells.Add(1, 3, "表头3");
                        cells.Add(1, 4, "表头4");
                        cells.Add(1, 5, "表头5");
                        cells.Add(1, 6, "表头6");
                        cells.Add(1, 7, "表头7");
                        cells.Add(1, 8, "表头8");

                        for (int row = 0; row < dt.Rows.Count; row++)
                        {
                            cells.Add(2 + row, 1, dt.Rows[row]["对应表头1的字段"]);
                            cells.Add(2 + row, 2, dt.Rows[row]["对应表头2的字段"]);
                            cells.Add(2 + row, 3, dt.Rows[row]["对应表头3的字段"]);
                            cells.Add(2 + row, 4, dt.Rows[row]["对应表头4的字段"]);
                            cells.Add(2 + row, 5, dt.Rows[row]["对应表头5的字段"]);
                            cells.Add(2 + row, 6, dt.Rows[row]["对应表头6的字段"]);
                            cells.Add(2 + row, 7, dt.Rows[row]["对应表头7的字段"]);
                            cells.Add(2 + row, 8, dt.Rows[row]["对应表头8的字段"]);
                        }

                        string filePath = Server.MapPath("~/tmp/");
                        xls.Save(filePath);
                        xls = null;
                    }
                    catch (Exception)
                    {
                        throw;
                    }
时间: 2024-11-14 12:54:49

C#DataTable导出Excel的相关文章

C# Datatable导出Excel方法

C# 导出Excel方法  先引用下System.IO;System.data; 具体函数如下: 1 public static bool ExportCSV(DataTable dt, string fileNmae) 2 { 3 bool Msg = false; 4 string con = ""; 5 foreach (DataColumn dc in dt.Columns) 6 { 7 con += dc.ColumnName + ","; 8 } 9 c

【转】C# DataTable 导出 Excel 进阶 多行表头、合并单元格、中文文件名乱码

本文原创地址:http://blog.csdn.net/ranbolwb/article/details/8083983 ,转载请保留本行. 本例子是上一篇 DataTable 导出 Excel 的进阶,除了上一篇提到的处理乱码问题,本例还添加了处理多行表头.合并单元格的功能及处理中文文件名乱码问题,应该可以满足日常开发的需要了. 废话不多说了,直接上代码: [C#] 可以写单独类 1 using System; 2 using System.Collections.Generic; 3 usi

asp.net DataTable导出 excel的方法记录(第三方)

官网:http://npoi.codeplex.com/ 简单应用,主要是可以实现我们想要的简单效果,呵呵 需要引入dll,可以在官网下载,也可在下面下载 C#代码   protected void getExcel(DataTable dt) { NPOI.HSSF.UserModel.HSSFWorkbook book = new NPOI.HSSF.UserModel.HSSFWorkbook(); NPOI.SS.UserModel.Sheet sheet = book.CreateSh

DataTable 导出 excel , 可以自定义列名,没有繁琐的引用

/// <summary> /// 由DataTable导出Excel /// </summary> /// <param name="p"></param> /// <param name="dt"></param> /// <param name="fileName"></param> /// <param name="b"

C#中datatable导出excel(三种方法)

方法一:(拷贝直接可以使用,适合大批量资料, 上万笔)Microsoft.Office.Interop.Excel.Application appexcel = new Microsoft.Office.Interop.Excel.Application();SaveFileDialog savefiledialog = new SaveFileDialog();System.Reflection.Missing miss = System.Reflection.Missing.Value;ap

Excel导入DataTable兼容2003-2012(请细心查看注释)以及 DataTable导出Excel(导出格式2003.xls)注释:需要引用NPOI

1.#region Excel导入DataTable兼容2003-2012(请细心查看注释)/// <summary> /// 读取Excel文件到DataSet中/// 注释1:2012导出如报错“ System.InvalidOperationException: 未在本地计算机上注册“microsoft.ACE.oledb.12.0”提供程序.”解决:下载2007 Office system 驱动程序:数据连接组件安装http://download.microsoft.com/downl

DataTable ---导出Excel

//mscorlib.dll, v4.0.0.0&&Microsoft.Office.Interop.Excel.dll, v14.0.0.0 /// <summary> /// 导出Excel /// </summary> /// <param name="dt_data">要导出的数据表</param> public void ExcelPort(DataTable dt_data) { try { //表格控件对象(

C#导出EXCEL(DataTable导出EXCEL)

using System; using System.Collections.Generic; using System.Text; using System.Data; using System.IO; using System.Web; using Microsoft.Office.Interop.Excel; using System.Reflection; /*  * 开发人员:Hisen  * 时间:2008年11月24日  * 功能:将数据导出Excel  *  */ namespa

NPOI DataTable导出excel

/// <summary> /// DataTable导出到Excel文件 /// </summary> /// <param name="dtSource">源DataTable</param> /// <param name="strHeaderText">表头文本</param> /// <param name="strFileName">保存位置</

DataTable导出Excel

string fileName = "出勤明细" + DateTime.Now.ToString("yyyyMMdd"); //导出成Excel var Result = officeHp.DtToExcel(attendDt, "XXX", new string[] { "序号", "班级名称", "学生姓名", "学生学号", "手机号", &