使用C#和Excel进行报表开发(7)

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

Excel.Application m_objExcel = null;
Excel._Workbook m_objBook = null;
Excel.Sheets m_objSheets = null;
Excel._Worksheet m_objSheet = null;
Excel.Range m_objRange = null;
object m_objOpt = System.Reflection.Missing.Value;
try
{
m_objExcel = new Excel.Application();
m_objBook = m_objExcel.Workbooks.Open("e:\\1.xls", m_objOpt, m_objOpt, m_objOpt,
m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt,
m_objOpt, m_objOpt, m_objOpt, m_objOpt);
m_objSheets = (Excel.Sheets)m_objBook.Worksheets;
m_objSheet = (Excel._Worksheet)(m_objSheets.get_Item(1));
m_objRange = m_objSheet.get_Range("A1", m_objOpt);
m_objRange.NumberFormatLocal = "#";
m_objBook.SaveAs("e:\\22.xls", m_objOpt, m_objOpt,
m_objOpt, m_objOpt, m_objOpt, Excel.XlSaveAsAccessMode.xlNoChange,
m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
finally
{
m_objBook.Close(m_objOpt, m_objOpt, m_objOpt);
m_objExcel.Workbooks.Close();
m_objExcel.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objBook);
System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objExcel);
m_objBook = null;
m_objExcel = null;
GC.Collect();
}

时间: 2024-05-21 15:30:59

使用C#和Excel进行报表开发(7)的相关文章

使用C#和Excel进行报表开发(3)

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

使用C#和Excel进行报表开发(4)

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

使用C#和Excel进行报表开发(5)

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

使用C#和Excel进行报表开发(1)

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

使用C#和Excel进行报表开发(8)

本文演示一个简单的办法,并使用程序将一个dataset中的内容填充到指定的格子中,目的是尽可能的通用,从而避免C#代码必须知道Excel文件中字段和内容的位置的情况. 先制作一个简单的Excel文件作为模板,为了防止要填充的Cell中的内容和标题的内容一样,所以要填充内容的Cell中的内容是"$" + 字段名(要和DataTable中的列名一致),效果如图: 开发(8)-c chart控件使用"> 创建一个Winform程序,给窗体上添加两个按钮,代码分别为: 创建Xm

使用C#和Excel进行报表开发(2)

下面的代码使用一个现有的统计图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_ob

使用C#和Excel进行报表开发(6)

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

类似EXCEL的报表类库(更新)

我在 VCKBASE <在线杂志>第二十四期中有一篇文章"类似EXCEL的报表类库".这篇文章中的例子程序已经有最新版了,界面截图和文档内容也已更新.最新程序请从本文上方的链接处下载. 20030907更新内容: 1)开始在程序里支持图表显示 2)修改了在打印部分的输出线条偶尔有重叠现象 3)支持了在单元格里面放入下拉式列表 20030807更新内容: 1)这一版解决了打印预览和合并单元格在分页打印时候的打印内容错误问题. 2)解决了在WIN9X环境下的网格线条显示和打印问

Delphi控制Excel生成报表

摘 要:Excel是当前最流行的数据报表制作工具.本文介绍如何使用Delphi来控制Excel完成数据库与报表之间的数据交换,讨论了报表制作工程中的一些细节性问题. 1 引言 数据报表作为企事业单位上报和下达的重要信息载体,随着信息化建设的不断推进,在实际的工作中得到了前所未有的应用.因此,数据报表已经成为管理信息系统中重要的一项功能,并且,由于数据的多样性和统计信息的增加,数据报表的系统实现变得越来越复杂. Delphi是一个高效的可视化数据库管理信息系统开发工具,.但是Delphi开发环境中