博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  C#操作Excel

摘要:1.获取程序启动路径:string strpa=Application.StartupPath;2.浏览文件: OpenFileDialog openFile = new OpenFileDialog(); openFile.Filter = "excel file(*.xls)|*.xls"; if (openFile.ShowDialog() == DialogResult.OK) { txtFilename1.Text = openFile.FileName.ToString().Trim(); }3.生成保存文件名获得保存路径:string strOutPath = 阅读全文

posted @ 2011-07-27 11:13 happyst 阅读(243) 评论(0) 推荐(0)

摘要:近期在使用C#操作excel,主要是读取excel模板,复制其中的模板sheet页,生成多个sheet页填充相应数据后另存到excel文件,所用到的知识点如下。一、添加引用和命名空间添加Microsoft.Office.Interop.Excel引用,它的默认路径是C:\program Files\Microsoft Visual Studio 9.0\Visual Studio Tools for Office\PIA\Office12\Microsoft.Office.Interop.Excel.dll代码中添加引用using Microsoft.Office.Interop.Excel; 阅读全文

posted @ 2011-07-21 09:58 happyst 阅读(397) 评论(0) 推荐(0)

摘要:按颜色菜单的色块位置排列第1列第2列第3列第4列第5列第6列第7列第8列代码颜色名称代码颜色名称代码颜色名称代码颜色名称代码颜色名称代码颜色名称代码颜色名称代码颜色名称常用色1 黑色53 褐色52 橄榄色51 深绿49 深青11 深蓝55 靛蓝56 灰80%9 深红46 橙色12 深黄10 绿色14 青色5 蓝色47 蓝-灰16 灰50%3 红色45 浅橙色43 酸橙色50 海绿42 水绿色41 浅蓝13 紫罗兰48 灰40%7 粉红44 金色6 黄色4 鲜绿8 青绿33 天蓝54 梅红15 灰25%38 玖瑰红40 茶色36 浅黄35 浅绿34 浅青绿37 淡蓝39 淡紫2 白色辅助色17  阅读全文

posted @ 2011-07-21 09:52 happyst 阅读(3995) 评论(0) 推荐(0)

摘要:本文演示一个简单的办法,并使用程序将一个dataset中的内容填充到指定的格子中,目的是尽可能的通用,从而避免C#代码必须知道Excel文件中字段和内容的位置的情况。先制作一个简单的Excel文件作为模板,为了防止要填充的Cell中的内容和标题的内容一样,所以要填充内容的Cell中的内容是“$” + 字段名(要和DataTable中的列名一致),效果如图:创建一个Winform程序,给窗体上添加两个按钮,代码分别为:创建Xml:privatevoidbutton1_Click(objectsender,EventArgse){DataColumndcName=newDataColumn(&qu 阅读全文

posted @ 2011-07-21 09:25 happyst 阅读(250) 评论(0) 推荐(0)

摘要:在Excel中,如果某个单元格的内容是数字,且比较长,默认情况下,会变为科学计数发表示,例如:123456789123456000会被表示为1.2345E+17,为了能够将数字按照普通的格式完全表示,就需要设置单元格的属性 ,下面是例子代码:Excel.Applicationm_objExcel=null;Excel._Workbookm_objBook=null;Excel.Sheetsm_objSheets=null;Excel._Worksheetm_objSheet=null;Excel.Rangem_objRange=null;objectm_objOpt=System.Reflec 阅读全文

posted @ 2011-07-21 09:23 happyst 阅读(175) 评论(0) 推荐(0)

摘要:在Excel中,行和列实际上仍然是Range,只不过取得行和列的方法和前面几篇随笔出现的有点不同,要使用Worksheet的Rows和Columns属性的get_Item方法,下面是例子代码,演示了怎样选中行,并且在行之间复制数据,和插入行:ThisApplication = new Excel.Application();ThisWorkbook = ThisApplication.Workbooks.Open("z:\\Book1.xls", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Mis 阅读全文

posted @ 2011-07-21 09:22 happyst 阅读(259) 评论(0) 推荐(0)

摘要:在用Excel作报表的时候,可能需要操作单元格的边框和填充颜色和纹理等操作,下面的代码说明如何设置选中的单元格的填充纹理和边框 try{ ThisApplication = new Excel.Application(); ThisWorkbook = ThisApplication.Workbooks.Open("z:\\Book1.xls", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Typ 阅读全文

posted @ 2011-07-21 09:18 happyst 阅读(175) 评论(0) 推荐(0)

摘要:有的Web项目选用Excel作为报表方案,在服务器端生成Excel文件,然后传送到客户端,由客户端进行打印。在国内的环境下,相对PDF方式,Excel的安装率应该比pdf阅读器的安装率要高,同时,微软也为C#操作Excel提供了完备的接口,虽然ZedGraph和其他的商业报表工具生成的统计图也很好,但是人家微软毕竟是大品牌,值得信赖。本文介绍使用C#调用Excel来生成统计图(Chart)的以及Chart图中各部分控制的一些方法。在上一篇使用C#和Excel进行报表开发(二)-操作统计图(Chart)中,我们使用一个预定义的Excel文件,通过改变Chart中的某个值来生成统计图。本文进一步演 阅读全文

posted @ 2011-07-21 09:05 happyst 阅读(337) 评论(0) 推荐(0)

摘要:下面的代码使用一个现有的统计图Excel文件,加载这个文件,设置某一项的值和统计图的表示方式,然后保存到另一个Excel文件里。如果是VS2005+Office2003,也可以选择使用Visual Studio Tools for Office来作。Excel.Application m_objExcel = null;Excel._Workbook m_objBook = null;Excel._Chart m_objChart = null;Excel.ChartGroup m_objChartGroup = null;Excel.Series m_objSeries = null;obj 阅读全文

posted @ 2011-07-21 08:43 happyst 阅读(148) 评论(0) 推荐(0)

摘要:目前的商业工具如水晶报表,ActiveReport等,都提供了灵活,强大的功能,但是对于比较特殊化的表格,特别是国内的一些应用,都是一个个的格子组成的,这样要是用线来一根根画就比较麻烦,但是这类工具还都不提供表格化的报表布局定义方式。一个很好的选择是VS2005的客户端报表(RDLC),但是在某几个方面还是不够灵活,例如,灵活性有限制,要想自己编码实现一些复杂逻辑还是有困难;要VS2005,对于一些还在使用VS2003的项目就只有眼馋的份了。用Excel来实现,优点在于页面布局设计灵活,同时使用代码来操作数据要更灵活,更精确。下面是一个简单的例子,打开一个定义好的Excel文件,这个文件是作为 阅读全文

posted @ 2011-07-21 08:41 happyst 阅读(181) 评论(0) 推荐(0)

摘要:在用Excel作报表的时候,可能会碰到分页的情况,这样就要分成多个Sheet显示,如果要在每页都保留表头,就需要将第一页作为模板设计的表头部分拷贝到其他的Sheet上,这时就要用用到Excel中的单元格拷贝。 下面的代码说明如何一个Sheet上的选定内容拷贝到另一个Sheet上: ThisApplication = new Excel.Application(); ThisWorkbook = ThisApplication.Workbooks.Open("z:\\Book1.xls", Type.Missing, Type.Missing, Type.Missing, T 阅读全文

posted @ 2011-07-21 08:21 happyst 阅读(154) 评论(0) 推荐(0)