C#中导出Excel报表的方法
在上篇博文中提到了C#执行Excel宏模版的方法,这篇我们来介绍下怎么样将模版导出,并生成报表。
winform中简单的示例代码如下:
public ExportTextReport()
{
string strTempReportPath = "xxxxReport.xls";//导出报表的路径
string strTemplatePath = "xxxxTemplate.xls";//报表模版的路径
FileInfo fi = new FileInfo(strTempReportPath);
ExcelTest.ExelTemplate.FillContent(strTemplatePath, strTempReportPath, dsData);
if (File.Exists(strTempReportPath))
{
System.Diagnostics.Process.Start("Excel.exe",strTempReportPath); //打开EXCEL
}
}
在Asp.net中我们可以专门做一个导出报表的页面来进行报表的导出,代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="AttachPrint.aspx.cs" Inherits="Common.AttachPrint" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
namespace Common
{
public partial class AttachPrint : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if(!string.IsNullOrEmpty(Request.QueryString["PrintFile"]))
{
string realFullFileName = Server.HtmlDecode(Request.QueryString["PrintFile"]);
FileInfo finfo = new FileInfo(realFullFileName);
Response.Clear();
Response.Charset = "utf-8";
Response.Buffer = true;
this.EnableViewState = false;
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.AppendHeader("Content-Disposition", "attachment;filename="
+ HttpUtility.UrlEncode(finfo.Name, System.Text.Encoding.UTF8));
Response.WriteFile(realFullFileName);
Response.Flush();
Response.Close();
Response.End();
}
}
}
}
然后在其它页面进行报表导出时示例方法如下:
private ExportTest()
{
string strTempReportPath = "xxxxReport.xls";//导出报表的路径
string strTemplatePath = "xxxxTemplate.xls";//报表模版的路径
FileInfo fi = new FileInfo(strTempReportPath);
ExcelTest.ExelTemplate.FillContent(strTemplatePath, strTempReportPath, dsData);
string strexportpath = Server.HtmlEncode(strTempReportPath);
Response.Redirect(string.Format("AttachPrint.aspx?PrintFile={0}", strexportpath), true);
}
转载于:https://www.cnblogs.com/kevinGao/archive/2011/09/27/2294477.html
C#中导出Excel报表的方法相关推荐
- Acey.ExcelX实例演练(1)—从GridView中导出Excel报表
Acey.ExcelX实例演练(1) -从GridView中导出Excel报表 关键词:GridView,数据绑定,Excel报表 在开发过程中我们经常遇到需要将页面中查看到的数据导出Excel的情况 ...
- asp.net简单实现导出excel报表
关于导出excel报表,网上也是一搜一大把.整理一下,无非就是几种思路,有利用安装excel软件或插件的服务器直接生成,或者直接在客户端生成(通常都是利用excel软件或插件直接在浏览器生成).反正万 ...
- python中excel制作成绩报表,Python实现导出数据生成excel报表的方法示例
本文实例讲述了Python实现导出数据生成excel报表的方法.分享给大家供大家参考,具体如下: #_*_coding:utf-8_*_ import MySQLdb import xlwt from ...
- python根据excel生成报表_Python实现导出数据生成excel报表的方法示例
本文实例讲述了Python实现导出数据生成excel报表的方法.分享给大家供大家参考,具体如下: #_*_coding:utf-8_*_ import MySQLdb import xlwt from ...
- Myxls导出excel报表
最近项目中有一个导出excel报表的需求.大体就是将一个datatable中的数据导出到excel供用户下载.开始也想过几种方法: 1.因为报表已经在页面上展现出来了,所以想能不能使用js直接将页面的 ...
- java报表的导出excel_java导出excel报表
1.java导出excel报表: package cn.jcenterhome.util; import java.io.OutputStream; import java.util.List; im ...
- php导出excel报表
php导出excel报表方式网上有很多种,有的方法已经过时,有的看不懂,运行有错误,所以找资料时难免苦恼.在这里给大家分享一个简单易用的方法,致力于让大家一看就会,信心百倍.结合实例,利用PHPExc ...
- java导出excel报表工具类
自己写的导出excel报表的公共方法,该公共方法主要用于非横向流动性报表导出 1.创立excel基本初始步骤 XSSFWorkbook wb = new XSSFWorkbook();XSSFCell ...
- poi导出Excel报表多表头双层表头、合并单元格
效果图: controller层方法: /** * * 导出Excel报表 * @param request * @return * */ ...
最新文章
- 敏捷需求分析及深度提升(广州 2014.1.11)- 活动报道
- 步进电机s型加减速计算工具_步进电机噪音和振动的原因分析及应对策略
- python异常处理的作用_python之路——异常处理
- Hadoop 中zoo_0基础如何入门HADOOP
- ITPro Magazine2006年第6期发布
- leetcode —— 面试题12. 矩阵中的路径
- 微信小程序 - 为何setData到页面上有的加分号
- 技嘉h310主板前置音频没声音_急死人!新装机箱前置音频没声音?不要急!一招轻松解决。...
- 在 PyCharm 中使用 PyInstaller 打包 EXE 之过程简记
- Hack The Box——Blunder
- Django请求和响应对象
- 关于添加 HKEY_LOCAL_MACHINE32\Software 注册表问题
- 基因家族分析⑦:用MEME查询基因家族的motif
- 2017年搜狗校招Java研发笔试编程题
- 2021国产数据库领域最具商业合作价值企业盘点
- c语言 以时间做种子的随机数,为什么用时间做种子,随机数还是一样的?
- Micromedia 发布DevNet最终资源开发包
- [产品07]-产品设计定律-菲茨定律/席克定律
- 写一个情人节表白页面
- Labview通讯三菱Q PLC,Labvew TCP通讯三菱PLC ,MCTCP,三菱PLC连接LabVIEW,LabVIEW和三菱PLC 通讯
热门文章
- java 手机音频播放,用Java实现音频播放
- C++ 汇编代码查看
- Linux系统16进制形式查看二进制文件
- 清华计算机本科高中准备 知乎,什么是清华大学的定向生?清华大学定向生到底要不要报考?(知乎...
- matlab心电图诊断系统,ECG-diag MATLAB心电图自动诊断程序 联合开发网 - pudn.com
- win10系统英雄联盟老是重新连接服务器,win10lol重新连接无法连接服务器重试该怎么才能解决...
- python setdefault,Python笔记setdefault用法
- c51汇编语言处理多位数,汇编语言用循环输出多位数,结果溢出了,怎么解决?...
- 用c语言 编写桌面应用程序,谁能帮我用C语言编写“动态桌面啊”!!!急呀!!!...
- jquery的html,text,val的区别