C#将表格数据导出成Excel文件

目前在开发中遇到多个需要,需要将数据库查出来的表格数据存成Excel文件。现做如下记录,方便自己以后温顾。

1、数据库查数据,存成List<T>格式的数据。 

 2、设计Excel的表头

3、设计需要合并的列(如果标题只有一行,则不需要)
                Dictionary<string, int> mergeCount = new Dictionary<string, int>();
                mergeCount.Add("StartColumn", 10);
                mergeCount.Add("Offset", 3);
                mergeCount.Add("EndColumn", 21);

 4、然后调用通用的自定义导Excel的方法。

public class ExcelHelper
    {
        /// <summary>
        /// 下载方法
        /// </summary>
        /// <param name="list"></param>
        /// <param name="fileName"></param>
        /// <param name="title"><"字段名","中文名"></param>
        public static void DownExcel(IList list, string fileName, DataTable title = null,Dictionary<string,int> mergeCount=null)
        {
            try
            {
                ExcelCommHelper excel = new ExcelCommHelper();
                excel.CreateWorkbook();
                excel.CreateWorksheet("Sheet1");

                if (list != null && list.Count > 0)
                {
                    List<string> field = new List<string>();//所有字段名
                    List<HashListHelper> data = ToHashtable(list);//转换为Hashtable
                    int jj = 0;
                    //处理标题行
                    foreach (string item in data[0].Keys)
                    {
                        int _col = jj + 1;

                        if (title != null)
                        {
                            if (title.Rows[0].Table.Columns.Contains(item.ToString()))
                            {
                                //取客户端标题
                                if (mergeCount == null)
                                {
                                    //标题行只有一行
                                    excel.SetCells(1, _col, title.Rows[0][item.ToString(
  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值