asp.net读取execl模板并填充数据,关闭进程
<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模板并填充数据,关闭进程的更多相关文章
- 读取word模板,填充数据后导出
一.需求说明 定期生成word报告,报告中含有文本.表格.图表等元素,依次获取进行替换,保留原有样式,生成新的word文档 二.引入依赖 <dependency> <groupId& ...
- poi读取excel模板,填充内容并导出,支持导出2007支持公式自动计算
/** * 版权所有(C) 2016 * @author www.xiongge.club * @date 2016-12-7 上午10:03:29 */ package xlsx; /** * @C ...
- Itext读取PDF模板文件渲染数据后创建新文件
Maven导入依赖 <properties> <itextpdf.version>5.5.0</itextpdf.version> <itext-asian. ...
- 向Word模板中填充数据
现在有这样的需求,给Word文档的指定位置填充上特定数据,例如我们有一个终端,用来打印员工的薪资证明,对于一个公司来说,他的薪资证明模板是固定的,变化的地方是员工姓名,部门,职位等.我们只需要将这些指 ...
- C# 创建execl文件 并且填充数据
第一步:引用文件 using NPOI.HSSF.UserModel;using System.Data;using CTUClassLibrary;using System.IO;using NPO ...
- js使用模板快速填充数据
1.html <!DOCTYPE html> <html> <head> <title>模板标签</title> </head> ...
- [转载]java向word模板中填充数据(总结)
使用过PageOffice动态生成word文档的人都知道,PageOffice可以给word文档的指定位置进行填充,这里我们所说的指定位置在PageOffice的专业术语里面有两个概念,一个叫做数据区 ...
- [原创]java向word模板中填充数据(总结)
使用过PageOffice动态生成word文档的人都知道,PageOffice可以给word文档的指定位置进行填充,这里我们所说的指定位置在PageOffice的专业术语里面有两个概念,一个叫做数据区 ...
- POI往word模板中写入数据
转: POI往word模板中写入数据 2018年03月24日 16:00:22 乄阿斗同學 阅读数:2977 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn ...
随机推荐
- (转载)SQL去除回车符,换行符,空格和水平制表符
http://www.cnblogs.com/insus/p/4815336.html MS SQL去除回车符,换行符,空格和水平制表符,参考下面语句,一般情况是SQL接受富文本或是textarea的 ...
- javax.net.ssl.SSLHandshakeException(Cas导入证书)
一.报错: javax.net.ssl.SSLHandshakeException二.原因分析:CAS部署时,常常要涉及到HTTPS的证书发布问题.由于在实验环境中,CAS和应用服务常常是共用一台PC ...
- java 单例(懒汉式)
该示例考虑了懒汉式单例的线程安全问题
- SQL Server 2008 R2——统计各部门某年入职人数
=================================版权声明================================= 版权声明:原创文章 谢绝转载 请通过右侧公告中的“联系邮 ...
- ARMGNU伪指令
符号定义伪指令 .global,.local,.set,.equ .global 使得符号对连接器可见,变为对整个工程可用的全局变量 .global symbol .local 表示符号对外部不可见, ...
- 使用 python 实现 wc 命令程序的基本功能
这里使用了 python 的基本代码实现了 Linux 系统下 wc 命令程序的基本功能. #!/usr/bin/env python #encoding: utf-8 # Author: liwei ...
- 关于windows 7 安装Vim的安装步骤介绍。——Arvin
在Ubuntu中第一次使用VIM编辑器发现好强大,打算在Win7中安装,其中遇到一些小问题,下边介绍详细的安装过程和遇到的问题. 1-安装 首先发现Github中有一款中意的作者,并且他开源的基本插件 ...
- C++使用binder实例
Android系统最常见也是初学者最难搞明白的就是Binder了,很多很多的Service就是通过Binder机制来和客户端通讯交互的.所以搞明白Binder的话,在很大程度上就能理解程序运行的流程. ...
- jsp2.0+中的标签文件,JSP Fragment技术
刚进新公司不久,今天在看到项目中用到了.tag文件.刚开始我还以为这个是第三方类似freemarker的模板技术.问了下项目组的其他人员,原来这是jsp2.0以来就有的JSP Fragment技术.以 ...
- Android原生游戏开发:使用JustWeEngine开发微信打飞机
使用JustWeEngine开发微信打飞机: 作者博客: 博客园 引擎地址:JustWeEngine 示例代码:EngineDemo JustWeEngine? JustWeEngine是托管在Git ...