当前位置:首页 > 生活百科

winform导出excel设置格式(导出excel的方法汇总)

栏目:生活百科日期:2025-05-14浏览:0

1. 服务端输出方式

1.1 html 输出方式最常用方式

优点:不需要任何插件

缺点:不是真正excel文件,做不了太复杂的格式,偶尔会出现打不开的情况

代码示例

            Response.Clear();            Response.Buffer = true;            Response.Charset = "GB2312";            //设置了类型为中文防止乱码的出现            string danwei = Session["danWeiMingCheng"].ToString();            //2011.07.14 luochengxin            Response.AddHeader("Content-Disposition", "inline;filename=手术登记查询.xls", System.Text.Encoding.UTF8));            Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");            //设置输出流为简体中文            Response.ContentType = "application/ms-excel";            //设置输出文件类型为excel文件。            System.Globalization.CultureInfo myCItrad = new System.Globalization.CultureInfo("ZH-CN", true);            System.IO.StringWriter oStringWriter = new System.IO.StringWriter(myCItrad);            System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);            Response.Write(Sbr.ToString());            Response.Write("&<meta http-equiv=Content-Type content=text/html;charset=gb2312>");            Response.Write(oStringWriter.ToString());            Response.End();

1.2 office com组件 输出方式

优点:生成真正的Excel文件,强类型编码

缺点:服务器需要安装office且与版本绑定太深(不推荐使用),常用cs类型程序开发

代码示例:

