zoukankan      html  css  js  c++  java
  • EPPlus(SQL导成Excel)

    使用Epplus方法把sql数据库中表的数据导出到excel中去:

    需要使用EPPlus.dll引用。

    using System.IO;
    using OfficeOpenXml;
    
     public static string Create(string[] tables)
            {
                //获取文件夹路径
                string path = System.Configuration.ConfigurationManager.ConnectionStrings["Path"].ConnectionString;
                Console.WriteLine(path);           
                //数组存储表名 循环生产excel
                for (int i = 0; i < tables.Count(); i++)
                {
                    string file = path + tables[i] + ".xlsx";
                    //DataSet读取数据库数据
                    DataTable dt = GetDataSet(string.Format("select * from {0}", tables[i])).Tables[0];
                    if (File.Exists(file)) File.Delete(file);
                    FileInfo newFile = new FileInfo(file);
                    //建xlsx
                    using (ExcelPackage xlPackage = new ExcelPackage(newFile))
                    {
                        //添加一个项
                        ExcelWorksheet wsMO_RETAIL = xlPackage.Workbook.Worksheets.Add(tables[i]);
                        //怎么填 填的方式
                        var dataRange = wsMO_RETAIL.Cells["A1"].LoadFromDataTable(dt, true, OfficeOpenXml.Table.TableStyles.Medium3);
                        //填充数据到excel
                        dataRange.AutoFitColumns();
                        //设置格式
                        wsMO_RETAIL.Cells[1, 1, 1, 4].Style.Numberformat.Format = "@";
    
                        xlPackage.Save();
                    }
                    Console.WriteLine(i);
                }
    
                //放在一个excel中
                string filesum = path + "SUM.xlsx";
                if (File.Exists(filesum)) File.Delete(filesum);
                FileInfo newFilesum = new FileInfo(filesum);
                using (ExcelPackage xlPackagesum = new ExcelPackage(newFilesum))
                {
                    for (int i = 0; i < tables.Count(); i++)
                    {
                        ExcelWorksheet wsMO_RETAIL = xlPackagesum.Workbook.Worksheets.Add(tables[i]);
                        DataTable dt = GetDataSet(string.Format("select * from {0}", tables[i])).Tables[0];
                        var dataRange = wsMO_RETAIL.Cells["A1"].LoadFromDataTable(dt, true);
                        dataRange.AutoFitColumns();
                        wsMO_RETAIL.Cells[1, 1, 1, 4].Style.Numberformat.Format = "@";
                    }
                    xlPackagesum.Save();
                    xlPackagesum.Dispose();
                    Console.WriteLine("完成");
                }
                return tables.Count().ToString();
            }
  • 相关阅读:
    LeetCode_1.Two Sum
    F#周报2018年第48期
    使用Kdenlive为视频加入马赛克特效
    网络安全从入门到精通(第一章)前言篇
    hdu 5023 线段树染色问题
    poj 2528 线段树离散化+染色
    字符Hash初步
    经典二分:秦腾与教学评估
    国王游戏
    Trie:hdu 4825、1251、1247、Poj 3764
  • 原文地址:https://www.cnblogs.com/bit-by-bit/p/4139940.html
Copyright © 2011-2022 走看看