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 ...
随机推荐
- 如何在CRichEditCtrl控件中直接读如RTF格式的文件(这个是通过流的方式来读取文件)
如何在CRichEditCtrl控件中直接读如RTF格式的文件 Inserting an RTF string using StreamIn ------------------------- ...
- 暑假集训test-8-14~8-15
我不想写博客辣. 拖了三天的一起写,结果就是写不下去了...果然应该改一道写一道么.. 题面题解代码也懒得往博客上放了,屯U盘里了... 因为太菜还有两道没有改. 题解外的一些参考: lyc大佬的进程 ...
- layui点击按钮自动刷新页面问题
问题 <button class="layui-btn layui-btn-primary" onclick="findData()">查询< ...
- How to Hide Apache Tomcat Version Number from Error Pages
1. 进入tomcat lib目录 cd /usr/local/tomcat7/lib 2. 解压catalina.jar jar xvf catalina.jar 3. 修改ServerInfo.p ...
- Http学习(一)
HTTP 超文本传输协议 综述: HTTP(HyperText Transfer Protocol)是一套计算机通过网络进行通信的规则.计算机专家设计出HTTP,使HTTP客户(如Web浏览器)能够从 ...
- SpringBoot-application:application.yml/配置文件详解
ylbtech-SpringBoot-application:application.yml/配置文件详解 springboot采纳了建立生产就绪spring应用程序的观点. Spring Boot优 ...
- PHP面向对象之继承的基本思想
图例 概念和说明 代码展示 <?php header('content-type:text/html;charset=utf-8'); //学生考试系统 class Student{ publi ...
- Map、可变参数、静态导入、Collections、Arrays、集合嵌套
Map双列集合 key 键 value 值 方法: put(K, V) //判断key值是否相等,相等,覆盖元素,不相等,存储 remove(K) Map集合的遍历(不要看到java提供了很多方法做一 ...
- vue导航条选中项样式
html: <div id="app"> <div class="collection"> <a href="#!&qu ...
- 17.splash_case06_ScrapySplashTest-master
taobao.py # -*- coding: utf-8 -*- from scrapy import Spider, Request from urllib.parse import quote ...