在上篇博文中提到了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报表的方法相关推荐

  1. Acey.ExcelX实例演练(1)—从GridView中导出Excel报表

    Acey.ExcelX实例演练(1) -从GridView中导出Excel报表 关键词:GridView,数据绑定,Excel报表 在开发过程中我们经常遇到需要将页面中查看到的数据导出Excel的情况 ...

  2. asp.net简单实现导出excel报表

    关于导出excel报表,网上也是一搜一大把.整理一下,无非就是几种思路,有利用安装excel软件或插件的服务器直接生成,或者直接在客户端生成(通常都是利用excel软件或插件直接在浏览器生成).反正万 ...

  3. python中excel制作成绩报表,Python实现导出数据生成excel报表的方法示例

    本文实例讲述了Python实现导出数据生成excel报表的方法.分享给大家供大家参考,具体如下: #_*_coding:utf-8_*_ import MySQLdb import xlwt from ...

  4. python根据excel生成报表_Python实现导出数据生成excel报表的方法示例

    本文实例讲述了Python实现导出数据生成excel报表的方法.分享给大家供大家参考,具体如下: #_*_coding:utf-8_*_ import MySQLdb import xlwt from ...

  5. Myxls导出excel报表

    最近项目中有一个导出excel报表的需求.大体就是将一个datatable中的数据导出到excel供用户下载.开始也想过几种方法: 1.因为报表已经在页面上展现出来了,所以想能不能使用js直接将页面的 ...

  6. java报表的导出excel_java导出excel报表

    1.java导出excel报表: package cn.jcenterhome.util; import java.io.OutputStream; import java.util.List; im ...

  7. php导出excel报表

    php导出excel报表方式网上有很多种,有的方法已经过时,有的看不懂,运行有错误,所以找资料时难免苦恼.在这里给大家分享一个简单易用的方法,致力于让大家一看就会,信心百倍.结合实例,利用PHPExc ...

  8. java导出excel报表工具类

    自己写的导出excel报表的公共方法,该公共方法主要用于非横向流动性报表导出 1.创立excel基本初始步骤 XSSFWorkbook wb = new XSSFWorkbook();XSSFCell ...

  9. poi导出Excel报表多表头双层表头、合并单元格

    效果图: controller层方法: /**      *      * 导出Excel报表      * @param request      * @return      *      */ ...

最新文章

  1. 敏捷需求分析及深度提升(广州 2014.1.11)- 活动报道
  2. 步进电机s型加减速计算工具_步进电机噪音和振动的原因分析及应对策略
  3. python异常处理的作用_python之路——异常处理
  4. Hadoop 中zoo_0基础如何入门HADOOP
  5. ITPro Magazine2006年第6期发布
  6. leetcode —— 面试题12. 矩阵中的路径
  7. 微信小程序 - 为何setData到页面上有的加分号
  8. 技嘉h310主板前置音频没声音_急死人!新装机箱前置音频没声音?不要急!一招轻松解决。...
  9. 在 PyCharm 中使用 PyInstaller 打包 EXE 之过程简记
  10. Hack The Box——Blunder
  11. Django请求和响应对象
  12. 关于添加 HKEY_LOCAL_MACHINE32\Software 注册表问题
  13. 基因家族分析⑦:用MEME查询基因家族的motif
  14. 2017年搜狗校招Java研发笔试编程题
  15. 2021国产数据库领域最具商业合作价值企业盘点
  16. c语言 以时间做种子的随机数,为什么用时间做种子,随机数还是一样的?
  17. Micromedia 发布DevNet最终资源开发包
  18. [产品07]-产品设计定律-菲茨定律/席克定律
  19. 写一个情人节表白页面
  20. Labview通讯三菱Q PLC,Labvew TCP通讯三菱PLC ,MCTCP,三菱PLC连接LabVIEW,LabVIEW和三菱PLC 通讯

热门文章

  1. java 手机音频播放,用Java实现音频播放
  2. C++ 汇编代码查看
  3. Linux系统16进制形式查看二进制文件
  4. 清华计算机本科高中准备 知乎,什么是清华大学的定向生?清华大学定向生到底要不要报考?(知乎...
  5. matlab心电图诊断系统,ECG-diag MATLAB心电图自动诊断程序 联合开发网 - pudn.com
  6. win10系统英雄联盟老是重新连接服务器,win10lol重新连接无法连接服务器重试该怎么才能解决...
  7. python setdefault,Python笔记setdefault用法
  8. c51汇编语言处理多位数,汇编语言用循环输出多位数,结果溢出了,怎么解决?...
  9. 用c语言 编写桌面应用程序,谁能帮我用C语言编写“动态桌面啊”!!!急呀!!!...
  10. jquery的html,text,val的区别