(gridcontrol等)通用导出excel z
调用该方法真正做到控件的所见所得的导出功能。
- /// <summary>
- /// DevExpress通用导出Excel,支持多个控件同时导出在同一个Sheet表
- /// eg:ExportToXlsx("",gridControl1,gridControl2);
- /// 将gridControl1和gridControl2的数据一同导出到同一张工作表
- /// </summary>
- /// <param name="title">文件名</param>
- /// <param name="panels">控件集</param>
- public void ExportToExcel(string title, params IPrintable[] panels)
- {
- SaveFileDialog saveFileDialog = new SaveFileDialog();
- saveFileDialog.FileName = title;
- saveFileDialog.Title = "导出Excel";
- saveFileDialog.Filter = "Excel文件(*.xlsx)|*.xlsx|Excel文件(*.xls)|*.xls";
- DialogResult dialogResult = saveFileDialog.ShowDialog();
- if (dialogResult == DialogResult.Cancel)
- return;
- string FileName = saveFileDialog.FileName;
- PrintingSystem ps = new PrintingSystem();
- CompositeLink link = new CompositeLink(ps);
- ps.Links.Add(link);
- foreach (IPrintable panel in panels)
- {
- link.Links.Add(CreatePrintableLink(panel));
- }
- link.Landscape = true;//横向
- //判断是否有标题,有则设置
- //link.CreateDocument(); //建立文档
- try
- {
- int count = 1;
- //在重复名称后加(序号)
- while (File.Exists(FileName))
- {
- if (FileName.Contains(")."))
- {
- int start = FileName.LastIndexOf("(");
- int end = FileName.LastIndexOf(").") - FileName.LastIndexOf("(") + 2;
- FileName = FileName.Replace(FileName.Substring(start, end), string.Format("({0}).", count));
- }
- else
- {
- FileName = FileName.Replace(".", string.Format("({0}).", count));
- }
- count++;
- }
- if (FileName.LastIndexOf(".xlsx") >= FileName.Length - 5)
- {
- XlsxExportOptions options = new XlsxExportOptions();
- link.ExportToXlsx(FileName, options);
- }
- else
- {
- XlsExportOptions options = new XlsExportOptions();
- link.ExportToXls(FileName, options);
- }
- if (DevExpress.XtraEditors.XtraMessageBox.Show("保存成功,是否打开文件?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == DialogResult.Yes)
- System.Diagnostics.Process.Start(FileName);//打开指定路径下的文件
- }
- catch (Exception ex)
- {
- DevExpress.XtraEditors.XtraMessageBox.Show(ex.Message);
- }
- }
- /// <summary>
- /// 创建打印Componet
- /// </summary>
- /// <param name="printable"></param>
- /// <returns></returns>
- PrintableComponentLink CreatePrintableLink(IPrintable printable)
- {
- ChartControl chart = printable as ChartControl;
- if (chart != null)
- chart.OptionsPrint.SizeMode = DevExpress.XtraCharts.Printing.PrintSizeMode.Stretch;
- PrintableComponentLink printableLink = new PrintableComponentLink() { Component = printable };
- return printableLink;
- }
(gridcontrol等)通用导出excel z的更多相关文章
- 通用导出excel
循环导出所有行和列 def export_excel(table_name): host,user,passwd,db='192.168.0.12','root','myjcyf','us_sys' ...
- POI通用导出Excel数据(包括样式设计)
前言 前一段时间我写过通用的导入Excel,前几天也写了导出pdf格式的,还有我之前搞得导出Word,我在之前的博客也都介绍了导出和导入是一个道理,无非是一个获取一个是赋值.昨天有一位同仁看了我的Ex ...
- 通过注解实现通用导出Excel
Javaweb开发中数据的导入导出很常见,每次我们都需要写很多代码,所以我就在想能不能写一些通用的方法,之前已经在网上 整理过一些通用的方法,最近在网上看到一位牛人封装的更加简介,自己拿过来整理了一下 ...
- 利用反射实现通用的excel导入导出
如果一个项目中存在多种信息的导入导出,为了简化代码,就需要用反射实现通用的excel导入导出 实例代码如下: 1.创建一个 Book类,并编写set和get方法 package com.bean; p ...
- NPOI MVC 模型导出Excel通用类
通用类: public enum DataTypeEnum { Int = , Float = , Double = , String = , DateTime = , Date = } public ...
- MVC NPOI Linq导出Excel通用类
之前写了一个模型导出Excel通用类,但是在实际应用中,可能不是直接导出模型,而是通过Linq查询后获取到最终结果再导出 通用类: public enum DataTypeEnum { Int = , ...
- NPOI导入导出EXCEL通用类,供参考,可直接使用在WinForm项目中
以下是NPOI导入导出EXCEL通用类,是在别人的代码上进行优化的,兼容xls与xlsx文件格式,供参考,可直接使用在WinForm项目中,由于XSSFWorkbook类型的Write方法限制,Wri ...
- 一个通用的DataGridView导出Excel扩展方法(支持列数据格式化)
假如数据库表中某个字段存放的值“1”和“0”分别代表“是”和“否”,要在DataGridView中显示“是”和“否”,一般用两种方法,一种是在sql中直接判断获取,另一种是在DataGridView的 ...
- gridcontrol显示行号,总行,打印,导出Excel,设置标头及内容居中方法
1.一般为了表格显示数据更直观,经常会显示行号以及总数.让gridcontrol显示行号,首先你需要设置一下显示行号的宽度,也就是IndicatorWith.默认值为-1,可根据实际数值需要设置宽度, ...
随机推荐
- .net中大数据的处理
前提:sqlserver数据库 问题:需要从数据量达千万级或是更大的数据库中找出一条需要的数据. 1,先分析大数据的结构,以及数据的流向.以及此过程中那些地方会有瓶颈. 2,针对瓶颈制定方案: 1.1 ...
- Java中的数组
1,可以创建自己的类的数组,但是自己的类必须实现get()和put函数 2,声明数组:int[] arrayOfInt.注意,定义数组时不可以指定大小 3,创建与初始化:通过new.arrayOfIn ...
- redhat6.4安装storm集群-4节点
0.搭建ftp服务器并建立yum源 1.在每个节点上安装java并设置环境变量 2.在三个节点上安装zookeeper 3.安装zeromq 过程中发现运行./configure时出现问题: conf ...
- enmo_day_02
Secure CRT, putty, 等终端工具 DML :u, d, i, m 增,删,改,合并 DDL : DCL : DQL : 数据字典 :存放在数据文件中,SYSTEM表空间里,纪录数据的变 ...
- MYSQL中关于日期处理的函数
< DOCTYPE HTML PUBLIC -WCDTD HTML TransitionalEN> MySQL数据库中SQL语句中 关于日期.时间\时间戳的函数 一 MySQL 获得当 ...
- JVM-并发-线程
线程 1.线程的实现 (1)实现线程主要有3中方式:使用内核线程实现,使用用户线程实现和使用用户线程加轻量级进程混合实现. (2)使用内核线程实现 内核线程就是直接由操作系统内核支持的线程,这种线程由 ...
- 个人开发者做一款Android App需要知道的事情
个人开发者做一款Android App需要知道的事情 在大学时, 自己是学计算机专业的,而且还和老师一起做过一年半的项目. 有时候是不是有这样的想法,做一个自己的网站.但一直未付诸行动.2012年时, ...
- ACE - ACE_Task源码剖析及线程池实现
原文出自http://www.cnblogs.com/binchen-china,禁止转载. 上篇提到用Reactor模式,利用I/O复用,获得Socket数据并且实现I/O层单线程并发,和dispa ...
- Python开发库
在我多年的 Python 编程经历以及在 Github 上的探索漫游过程中,我发掘到一些很不错的 Python 开发包,这些包大大简化了开发过程,而本文就是为了向大家推荐这些开发包. 请注意我特别排除 ...
- 修改xubuntu14.04(同适用ubuntu)下Eclipse默认的黑色注释
终端输入:sudo gedit /usr/share/themes/Ambiance/gtk-2.0/gtkrc 第一行将看到如下内容: gtk-color-scheme = "base_c ...