[转]Excel.dll 导出Excel控制
最近做了个导出Excel的程序! 那个心烦啊。
开始要求是直接将gridview导出成Excel,简单!
{
HttpContext.Current.Response.Charset = "UTF-8";
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.UTF8;
HttpContext.Current.Response.ContentType = "application/ms-excel";
HttpContext.Current.Response.AppendHeader("Content-Disposition", "attachment;filename=" + "" + FileName);
System.IO.StringWriter tw = new System.IO.StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(tw);
ctl.RenderControl(hw);
HttpContext.Current.Response.Write(tw.ToString());
HttpContext.Current.Response.End();
}
{
// Confirms that an HtmlForm control is rendered for
}
ChanpDataGrid.AllowSorting = false; //清除排序
DataTable dtChanp = (DataTable)Session["SendChanpDt"];
ChanpDataGrid.Columns.RemoveAt(5); //清除操作列
ChanpDataGrid.DataSource = dtChanp;
ChanpDataGrid.DataBind();
Response.Buffer = true;
Response.Charset = "GB2312";
Response.AppendHeader("Content-Disposition", "attachment;filename=SendInfo.xls");
Response.ContentEncoding = System.Text.Encoding.UTF7;
Response.ContentType = "application/ms-excel";//设置输出文件类型为excel文件。
System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
oStringWriter.Write("片区:"); oStringWriter.Write(areaDDList.SelectedItem.Text + "<br />");
oStringWriter.Write("开票单位:"); oStringWriter.Write(Kai_DW.SelectedItem.Text + " "); oStringWriter.Write("收货单位:"); oStringWriter.Write(ShuoDW.Text + "<br />");
oStringWriter.Write("申请单位:"); oStringWriter.Write(ReqDW.Text + " "); oStringWriter.Write("申请人姓名:"); oStringWriter.Write(Req_Name.Text + "<br />");
oStringWriter.Write("交货地点:"); oStringWriter.Write("从 " + DZStart.Text + " 到 " + DZEnd.Text + " "); oStringWriter.Write("申请发货时间:"); oStringWriter.Write(Req_SendDate.Text + "<br />");
oStringWriter.Write("联系人:" + Link_Name.Text + " "); oStringWriter.Write("联系人电话:" + Link_Tel.Text + " " + "联系人传真:" + Link_Fax.Text + "<br />");
oStringWriter.Write("销售公司营销管理处::"); oStringWriter.Write(XSMana.Text + "<br />");
oStringWriter.Write("发货方式:"); oStringWriter.Write(Send_Type.SelectedItem.Text + " "); oStringWriter.Write("传递时间:"); oStringWriter.Write(CD_Date.Text + "<br />");
this.ChanpDataGrid.RenderControl(oHtmlTextWriter);
string str = oHtmlTextWriter.ToString();
Response.Output.Write(oStringWriter.ToString());
Response.Flush();
Response.End();
***如果不设置交互式用户,EXCEL进程如果停留在内存中,你是无法结束进程的
excel.CreateExcel();
excel.myExcel.Caption = "发货信息";
sheet.Activate();
excel.SetColumnWidth(3, 3, 20); //产品型号
excel.SetColumnWidth(2, 2, 12); //物料码
excel.SetColumnWidth(4, 4, 8); //订货数量
excel.SetColumnWidth(6, 6, 15); //产品名称
excel.SetColumnWidth(7, 7, 25); //特殊说明
excel.SetColumnWidth(5, 5, 8); //确认数量
excel.CellAutoWrap(5, 7, (dt.Rows.Count + 12), 7); //设置自动换行
excel.CellsAlignment(4, 1, 4, 7, ZYP.DBUtility.ExcelHelper.ExcelHAlign.居中, ZYP.DBUtility.ExcelHelper.ExcelVAlign.居中); //明细标题居中
//excel.CellsAlignment(8, 3, 8, 3, ZYP.DBUtility.ExcelHelper.ExcelHAlign.靠右, ZYP.DBUtility.ExcelHelper.ExcelVAlign.居中); //合计的剧右
//excel.CellsAlignment(8, 3, 8, 3, ZYP.DBUtility.ExcelHelper.ExcelHAlign.靠右, ZYP.DBUtility.ExcelHelper.ExcelVAlign.居中); //"合计"的剧右
excel.CellsAlignment((dt.Rows.Count + 8), 7, (dt.Rows.Count + 12), 7, ZYP.DBUtility.ExcelHelper.ExcelHAlign.靠左, ZYP.DBUtility.ExcelHelper.ExcelVAlign.居中); //时间居左
excel.FontColor(4, 1, 4, 7, ZYP.DBUtility.ExcelHelper.ColorIndex.梅红);
excel.FontStyle(4, 1, 4, 7, true, false, ZYP.DBUtility.ExcelHelper.UnderlineStyle.无下划线); //明细表头加粗
excel.FontStyle(3, 2, 3, 2, true, false, ZYP.DBUtility.ExcelHelper.UnderlineStyle.无下划线); //三行加粗
excel.FontStyle(2, 1, 2, 1, true, false, ZYP.DBUtility.ExcelHelper.UnderlineStyle.无下划线); //二行加粗
excel.FontStyle(1, 1, 1, 7, true, false, ZYP.DBUtility.ExcelHelper.UnderlineStyle.无下划线); //一行加粗
excel.FontStyle(dt.Rows.Count + 12, 1, dt.Rows.Count + 12, 7, true, false, ZYP.DBUtility.ExcelHelper.UnderlineStyle.无下划线); //主管签字加粗
excel.FontStyle(dt.Rows.Count + 4, 1, dt.Rows.Count + 4, 7, true, false, ZYP.DBUtility.ExcelHelper.UnderlineStyle.无下划线); //合计加粗
//excel.CellsBackColor(4, 1, 4, 7, ZYP.DBUtility.ExcelHelper.ColorIndex.白色, ZYP.DBUtility.ExcelHelper.Pattern.Horizontal); //明细表头背景
excel.CellsUnite((dt.Rows.Count + 5), 2, (dt.Rows.Count + 5),7); //备注 合并
//excel.CellsUnite(4, 6, 4, 7); //产品名称 合并
sheet.Cells[2, 1] = "生产处营销管理室:";
sheet.Cells[3, 2] = "请协助办理以下商品发运。";
//发货明细
sheet.Cells[4, 1] = "序号";
sheet.Cells[4, 2] = "物料码";
sheet.Cells[4, 3] = "产品型号";
sheet.Cells[4, 4] = "订货数量";
sheet.Cells[4, 5] = "确认数量";
sheet.Cells[4, 6] = "产品名称";
sheet.PageSetup.PrintGridlines = false; //去掉打印时的网格线
//sheet.PrintPreview(true);
在 ExcelHelper.StartExcel() 位置 d:DotNetworkspaceWebSitesScoreCardApp_CodeExcelHelper.cs:行号 111
在 ExcelHelper..ctor(Boolean visible) 位置 d:DotNetworkspaceWebSitesScoreCardApp_CodeExcelHelper.cs:行号 101
在 ScoreCard.Process(String country) 位置 d:DotNetworkspaceWebSitesScoreCardApp_CodeScoreCard.cs:行号 109
Google 一下,也找到了一些方案,但均不凑效,后来经过尝试,找到了如下的 解决方案:
userName 的格式为:{机器名}/{用户名} password 为登录密码
string tableName = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null).Rows[][].ToString();
[转]Excel.dll 导出Excel控制的更多相关文章
- C#变成数据导入Excel和导出Excel
excel 基础 •整个excel 表格叫工作表:workbook:工作表包含的叫页:sheet:行:row:单元格:cell. •excel 中的电话号码问题,看起来像数字的字符串以半角单引号开头就 ...
- .Net NPOI 根据excel模板导出excel、直接生成excel
一.根据Excel模板导出excel 1.导入NPOI.dll 2.DAL中添加类ExportExcel.cs using NPOI.SS.UserModel; using System; usin ...
- ASP.NET Core 2.2 : 十六.扒一扒新的Endpoint路由方案 try.dot.net 的正确使用姿势 .Net NPOI 根据excel模板导出excel、直接生成excel .Net NPOI 上传excel文件、提交后台获取excel里的数据
ASP.NET Core 2.2 : 十六.扒一扒新的Endpoint路由方案 ASP.NET Core 从2.2版本开始,采用了一个新的名为Endpoint的路由方案,与原来的方案在使用上差别不 ...
- 使用Aspose.Cell.dll导出Excel总结
这两天项目上用Aspose导出Excel来着.开始感觉挺简单的,但是实际操作起来还是挺复杂的,调试占的时间很长.主要是动态生成列.合并单元格.调样式占了很长时间,还是总结一下吧. 基础操作: //EX ...
- NPOI写Excel,Microsoft.Office.Interop.excel.dll 转换Excel为PDF
首先要引用NPOI动态库和Microsoft.Office.Interop.excel.dll (Microsoft.Office.Interop.excel.dll 下载链接 ,下载以后解压文件,把 ...
- [poi使用]使用excel模版导出excel
Apache POI是基于Office Open XML标准(OOXML)和Microsoft的OLE 2复合文档格式(OLE2)处理各种文件格式的开源项目.简而言之,您可以使用Java读写MS ...
- 纳税服务系统【用户模块之使用POI导入excel、导出excel】
前言 再次回到我们的用户模块上,我们发现还有两个功能没有完成: 对于将网页中的数据导入或导出到excel文件中,我们是完全没有学习过的.但是呢,在Java中操作excel是相对常用的,因此也有组件供我 ...
- c#操作excel方式三:使用Microsoft.Office.Interop.Excel.dll读取Excel文件
1.引用Microsoft.Office.Interop.Excel.dll 2.引用命名空间.使用别名 using System.Reflection; using Excel = Microsof ...
- C#导出EXCEL(DataTable导出EXCEL)
using System; using System.Collections.Generic; using System.Text; using System.Data; using System.I ...
随机推荐
- sql server 的变量
对于占用关键字等不符合规则的命名,可使用中括号[ ]括起来. 局部变量: 局部变量名必须以@开头,作用范围仅为程序内部. 常用用途: 1.作为计数器计算循环执行的次数或控制循环执行的次数 2.保存数据 ...
- 数据结构(C语言)关于查找与排序
1)利用readData()函数从data1.txt中读入不同规模的数据存入数组,编写基于数组的顺序查找算法,测试数据量为1万.5万.10万.20万.30万.40万和50万时的数据查询时间. 算法代码 ...
- 难度2:ASCII码排序
ASCII码排序 难度:2描述: 输入三个字符(可以重复)后,按各字符的ASCII码从小到大的顺序输出这三个字符. 输入: 第一行输入一个数N,表示有N组测试数据.后面的N行输入多组数据,每组输入数据 ...
- 关于RM中的X3014错误,以及mul() 、天空盒
关于 error X3014: incorrect number of arguments to numeric-type constructor 这个错误应该是某个类似float4 这样的变量初始 ...
- JVM自动内存管理:内存区域基础概念
1.课程概要 (1)Java虚拟机和Java内存区域概述 (2)Java虚拟机栈和本地方法栈 (3)Java堆 (4)方法区和运行时常量池 (5)直接内存 2.Java虚拟机运行时数据区 运行时数据区 ...
- Spring学习(一)--概述
Spring是什么? 是一个框架,是为了解决企业应用开发的复杂性而创建的框架 是一个框架,是一个轻量级的控制反转和面向切面的容器框架 从大小与开销两方面而言Spring都是轻量的 通过控制反转(IoC ...
- Xcode清理垃圾
摘抄自https://blog.csdn.net/hu434587115/article/details/54602449 ~/Library/Developer/Xcode/DerivedData/ ...
- Texas Instruments matrix-gui-2.0 hacking -- generate.php
<?php /* * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/ * * * Redistrib ...
- linux中文件上传下载
windows篇 linux文件下载到windows sz命令 登录到linux服务器使用 sz log.log 命令,弹出对话框选择下载文件的目录,点击确定即可. windows文件上传到linux ...
- ZH奶酪:【数据结构与算法】基础排序算法总结与Python实现
1.冒泡排序(BubbleSort) 介绍:重复的遍历数列,一次比较两个元素,如果他们顺序错误就进行交换. 2016年1月22日总结: 冒泡排序就是比较相邻的两个元素,保证每次遍历最后的元素最大. 排 ...