当前位置: 首页 > news >正文

一个典型的窗口页面 (AntdUI说明四)

一个winform 典型的窗口页面,有日期选择,查询到table控件中,保存到excel.

using AntdUI; using ClosedXML.Excel; using light.Models; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Reflection; using System.Text; using System.Windows.Forms; using static System.Windows.Forms.VisualStyles.VisualStyleElement; namespace light.Forms { public partial class A07 : UserControl { List<light.Models.A07> TableList = new List<light.Models.A07>(); public A07() { InitializeComponent(); table1.Columns.Add((new AntdUI.Column("ColNumber", "行号") { Render = (row, data, index) => index + 1 }).SetWidth("auto").SetAlign()); table1.Columns.Add(new AntdUI.Column("Id", "主键").SetWidth("auto").SetAlign()); table1.Columns.Add(new AntdUI.Column("StoreName", "店名").SetWidth("auto").SetAlign()); table1.Columns.Add(new AntdUI.Column("RechargeAmount", "充值金额").SetWidth("auto").SetAlign()); table1.Columns.Add(new AntdUI.Column("SalesCompanyAffiliated", "销售公司").SetWidth("auto").SetAlign()); table1.Columns.Add(new AntdUI.Column("StoreCode", "店代码").SetWidth("auto").SetAlign()); table1.Columns.Add(new AntdUI.Column("AuditDate", "审计日期").SetWidth("auto").SetAlign()); table1.Columns.Add(new AntdUI.Column("VehicleModel", "车型").SetWidth("auto").SetAlign()); table1.RowHeight = 22; table1.Bordered = true; table1.ScrollBar.SIZE = 20; table1.ScrollBar.SIZE_BAR = 12; datePicker1.Value = DateTime.Now.Date; datePicker2.Value = DateTime.Now.Date; dropdown1.SelectedValue = "审计日期"; //默认值 MT.SaveLog("A07", "启动", "", ""); } private void button1_Click(object sender, EventArgs e) { if (dropdown1.SelectedValue.Equals("审计日期")) { TableList = MT.db.A07s .Where(p => p.AuditDate.Value.Date >= datePicker1.Value) .Where(p => p.AuditDate.Value.Date <= datePicker2.Value).ToList(); } table1.DataSource = TableList; downtxt.Text = "总条数:" + TableList.Count().ToString(); } private void dropdown1_SelectedValueChanged(object sender, ObjectNEventArgs e) { dropdown1.Text = dropdown1.SelectedValue.ToString(); } //下载excel按钮 private void button2_Click(object sender, EventArgs e) { SaveFileDialog dialog = new SaveFileDialog(); // 设置对话框的属性 dialog.InitialDirectory = "D:\\"; // 设置初始目录 dialog.Filter = "EXCEL文件 (*.xlsx)|*.xlsx|所有文件 (*.*)|*.*"; // 设置文件过滤器 dialog.FilterIndex = 1; // 设置默认的文件过滤器索引 dialog.RestoreDirectory = true; // 设置在关闭对话框前还原目录 if (dialog.ShowDialog() == DialogResult.OK) // 显示对话框 { Task task = Task.Run(() => save_excel(dialog.FileName)); } MT.SaveLog("A07", "下载", "", ""); } //下载excel函数 void save_excel(string file) { try { using (var workbook = new XLWorkbook()) { var worksheet = workbook.Worksheets.Add("Sheet1"); //写表头 worksheet.Cell(1, 1).Value = "行号"; worksheet.Cell(1, 2).Value = "主键"; worksheet.Cell(1, 3).Value = "店名"; worksheet.Cell(1, 4).Value = "充值金额"; worksheet.Cell(1, 5).Value = "销售公司"; worksheet.Cell(1, 6).Value = "店代码"; worksheet.Cell(1, 7).Value = "审计日期"; worksheet.Cell(1, 8).Value = "车型"; var properties = typeof(light.Models.A07).GetProperties(BindingFlags.Public | BindingFlags.Instance); for (int row = 0; row < TableList.Count; row++) { for (int col = 0; col < properties.Length; col++) { var value = properties[col].GetValue(TableList[row], null); //行号和主键是数字,需要转换成数字格式,金额也是数字格式,其他的都是文本格式 if (col == 0) { worksheet.Cell(row + 2, col + 1).Value = Convert.ToInt32(row + 1); worksheet.Cell(row + 2, col + 2).Value = Convert.ToInt32(value?.ToString() ?? ""); } //金额 else if (col == 2) { worksheet.Cell(row + 2, col + 2).Value = Convert.ToDecimal(value?.ToString() ?? ""); } //其它 else { worksheet.Cell(row + 2, col + 2).Value = value?.ToString() ?? ""; } } } // string tmp = "d:\\" + System.DateTime.Now.ToString("yyyy-MM-dd HH-mm-ss") + " 开票比对后.xlsx"; worksheet.Columns().AdjustToContents(1, 10, 30);//自动调整宽度,从第一行开始,最小10字宽,最大30字宽 workbook.SaveAs(file);//存储路径 downtxt.Text = "文件保存到: " + file; } } catch (Exception ex) { MessageBox.Show(ex.Message); } } private void pageHeader1_Click(object sender, EventArgs e) { } } }
http://www.cnnetsun.cn/news/1665591.html

相关文章:

  • Thorium浏览器:基于Chromium深度优化的高性能开源浏览器技术解析
  • 万象视界灵坛惊艳效果:浅蓝格点底纹界面中实时渲染的语义热力图
  • 告别臃肿控制中心:AlienFX Tools如何重新定义Alienware设备体验
  • 如何让老旧Mac重获新生?OpenCore Legacy Patcher终极改造指南
  • Wan2.2-T2V-A5B轻量级优势:普通显卡也能秒出视频
  • Umi-OCR技术解析:离线文字识别的创新实践与全场景应用
  • 3步掌握ppInk:Windows屏幕标注工具的完全使用指南
  • N_m3u8DL-RE终极指南:掌握跨平台流媒体下载的完整解决方案
  • Go Routine 调度原理图解
  • AI 模型推理的延迟优化方案
  • ColabFold完整指南:3步实现免费蛋白质结构预测
  • 心智的地心引力:在亚马逊,为何“成功品牌”无法轻易跳跃到新品类
  • Holo3:77.8%准确率!AI智能导航办公新标杆
  • 从RNN到Mamba:给算法工程师的序列建模‘避坑’与选型指南
  • ABB RobotStudio 6.08 安装激活步骤
  • 免费屏幕标注神器ppInk:从零开始的Windows屏幕标注完全指南
  • 八大网盘直链下载终极指南:免费获取真实下载链接的完整教程
  • 智慧树网课自动化学习工具:提升学习效率的技术方案
  • VIA Keyboards终极指南:如何轻松定制你的机械键盘布局
  • 兄弟们,我又开始工作了,有一些小感悟
  • C++27协程、包模块、std::expected在UE6.5中为何编译失败?5类高频报错对照表+官方补丁热修复方案
  • 让老款Mac焕发新生的魔法:OpenCore Legacy Patcher深度探索指南
  • Reset Windows Update Tool:解决Windows更新问题的完整指南
  • ACE-Step快速上手:ComfyUI工作流详解,从安装到生成全流程
  • BabelDOC:智能解析与高效翻译的PDF文档处理方案
  • 抖音批量下载终极指南:如何快速免费下载用户主页全作品
  • 零代码部署Qwen3-VL-30B:图文对话大模型开箱即用实战
  • FFXIV_ACT_CutsceneSkip:副本动画智能跳过解决方案
  • OpenClaw如何安装?2026年腾讯云部署OpenClaw、配置百炼API、集成Skill、接入QQ/微信/钉钉/飞书步骤
  • OpenClaw+优云智算Coding Plan:从灵感到成文,再到发布的全流程AI自动化