WPF 导出Excel 导出图片
/// <summary>
/// 导出Excel
/// </summary>
private void ExportExcel(DataTable ExcelDt)
{
//导出表格
HSSFWorkbook workBook = new HSSFWorkbook();
ISheet sheet1 = workBook.CreateSheet("表名");
//表头
IRow headerRow = sheet1.CreateRow(0);
foreach (DataColumn column in ExcelDt.Columns)
{
headerRow.CreateCell(column.Ordinal).SetCellValue(column.ColumnName);
}
int rowIndex = 1;
foreach (DataRow dr in ExcelDt.Rows)
{
IRow dataRow = sheet1.CreateRow(rowIndex++);
foreach (DataColumn column in ExcelDt.Columns)
{
dataRow.CreateCell(column.Ordinal).SetCellValue(dr[column.ColumnName].ToString());
}
}
SaveFileDialog sfd = new SaveFileDialog();
sfd.DefaultExt = ".xls";
sfd.Filter = "(*.xls)|*.xls";
if (sfd.ShowDialog() == true)
{
try
{
FileStream file = new FileStream(sfd.FileName, FileMode.Create);
workBook.Write(file);
file.Dispose();
MessageDialog.Show("导出成功!", "提示");
}
catch (Exception)
{
MessageDialog.Show("该文件正在被其他进程占用,导出失败!", "提示");
}
}
}
使用NPOI.dll ,上述代码是使用DLL 1.2.4.0,可能使用的DLL不同,代码略有不同。比如,有的版本的NPOI.dll 的是使用的是Sheet而非ISheet。
2.导出图片
/// <summary>
/// 图片转化为bitmap
/// </summary>
/// <param name="chartTemp"></param>
/// <returns></returns>
private Bitmap GetControlMap(Control ctrl)
{
System.Windows.Point point = ctrl.PointToScreen(new System.Windows.Point(0, 0));
System.Drawing.Bitmap bitmap = new Bitmap((int)ctrl.Width, (int)ctrl.Height);
System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bitmap);
System.Drawing.Size size = new System.Drawing.Size((int)ctrl.Width, (int)ctrl.Height);
g.CopyFromScreen((int)point.X, (int)point.Y, 0, 0, size);
return bitmap;
}
/// <summary>
/// 导出图片
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnToImage_Click(object sender, RoutedEventArgs e)
{
SaveFileDialog sfd = new SaveFileDialog();
sfd.DefaultExt = ".jpg";
sfd.Filter = "(*.jpg)|*.jpg";
if (sfd.ShowDialog() == true)
{
Bitmap bitmap = GetControlMap(humiCloud);
bitmap.Save(sfd.FileName);
MessageDialog.Show("导出成功!", "提示");
}
}
WPF 导出Excel 导出图片的更多相关文章
- PHP导入导出excel表格图片(转)
写excel的时候,我用过pear的库,也用过pack压包的头,同样那些利用smarty等作的简单替换xml的也用过,csv的就更不用谈了.呵呵.(COM方式不讲了,这种可读的太多了,我也写过利用wp ...
- PHP导入导出excel表格图片的代码和方法大全
基本上导出的文件分为两种: 1:类Excel格式,这个其实不是传统意义上的Excel文件,只是因为Excel的兼容能力强,能够正确打开而已.修改这种文件后再保存,通常会提示你是否要转换成Excel文件 ...
- 【SSM 】导出excel含图片
ExprotRentUtils package com.kikyo.stat.utils; import java.awt.image.BufferedImage; import java.io.By ...
- yii2 数据导出 excel导出以及导出数据时列超过26列时解决办法
作者:白狼 出处:http://www.manks.top/article/yii2_excel_extension 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给 ...
- NPOI 导出excel带图片,可控大小
using NPOI.HSSF.UserModel;using NPOI.HSSF.Util;using NPOI.DDF;using NPOI.SS.UserModel;using System.I ...
- asp.net 导出excel带图片
protected void btgua_Click(object sender, EventArgs e) { DataTable dt = ds.Tables[0]; if (dt != null ...
- npoi导出excel 导出List<T>
using System.Collections.Generic; using NPOI.HSSF.UserModel; using NPOI.SS.UserModel; using NPOI.XSS ...
- Birt导出Excel图片
有一段时间没有使用Birt了,最近突然之间发现新版的Birt可以支持导出Excel附带图片.我目前下载的是Birt 4.3版本的,导出图片的也只能在Excel 2007下面能够实现,2003的xls格 ...
- thinkphp3.2.3 excel导出,下载文件,包含图片
关于导出后出错的问题 https://segmentfault.com/q/1010000005330214 https://blog.csdn.net/ohmygirl/article/detail ...
随机推荐
- Bubble Cup 12 - Finals [Online Mirror, unrated, Div. 1] E. Product Tuples
题意略,题解生成函数练习题,1+(q-ai)x卷积即可,线段树优化(类似分治思想) //#pragma GCC optimize(2) //#pragma GCC optimize(3) //#pra ...
- MR 原理
MapReduce的执行步骤: 1.Map任务处理 1.1 读取HDFS中的文件.每一行解析成一个<k,v>.每一个键值对调用一次map函数. <0,h ...
- Cocos2d-x通过Jni实现C++与Java相互调用
在cocos2dx项目中与运营平台(java sdk)对接时使用了JNI. 通过C++调用Java 在JniUtil.h文件中如下实现: #ifndef _JNIUTIL_H_ #define _JN ...
- 在任务管理中显示进程ID号
- ElasticJob-分布式作业调度神器,你们还在用Quartz吗?!
简介 Elastic-Job是一个分布式调度解决方案,由两个相互独立的子项目Elastic-Job-Lite和Elastic-Job-Cloud组成. Elastic-Job-Lite定位为轻量级无中 ...
- 【树剖】CF916E Jamie and Tree
好吧这其实应该不是树剖... 因为只要求子树就够了,dfs就好了 大概就是记录一个全局根root 多画几幅图会发现修改时x,y以root为根时的lca为以1为根时的lca(x,y),lca(root, ...
- eclipse变量名自动补全
对于编程人员来说,要记住大量的类名或类方法的名字,着实不是一件容易的事情.如果要IDE能够自动补全代码,那将为我们编程人员带来很大帮助. eclipse代码里面的代码提示功能默认是关闭的,只有输入“. ...
- git归纳总结
1,git 是分布式版本控制:单个电脑就是一个完整的版本库,只需向中央服务器(远程服务器)提交修改的部分.在没有网络情况下也能正常想本机服务器提交代码管理版本,有网时再推送到远程服务器. svn是 ...
- [JZOJ3177] 【GDOI2013模拟5】安全监控
题目 描述 (样例都懒得发出来了) 题目大意 给你一个有向图,从111号点出发,绕一圈回来.这一圈中必须经过222号点. 问经过的最少的点数(不重复). 思考历程 一看就觉得是一道神题. 然后仔细观察 ...
- Spring_数据校验和自定义检验规则和分组校验
@Validated :绑定需要校验的数据. 数据校验规则:为数据绑定校验的规则 private Long booId;@NotNull(message = "不能为空")pri ...