protected void Page_Load(object sender, EventArgs e)        {            if (!Page.IsPostBack)            {                ApplicationClass app = new ApplicationClass();                Workbook workBook = app.Workbooks.Open(@"e:\tt.xls", 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);                Worksheet sheet = (Worksheet)workBook.Worksheets[1];                Response.Write(sheet.Name + "&<br/>");                Range range = sheet.get_Range("E7:J112", Type.Missing);                Range item = null;                for (int row = 0; row &< range.Rows.Count; row++)                {                    for (int col = 0; col &< range.Columns.Count; col++)                    {                        item = (Range)range.get_Item(row, col);                        Response.Write(item.Value2);                        Response.Write(" | ");                    }                    Response.Write("&<br/>");                }                //关闭                app.Workbooks.Close();                app.Quit();                //释放                System.Runtime.InteropServices.Marshal.ReleaseComObject(item);                System.Runtime.InteropServices.Marshal.ReleaseComObject(range);                System.Runtime.InteropServices.Marshal.ReleaseComObject(sheet);                System.Runtime.InteropServices.Marshal.ReleaseComObject(workBook);                System.Runtime.InteropServices.Marshal.ReleaseComObject(app);                item = null;                app = null;                workBook = null;                range = null;                GC.Collect();                //杀进程                try{                KillExcelProcess();                }catch{}            }        }        public void KillExcelProcess()        {            Process[] myProcesses;            myProcesses = Process.GetProcessesByName("Excel");            foreach (Process myProcess in myProcesses)            {                myProcess.Kill();            }        }

1.3 NPOI 输出方式

优点:生成真正的Excel文件,可做特殊复杂操作,且为独立第三方DLL,不需要依然office组件解决了1.2的问题,

缺点:生成时占用内存资源大,CPU耗时大,如果生成一万条以上excel极其容易出现内存溢出

代码示例:

            private void button1_Click(object sender, EventArgs e)            {            //创建工作薄            HSSFWorkbook wk = new HSSFWorkbook();            //创建一个名称为mySheet的表            ISheet tb = wk.CreateSheet("mySheet");             //创建一行,此行为第二行            IRow row = tb.CreateRow(1);            for (int i = 0; i &< 20; i++)                {            ICell cell = row.CreateCell(i);  //在第二行中创建单元格            cell.SetCellValue(i);//循环往第二行的单元格中添加数据            }            //打开一个xls文件,如果没有则自行创建,如果存在myxls.xls文件则在创建是不要打开该文件!            using (FileStream fs = File.OpenWrite(@"c:/myxls.xls"))             {            wk.Write(fs);   //向打开的这个xls文件中写入mySheet表并保存。            MessageBox.Show("提示:创建成功!");            }            }

2. 客户端输出方式

2.1 OCX组件导出

优点:生成真正的Excel文件

缺点:仅IE下可用,需要开启activeX权限

代码示例:

       function AllAreaExcel(content) {            var oXL = new ActiveXObject("Excel.Application");            var oWB = oXL.Workbooks.Add();            var oSheet = oWB.ActiveSheet;            var p_all = content;            var sel = document.body.createTextRange();            sel.moveToElementText(p_all);            sel.select();            sel.execCommand("Copy");            oSheet.Paste();            oXL.Visible = true;        }

2.2 第三方JS插件

优点

缺点:仅标准H5可用,IE兼容模式下不可能用

“winform导出excel设置格式(导出excel的方法汇总)” 的相关文章

冰冻荔枝可以保存多久,美味冻荔枝的神仙吃法大全

说到夏天的水果,你最爱的是哪一样呢?我先回答:我最喜欢的就是荔枝了,把每个品种都吃个遍后,发现荔枝和这三样东西搭配起来也挺好吃的,自己做也非常方便。最大的难度就...

seo免费排名的软件有哪些,网站排名优化的四个技巧

我做SEO已经有12年了,这是我想要坚持一辈子的事业,因为我很喜欢。懂得操作SEO就不需要整天去外面风吹日晒地跑业务了,每天坐在电脑旁还可以赚很多的钱。我相信很...

pdf直接修改工具有哪些(手机上免费编辑pdf的软件介绍)

现在我们平时无论是工作还是学习中日常文档使用最多的几乎都是PDF格式,但相较Word打开就能直接修改,PDF文档应该如何编辑呢?如果使用PDF编辑器进行修改呢?...

mac熄屏时间怎么设置(mac使用中突然黑屏解决方法)

我们在使用Mac电脑的过程中,会发现在一段时间内没有操作电脑,电脑屏幕就会锁屏。但是有很多小伙伴会使用电脑观看小说,因此不喜欢屏幕总是锁屏,这时候就可以将电脑设...

上行速度和下行速度怎么设置(网络最佳设置方式)

说起网速,很多人脑中会下意识的浮现出下载速度。但对网络的上传速度只有在用到时才会关注!最近不少人问“电脑那些事儿”的小编,为啥自己家里的网络带宽是20兆的,下载...

北京加盟项目有哪些(加盟北京火锅项目利润和成本)

目前,已有许多创业者朋友要选择创业初期投资,新创业者要根据投资成本低创业尽其所能。加入全国火锅连锁店,成本利润是大家首要关心要素,品牌知名度可保证店内客流量,针...

c函数定义的格式(初中函数入门基础知识)

glibc是GNU发布的libc库,即c运行库。glibc是linux系统中最底层的api,几乎其它任何运行库都会依赖于glibc。glibc除了封装linux...

信息管理与信息系统论文摘要(信管的本科论文选题方向)

一、专业简介信息管理与信息系统专业,简称“信管”or“管信“,它属于管理学门类中的管理科学与工程类,是这个一级学科下的的一个重要二级学科。它主要起源于计算机应用...

poe设备有哪些(poe交换机接口介绍)

PoE光纤收发器是构建企业PoE网络架构的常见设备之一,它可以利用现有的非屏蔽双绞线布线来给网络设备供电。本教程将详细介绍PoE光纤收发器的基础知识。什么是Po...

seo优化是怎么做的,新手做seo流程步骤

SEO优化该怎么做呢,如果事先了解百度的抓取收录原理机制,那会更容易理解,一般做SEO优化,首先我们得有一个属于自己的网站,可以说这是一个硬件条件。一、技术层面...