基于DevExpress的SpreadsheetControl实现对Excel的打开、预览、保存、另存为、打印(附源码下载)
时间:2019-08-27
本文章向大家介绍基于DevExpress的SpreadsheetControl实现对Excel的打开、预览、保存、另存为、打印(附源码下载),主要包括基于DevExpress的SpreadsheetControl实现对Excel的打开、预览、保存、另存为、打印(附源码下载)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
场景
Winform控件-DevExpress18下载安装注册以及在VS中使用:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/100061243
参照以上将DevExpress安装并引进到工具箱。
这里使用的是VS2013所以安装的DevExpress是14版本。
DevExpress14以及注册机下载
https://download.csdn.net/download/badao_liumang_qizhi/11608734
效果
实现
环境搭建
新建Winform程序,拖拽一个SpreadsheetControl,以及一个Button按钮。
然后双击进入打开以及预览按钮的点击事件中
private void simpleButton1_Click(object sender, EventArgs e) { string filePath = FileDialogHelper.OpenExcel(); if (!string.IsNullOrEmpty(filePath)) { IWorkbook workbook = spreadsheetControl1.Document; workbook.LoadDocument(filePath); } }
其中打开文件的路径是有工具类FileDialogHelper中的OpenEecel方法返回的。
新建FileDialogHelper类,类中新建方法实现打开一个选择文件对话框并将文件路径返回。
public static string OpenExcel() { OpenFileDialog fileDialog = new OpenFileDialog(); fileDialog.Multiselect = true; fileDialog.Title = "请选择文件"; fileDialog.Filter = "所有文件(*xls*)|*.xls*"; //设置要选择的文件的类型 if (fileDialog.ShowDialog() == DialogResult.OK) { return fileDialog.FileName;//返回文件的完整路径 } else { return null; } }
保存Excel实现
拖拽一个按钮,双击进入其点击事件中。
在上面预览窗口中双击单元格对excel进行编辑后点击保存会将源文件进行保存。
private void simpleButton2_Click(object sender, EventArgs e) { spreadsheetControl1.SaveDocument(); }
Excel另存为实现
拖拽一个按钮,然后双击进入其点击事件中
private void simpleButton3_Click(object sender, EventArgs e) { //获取要保存的文件路径 string filePath = FileDialogHelper.SaveExcel(); //如果不为空 if (!string.IsNullOrEmpty(filePath)) { try { //获取预览的excel对象 Document提供对控件中加载的工作簿的访问 IWorkbook workbook = spreadsheetControl1.Document; //根据选择的路径保存excel workbook.SaveDocument(filePath); //弹窗提示 MessageBox.Show("保存成功"); } catch (Exception ex) { MessageBox.Show(ex.Message); } } }
同理使用工具类弹窗选择保存路径,然后调用Saveocument(path)进行保存另存为。
SaveExcel方法代码
public static string SaveExcel() { string filename = "霸道"; SaveFileDialog saveDialog = new SaveFileDialog(); //设置默认文件扩展名。 saveDialog.DefaultExt = "xls"; //设置当前文件名筛选器字符串,该字符串决定对话框的“另存为文件类型”或“文件类型”框中出现的选择内容。 saveDialog.Filter = "Excel文件|*.xls"; // 用默认的所有者运行通用对话框。 saveDialog.ShowDialog(); //如果修改了文件名,用对话框中的文件名名重新赋值 filename = saveDialog.FileName; //被点了取消 if (filename.IndexOf(":") < 0) return null; else { //获取文件对话框中选定的文件名的字符串 return saveDialog.FileName.ToString(); } }
效果
Excel打印实现
拖拽一个按钮,然后双击进入其点击事件中。
private void simpleButton4_Click(object sender, EventArgs e) { this.spreadsheetControl1.ShowPrintPreview(); }
效果
源码下载
https://download.csdn.net/download/badao_liumang_qizhi/11618624
原文地址:https://www.cnblogs.com/badaoliumangqizhi/p/11418259.html
- POJ 3207 Ikki's Story IV - Panda's Trick(2-SAT)
- 3359: [Usaco2004 Jan]矩形
- 漫谈Java IO之 Netty与NIO服务器
- Java线程的几种状态
- POJ3683 Priest John's Busiest Day(2-SAT)
- javascript 面向对象(实现继承的几种方式)
- Base64 的 JavaScript 实现 js-base64
- HTTP请求详解
- 漫谈Java IO之 NIO那些事儿
- 1593: [Usaco2008 Feb]Hotel 旅馆
- BZOJ 1823: [JSOI2010]满汉全席(2-SAT)
- 3360: [Usaco2004 Jan]算二十四
- JavaScript 数据类型
- 3361: [Usaco2004 Jan]培根距离
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 几种定时任务(Timer、TimerTask、ScheduledFuture)的退出—结合真实案例【JAVA并发】
- gitlab内存消耗大,频繁出现502错误的解决办法
- Java基于POI实现excel任意多级联动下拉列表——支持从数据库查询出多级数据后直接生成【附源码】
- Elasticsearch 通过Scroll遍历索引,构造pandas dataframe 【Python多进程实现】
- 【Java】 NullPointerException、ArrayIndexOutOfBoundsException、ClassCastException、ArrayIndexOutOfBoundsE
- Meow攻击删除不安全(开放的)的Elasticsearch(及MongoDB) 索引,建一堆以Meow结尾的奇奇怪怪的索引(如:m3egspncll-meow)
- MySQL LOAD DATA INFILE—从文件(csv、txt)批量导入数据
- MySQL 快速删除大量数据(千万级别)的几种实践方案——附源码
- 什么样的代码是好代码?
- Elastic search集群新增节点(同一集群,同一物理机)
- Tesseract-OCR 4.1.0 安装和使用— windows及CentOS
- Java 大小端转换(基于ByteBuffer)
- Tika结合Tesseract-OCR 实现光学汉字识别(简体、宋体的识别率百分之百)—附Java源码、测试数据和训练集下载地址
- 阿里《JAVA实习生入职测试题—2019最新》之答案详解(连载一)
- 阿里《JAVA实习生入职测试题—2019最新》之答案详解(连载二)