博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# 中Excel导出,可以自由设置导出的excel格式
阅读量:6939 次
发布时间:2019-06-27

本文共 2438 字,大约阅读时间需要 8 分钟。

   Excel导出,不管在java,C#等后台语言,或者是javascrit,jquery等脚本语言,有很多种方式都可以将查出的数据导成excel的格式。我这次是从公司的一个同事那里学来的一个方法。是有关C#的winform的程序的。我们在实际应用中,是将导出的数据进行了复杂的处理,进行了合并单元格,处理单元格的边框,excel显示的字体,颜色,样式等等,都在导出excel的过程中用到了,而且导出的速度很快。下面我就这个方法和大家分享一下:

Microsoft.Office.Interop.Excel.Application xlApp = new Microsoft.Office.Interop.Excel.Application(); //创建excel            System.Globalization.CultureInfo CurrentCI = System.Threading.Thread.CurrentThread.CurrentCulture; //线程            System.Threading.Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US"); //语言            Microsoft.Office.Interop.Excel.Workbooks workbooks = xlApp.Workbooks;            Microsoft.Office.Interop.Excel.Workbook workbook = workbooks.Add(Microsoft.Office.Interop.Excel.XlWBATemplate.xlWBATWorksheet);            Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[1];            //单元格属性            Microsoft.Office.Interop.Excel.Range range1;            Microsoft.Office.Interop.Excel.Range range2;            worksheet.Name = "测试";            worksheet.Cells[3, 3] = "列名1";            worksheet.Cells[3, 4] = "列名2";            //给要设置的单元格定位属性            range1 = (Microsoft.Office.Interop.Excel.Range)worksheet.Cells[3, 3]; //定位单元格            range2 = (Microsoft.Office.Interop.Excel.Range)worksheet.Cells[3, 4]; //定位单元格            range1.ColumnWidth = 30;    //设置单元格的列的宽度            range2.ColumnWidth = 35;            range1.Font.Size = 12;     //设置单元格的字体的大小            range2.Font.Size = 12;            range1.Borders.Weight = XlBorderWeight.xlMedium;// 设置边框粗细            range2.Borders.Weight = XlBorderWeight.xlMedium;            range1.HorizontalAlignment = XlHAlign.xlHAlignCenter;  //excel单元格的内容居中(可以设置靠左,居中,靠右)            range2.HorizontalAlignment = XlHAlign.xlHAlignCenter;            range1.Font.Bold = true; //excel设置字体加粗格式            range2.Font.Bold = true;            //excel合并单元格            Microsoft.Office.Interop.Excel.Range range;            range = worksheet.get_Range(worksheet.Cells[4, 3], worksheet.Cells[9, 3]);             range.MergeCells = true;            //worksheet.ClearArrows();            xlApp.Visible = true; //导出exel(主要靠这句),将要导出的excel显示出来            xlApp.ActiveWindow.DisplayGridlines = false; //消除excel的边框线

使用上面的方法需要导入excel的一个dll包,名为“icrosoft.Office.Interop.Excel.dll”,有兴趣的可以实践一下。

转载于:https://www.cnblogs.com/shunxiyuan/archive/2013/01/25/2876626.html

你可能感兴趣的文章
Spring MVC如何把全局异常记录到日志中?
查看>>
2015.10.10信息系统项目管理师作业
查看>>
我的友情链接
查看>>
Java8-Stream-终止操作-归约与收集
查看>>
NOSQL分类
查看>>
VUE学习遇到的问题及解决方法(一)
查看>>
Python中lambda的用法
查看>>
E036-rpmdb open failed
查看>>
基于结构化平均感知机的分词器Java实现
查看>>
IPFS是什么?
查看>>
机器学习:从入门到晋级
查看>>
安卓constraintLayout中app:srcCompat设置的图片显示不出来
查看>>
nginx 安装在ubuntu上
查看>>
iOS地图选址
查看>>
Shpinx在PHPCMS里的使用及配置
查看>>
Linux Oracle Rac 10G 搭建& Patch
查看>>
Apache与Nginx网络模型对比
查看>>
Java 二重循环实现对象去重
查看>>
[Unity3d]socket通信 切换到web版本时报错SecurityException解决办法
查看>>
修改windows service的启动类型
查看>>