资源简介
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#程序防止反编译工具
相关资源
- 智慧城市 智能家居 C# 源代码
- c#获取mobile手机的IMEI和IMSI
- C#实现简单QQ聊天程序
- 操作系统 模拟的 欢迎下载 C#版
- C#写的计算机性能监控程序
- 用C#实现邮件发送,有点类似于outlo
- MVC model层代码生成器 C#
- c#小型图书销售系统
- C# Socket Server Client 通讯应用 完整的服
- c# winform 自动登录 百度账户 源代码
- C#编写的16进制计算器
- C#TCP通信协议
- C# 数据表(Dataset)操作 合并 查询一
- C#语音识别系统speechsdk51,SpeechSDK51L
- 数据库备份还原工具1.0 C# 源码
-
[免费]xm
lDocument 节点遍历C# - EQ2008LEDc#开发实例
- DirectX.Capturec# winform 操作摄像头录像附
- c# 实现的最大最小距离方法对鸢尾花
- C#版保龄球记分代码
- C#自定义控件
- 基于c#的实验室设备管理系统621530
- C# 使用ListView控件实现图片浏览器(源
- C#简单窗体聊天程序
- C#指纹识别系统程序 报告
- c# 高校档案信息管理系统
- c#向word文件插入图片
- C#左侧导航菜单(动态生成)
- C#TCP 通信(TCP发送16进制)
- C# sql实现批量导入数据到数据库
评论
共有 条评论