资源简介
C# WinForm 工作中遇到一个需要将界面表格数据按照设定的格式[表头|列表|表尾]导出到Excel文件,因为格式繁多一个个固定代码编写很不现实,网上找了很久都没有相关的功能实例,于是就加班自己动手写了一个通用的导出实例,已应用到代码中。现为方便广大开发者遍历特上传通用精简版分享给大家 如有优化建议和方向的同志可以加Q:398719557 一起交流学习进步 待解决问题: 1.界面设计时合并单元格问题(导出已合并)方便编辑模板 2.导出单元格背景色问题
完整版还有自动反射字段中文名称方便客户自己编辑 时间匆忙就懒得分离代码上传 了 原理很简单 字段自定义属性[PropertyDescriptor] 然后反射就好了
完整版还有自动反射字段中文名称方便客户自己编辑 时间匆忙就懒得分离代码上传 了 原理很简单 字段自定义属性[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.OOxm
文件 91136 2017-11-29 15:21 ExcelDome\ExcelDome\bin\Debug\NPOI.Openxm
文件 2121728 2017-11-29 15:21 ExcelDome\ExcelDome\bin\Debug\NPOI.Openxm
文件 2254144 2017-11-15 09:40 ExcelDome\ExcelDome\bin\Debug\NPOI.xm
文件 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个文件信息
- 上一篇:C# 学生信息管理系统(SQLite)
- 下一篇:C#程序防止反编译工具30017
相关资源
- C# 利用ListView空间导航数据库信息
- C# 调用win32 api函数-user32.dll详细说明
- C# 调用BarTender打印条码DEMO
- 大型比赛竞赛抽签系统 可打印 c# vs
- C#编写的Gerber查看器
- lua C# .Net4.0 vs2010 LuaInterface
- SignalR 2.0 Winform版
- C#十六进制编辑器
- 明华URF-35H读卡器 C#读写源码 为大家
- C#文件流读取CSV文件
- c#读写PDF文件sql
- C# winform Socket大文件传输
- c#车牌识别系统附30张测试图片
- 《C#面向对象程序设计》源代码(CS)
- 金旭亮《C#面向对象程序设计》教案
- 试题库管理系统毕业论文(C#)源程序
- 学校网站原代码(C#.NET)
- C#-数据库操作技术-员工管理系统
- c#web开发入门经典
- C#与Matlab混合编程的几种方式
- c# 开发与 mysql数据库实现的增删改查
- C#异步操作 异步查询数据库 异步处理
- Basler相机通过IO触发源码
- [源代码] 《领域驱动设计 (C# 2008 实
- 松下PLC与C#通讯串口调试入门教程.z
- USB 继电器控制器 LCUS-1 保证能用 c#
- C# AES加密解密小工具
- C#圆形按钮,非常漂亮动态~~
- [精]C#仿QQ右下角弹出提示框()
- C#进程间通信-共享内存代码
评论
共有 条评论