<head runat="server">
<title></title>
<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
<script type="text/javascript">
function getExecl() {
$.ajax({
type: 'POST',
url: 'ashx/execl.ashx',
success: function (data) {
var re = eval(data);
for (var i in re) {
if (re[i].num > )
alert(re[i].num);
}
},
error: function (data) { }
}); } </script>
</head>

前台代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Microsoft.Office.Interop.Excel;
using System.Runtime.InteropServices;
using System.Web.Script.Serialization; namespace WebApplication1.ashx
{
/// <summary>
/// Summary description for execl
/// </summary>
public class execl : IHttpHandler
{
[DllImport("User32.dll", CharSet = CharSet.Auto)]
public static extern int GetWindowThreadProcessId(IntPtr hwnd, out int ID);
JavaScriptSerializer json = new JavaScriptSerializer();
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
int s= getExecl();
MessageInfo MessageRe = new MessageInfo(s, null);
string returnValue = json.Serialize(MessageRe);
returnValue = "[" + returnValue + "]";
context.Response.Write(returnValue);
}
private int getExecl()
{
int num = ;
try
{
ApplicationClass excel = new ApplicationClass();
string time = DateTime.Now.ToString("yyyyMMddHHmmss");
string path = @"H:\exel\" + time + ".xlsx";
excel.Workbooks.Open(@"H:\exel\1.xlsx", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
excel.Visible = false; //设置可见性
Worksheet workshet = (Worksheet)excel.Worksheets.get_Item();
workshet.Cells[, ] = ""; //行和列
workshet.Cells[, ] = "";
workshet.Cells[, ] = "";
workshet.Cells[, ] = "";
workshet.SaveAs(path, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
excel.Quit(); //退出
IntPtr t = new IntPtr(excel.Hwnd); //运用句柄
int k = ;
GetWindowThreadProcessId(t, out k);
System.Diagnostics.Process p = System.Diagnostics.Process.GetProcessById(k);
p.Kill(); //杀死当前进程
num = ;
}
catch (Exception e) { }
return num;
}
public bool IsReusable
{
get
{
return false;
}
}
} }

一般处理程序代码

参考了地址 http://www.cnblogs.com/zhangchenliang/archive/2011/07/21/2112430.html

asp.net读取execl模板并填充数据,关闭进程的更多相关文章

  1. 读取word模板,填充数据后导出

    一.需求说明 定期生成word报告,报告中含有文本.表格.图表等元素,依次获取进行替换,保留原有样式,生成新的word文档 二.引入依赖 <dependency> <groupId& ...

  2. poi读取excel模板,填充内容并导出,支持导出2007支持公式自动计算

    /** * 版权所有(C) 2016 * @author www.xiongge.club * @date 2016-12-7 上午10:03:29 */ package xlsx; /** * @C ...

  3. Itext读取PDF模板文件渲染数据后创建新文件

    Maven导入依赖 <properties> <itextpdf.version>5.5.0</itextpdf.version> <itext-asian. ...

  4. 向Word模板中填充数据

    现在有这样的需求,给Word文档的指定位置填充上特定数据,例如我们有一个终端,用来打印员工的薪资证明,对于一个公司来说,他的薪资证明模板是固定的,变化的地方是员工姓名,部门,职位等.我们只需要将这些指 ...

  5. C# 创建execl文件 并且填充数据

    第一步:引用文件 using NPOI.HSSF.UserModel;using System.Data;using CTUClassLibrary;using System.IO;using NPO ...

  6. js使用模板快速填充数据

    1.html <!DOCTYPE html> <html> <head> <title>模板标签</title> </head> ...

  7. [转载]java向word模板中填充数据(总结)

    使用过PageOffice动态生成word文档的人都知道,PageOffice可以给word文档的指定位置进行填充,这里我们所说的指定位置在PageOffice的专业术语里面有两个概念,一个叫做数据区 ...

  8. [原创]java向word模板中填充数据(总结)

    使用过PageOffice动态生成word文档的人都知道,PageOffice可以给word文档的指定位置进行填充,这里我们所说的指定位置在PageOffice的专业术语里面有两个概念,一个叫做数据区 ...

  9. POI往word模板中写入数据

    转: POI往word模板中写入数据 2018年03月24日 16:00:22 乄阿斗同學 阅读数:2977  版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn ...

随机推荐

  1. MongoDB学习笔记~MongoDBRepository仓储的实现

    回到目录 仓储大叔,只要是持久化的东西,都要把它和仓储撤上关系,为啥,为的是开发人员在使用时统一,高可用及方便在各种方式之间实现动态的切换,如ef与redis和mongoDB的切换,你完成可以通过IR ...

  2. 【转】Flex 布局语法教程

    网页布局(layout)是CSS的一个重点应用. 布局的传统解决方案,基于盒状模型,依赖 display属性 + position属性 + float属性.它对于那些特殊布局非常不方便,比如,垂直居中 ...

  3. sql server之ROW_NUMBER() OVER()取每组的第N行数据

    先看个例子: document_id card_holder_id created_date document_type_id 1 1 2015-7-1 1 2 4 2015-7-2 1 3 4 20 ...

  4. Kafka简介

    Kafka简介 转载请注明出处:http://www.cnblogs.com/BYRans/ Apache Kafka发源于LinkedIn,于2011年成为Apache的孵化项目,随后于2012年成 ...

  5. Android 上实现像微信一样的用Fragment来实现的Tab切页效果 提供源码下载

    网有不少的例子,但是要么是像微信一样可是没有使用Fragment实现,要么是只实现了一个很简单的切换,没有下面的菜单页.这个例子有实现了,我觉得暂时够我用了##实现类:+ MainTabFragmen ...

  6. 深度理解Jquery 中 offset() 方法

    参考原文:深度理解Jquery 中 offset() 方法

  7. mongoDB的安装(一)

    0.安装环境说明: linux系统:centos6.5 mongoDB版本:mongodb-linux-x86_64-rhel62-3.2.7.tgz 1.下载 mongoDB的下载:https:// ...

  8. ELF Format 笔记(十二)—— 段类型(segment types)

    ilocker:关注 Android 安全(新手) QQ: 2597294287 PT_NULL:如果段类型是 PT_NULL,那相应程序头结构体的其它成员都无意义,该程序头项可被忽略. 暂时还没遇到 ...

  9. Android Studio failed to open by giving error “Files Locked” 解决方案

    windows 7 下的解决方案 导航至 android-studio 安装目录. (默认为C:\Program Files (x86)\Android\android-studio). 往上一层文件 ...

  10. POJ2794 Double Patience[离散概率 状压DP]

    Double Patience Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 694   Accepted: 368 Cas ...