• 大小: 4.6MB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2023-09-15
  • 语言: C#
  • 标签: C#  WinForm  NPOI  Excel导出  

资源简介

C# WinForm 工作中遇到一个需要将界面表格数据按照设定的格式[表头|列表|表尾]导出到Excel文件,因为格式繁多一个个固定代码编写很不现实,网上找了很久都没有相关的功能实例,于是就加班自己动手写了一个通用的导出实例,已应用到代码中。现为方便广大开发者遍历特上传通用精简版分享给大家 如有优化建议和方向的同志可以加Q:398719557 一起交流学习进步 待解决问题: 1.界面设计时合并单元格问题(导出已合并)方便编辑模板 2.导出单元格背景色问题
完整版还有自动反射字段中文名称方便客户自己编辑 时间匆忙就懒得分离代码上传 了 原理很简单 字段自定义属性[PropertyDescriptor] 然后反射就好了

资源截图

代码片段和文件信息

using ExcelUtility;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace ExcelDome
{
    public partial class Dome : Form
    {
        /// 
        /// 表格数据
        /// 

        public Listject> Data = new Listject>();
        /// 
        /// 初始化
        /// 

        public Dome()
        {
            InitializeComponent();
        }
        /// 
        /// 关闭按钮被单击事件
        /// 

        /// 
        /// 
        private void Ts_Close_Click(object sender EventArgs e)
        {
            this.Close();
        }
        /// 
        /// 模板按钮被单击事件
        /// 

        /// 
        /// 
        private void Ts_EditExport_Click(object sender EventArgs e)
        {
            var DataName = (sender as ToolStripMenuItem).Text;
            //模板文件名
            var FileName = String.Format(“{0}\\{1}\\{2}“ Path.GetDirectoryName(Application.ExecutablePath) “ExcelTemplate“ String.Format(“{0}.ETD“ DataName));
            var CustomData = new Dictionary();
            //自己添加需要的自定义数据或者通过对象转换
            CustomData.Add(“当前时间“ DateTime.Now.ToString(“yyyy-MM-dd HH:mm:ss“));
            var ListData = new List>();
            //将表格数据转换为需要的格式
            Data.ForEach(x =>
            {
                ListData.Add(x.ToDictionary());
            });
            using (var F = new ExcelTemplateDesign(FileName CustomData ListData))
            {
                F.ShowDialog().Equals(DialogResult.OK);
            }
        }
        /// 
        /// 导出按钮被单击事件
        /// 

        /// 
        /// 
        private void Ts_Export_Click(object sender EventArgs e)
        {
            var DataName = (sender as ToolStripMenuItem).Text;
            var FileName = String.Format(“{0}\\{1}\\{2}“ Path.GetDirectoryName(Application.ExecutablePath) “ExcelTemplate“ String.Format(“{0}.ETD“ DataName));
            if (!File.Exists(FileName)) throw new Exception(“模板文件不存在请先编辑导出模板!“);
            using (FolderBrowserDialog Fbd = new FolderBrowserDialog() { Description = “请选择导出文件保存目录“ })
            {
                if (Fbd.ShowDialog().Equals(DialogResult.OK) && !String.IsNullOrEmpty(Fbd.SelectedPath))
                {
                    var SavePath = Fbd.SelectedPath;
                    var Info = RbwExport.GetExcelTemplateInfo(FileName);
                    var CustomData = new Dictionary();
                    //自己添加需要的自定义数据或者通过对象转换
                    CustomData.Add(“当前时间“ DateTime.Now.ToString(“yyyy-MM-dd HH:mm:

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

    ..A..H.     65536  2019-12-20 17:03  ExcelDome\.vs\ExcelDome\v15\.suo

     文件          0  2019-12-20 15:56  ExcelDome\.vs\ExcelDome\v15\Server\sqlite3\db.lock

     文件     876544  2019-12-20 17:03  ExcelDome\.vs\ExcelDome\v15\Server\sqlite3\storage.ide

     文件      22528  2019-12-20 16:59  ExcelDome\ExcelDome\bin\Debug\ExcelDome.exe

     文件      24064  2019-12-20 16:59  ExcelDome\ExcelDome\bin\Debug\ExcelDome.pdb

     文件       1655  2019-12-20 17:01  ExcelDome\ExcelDome\bin\Debug\ExcelTemplate\自定义[格式一].ETD

     文件       1805  2019-12-20 17:03  ExcelDome\ExcelDome\bin\Debug\ExcelTemplate\自定义[格式二].ETD

     文件      71168  2019-12-20 16:37  ExcelDome\ExcelDome\bin\Debug\ExcelUtility.dll

     文件      71168  2019-12-20 16:37  ExcelDome\ExcelDome\bin\Debug\ExcelUtility.pdb

     文件    1679360  2017-11-29 15:09  ExcelDome\ExcelDome\bin\Debug\NPOI.dll

     文件     536064  2017-11-29 15:21  ExcelDome\ExcelDome\bin\Debug\NPOI.OOxml.dll

     文件      91136  2017-11-29 15:21  ExcelDome\ExcelDome\bin\Debug\NPOI.Openxml4Net.dll

     文件    2121728  2017-11-29 15:21  ExcelDome\ExcelDome\bin\Debug\NPOI.OpenxmlFormats.dll

     文件    2254144  2017-11-15 09:40  ExcelDome\ExcelDome\bin\Debug\NPOI.xml

     文件       4923  2019-12-20 16:58  ExcelDome\ExcelDome\Demo.cs

     文件       3602  2019-12-20 16:52  ExcelDome\ExcelDome\ExcelDome.csproj

     文件      11406  2019-12-20 16:52  ExcelDome\ExcelDome\Form1.Designer.cs

     文件      14864  2019-12-20 16:52  ExcelDome\ExcelDome\Form1.resx

     文件        864  2019-12-20 15:56  ExcelDome\ExcelDome\obj\Debug\DesignTimeResolveAssemblyReferences.cache

     文件       6942  2019-12-20 16:46  ExcelDome\ExcelDome\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache

     文件          0  2019-12-20 16:59  ExcelDome\ExcelDome\obj\Debug\ExcelDome.csproj.CopyComplete

     文件         42  2019-12-20 16:46  ExcelDome\ExcelDome\obj\Debug\ExcelDome.csproj.CoreCompileInputs.cache

     文件       1327  2019-12-20 16:52  ExcelDome\ExcelDome\obj\Debug\ExcelDome.csproj.FileListAbsolute.txt

     文件       1012  2019-12-20 16:53  ExcelDome\ExcelDome\obj\Debug\ExcelDome.csproj.GenerateResource.cache

     文件      67712  2019-12-20 16:52  ExcelDome\ExcelDome\obj\Debug\ExcelDome.csprojResolveAssemblyReference.cache

     文件       5580  2019-12-20 16:53  ExcelDome\ExcelDome\obj\Debug\ExcelDome.Dome.resources

     文件      22528  2019-12-20 16:59  ExcelDome\ExcelDome\obj\Debug\ExcelDome.exe

     文件      24064  2019-12-20 16:59  ExcelDome\ExcelDome\obj\Debug\ExcelDome.pdb

     文件        180  2019-12-20 16:52  ExcelDome\ExcelDome\obj\Debug\ExcelDome.Properties.Resources.resources

     文件        489  2019-12-20 16:06  ExcelDome\ExcelDome\Program.cs

............此处省略63个文件信息

评论

共有 条评论