现在有不同样式的EXCEL统计报表,我需要将数据整理后分别写入并保存,怎么样做比较方便,各位高手给点建议了,最好给个代码参考一下了。解决后立刻给分!

解决方案 »

  1.   

    基于VB和EXCEL的报表设计及打印 
    在现代管理信息系统的开发中,经常涉及到数据信息的分析、加工,
    最终还需把统计结果形成各种形式的报表提供给领导决策参考,或进行外
    部交流。在VisualBasic中制作报表,通常是用数据环境设计器(Data
    EnvironmentDesigner)与数据报表设计器(DataReportDesigner),或者
    使用第三方产品来完成。但对于大多数习惯于Excel报表的用户而言,用以
    上方法生成的报表在格式和功能等方面往往不能满足他们的要求。由于Excel具有自己的对象库,在VisualBasic工程中可以加以引用,
    通过对Excel使用OLE自动化,可以创建一些外观整洁的报表,然后打印输
    出。这样实现了VisualBasi应用程序对Excel的控制。本文将针对一个具
    体实例,阐述基于VB和EXCEL的报表设计及打印过程。1)创建Excel对象Excel对象模型包括了128个不同的对象,从矩形、文本框等简单的对
    象到透视表,图表等复杂的对象。下面简单介绍一下其中最重要,也是用
    得最多的五个对象。(1)Application对象Application对象处于Excel对象层次结构的顶层,表示Excel自身的
    运行环境。(2)Workbook对象Workbook对象直接地处于Application对象的下层,表示一个Excel工
    作薄文件。(3)Worksheet对象Worksheet对象包含于Workbook对象,表示一个Excel工作表。(4)Range对象Range对象包含于Worksheet对象,表示Excel工作表中的一个或多个
    单元格。(5)Cells对象Cells对象包含于Worksheet对象,表示Excel工作表中的一个单元格。
    如果要启动一个Excel,使用Workbook和Worksheet对象,下面的代码
    启动了Excel并创建了一个新的包含一个工作表的工作薄:DimzsbexcelAsExcel.Application
    Setzsbexcel=NewExcel.Application
    zsbexcel.Visible=True如要Excel不可见,可使zsbexcel.Visible=Falsezsbexcel.SheetsInNewWorkbook=1
    Setzsbworkbook=zsbexcel.Workbooks.Add2)设置单元格和区域值要设置一张工作表中每个单元格的值,可以使用Worksheet对象的
    Range属性或Cells属性。Withzsbexcel.ActiveSheet
    .Cells(1,2).Value="100"
    .Cells(2,2).Value="200"
    .Cells(3,2).Value="=SUM(B1:B2)"
    .Range("A3:A9")="中国人民解放军"
    EndWith要设置单元格或区域的字体、边框,可以利用Range对象或Cells对象
    的Borders属性和Font属性:Withobjexcel.ActiveSheet.Range("A2:K9").Borders'边框设置
    .LineStyle=xlBorderLineStyleContinuous
    .Weight=xlThin
    .ColorIndex=1
    EndWith
    Withobjexcel.ActiveSheet.Range("A3:K9").Font'字体设置
    .Size=14
    .Bold=True
    .Italic=True
    .ColorIndex=3
    EndWith通过对Excel单元格和区域值的各种设置的深入了解,可以创建各种复
    杂、美观、满足需要的、具有自己特点的报表。3)预览及打印生成所需要的工作表后,就可以对EXCEL发出预览、打印指令了。zsbexcel.ActiveSheet.PageSetup.Orientation=xlPortrait'
    设置打印方向
    zsbexcel.ActiveSheet.PageSetup.PaperSize=xlPaperA4'
    设置打印纸的打下
    zsbexcel.Caption="打印预览"'设置预览窗口的
    标题
    zsbexcel.ActiveSheet.PrintPreview'打印预览
    zsbexcel.ActiveSheet.PrintOut'打印输出通过打印方向、打印纸张大小的设置,不断进行预览,直到满意为止,
    最终进行打印输出。为了在退出应用程序后EXCEL不提示用户是否保存已修改的文件,需使
    用如下语句:zsbexcel.DisplayAlerts=False
    zsbexcel.Quit'退出EXCEL
    zsbexcel.DisplayAlerts=True如此设计的报表打印是通过EXCEL程序来后台实现的。对于使用者来
    说,根本看不到具体过程,只看到一张张漂亮的报表轻易地被打印出来了。4)具体实例下面给出一个具体实例,它在window98、VisualBasic6.0、
    MicrosoftOffice97的环境下调试通过。在VB中启动一个新的StandardEXE工程,在“工程”菜单的“引用”
    选项下引用ExcelObjectLibrary然后在Form中添加一个命令按钮
    cmdExcel最后在窗体中输入如下代码:DimzsbexcelAsExcel.Application
    PrivateSubcmdExcel_Click()
    Setzsbexcel=NewExcel.Application
    zsbexcel.Visible=True
    zsbexcel.SheetsInNewWorkbook=1
    Setzsbworkbook=zsbexcel.Workbooks.Add
    Withzsbexcel.ActiveSheet.Range("A2:C9").Borders'边框设置
    .LineStyle=xlBorderLineStyleContinuous
    .Weight=xlThin
    .ColorIndex=1
    EndWith
    Withzsbexcel.ActiveSheet.Range("A3:C9").Font'字体设置
    .Size=14
    .Bold=True
    .Italic=True
    .ColorIndex=3
    EndWith
    zsbexcel.ActiveSheet.Rows.HorizontalAlignment=
    xlVAlignCenter'水平居中zsbexcel.ActiveSheet.Rows.VerticalAlignment=
    xlVAlignCenter'垂直居中Withzsbexcel.ActiveSheet
    .Cells(1,2).Value="100"
    .Cells(2,2).Value="200"
    .Cells(3,2).Value="=SUM(B1:B2)"
    .Cells(1,3).Value="中国人民解放军"
    .Range("A3:A9")="50"
    EndWith
    zsbexcel.ActiveSheet.PageSetup.Orientation=xlPortrait'
    xlLandscape
    zsbexcel.ActiveSheet.PageSetup.PaperSize=xlPaperA4
    zsbexcel.ActiveSheet.PrintOut
    zsbexcel.DisplayAlerts=False
    zsbexcel.Quit
    zsbexcel.DisplayAlerts=True
    Setzsbexcel=Nothing 
     
       
        
      

  2.   

    用VB 写 确实要简单点
    其中要注意一个 USERANG 就是有效单元格的问题
    还有一个就是 列名的问题,最好用'T'加列字母'A-Z',  因为那些字母有特殊字
      
    别的照着做就是了
      

  3.   

    不是VB,是asp.net.
    有没有将EXCEL读取到页面显示的方法啊?????
      

  4.   

    有 用nexcel.dll
    在网上搜下 注册到你的项目里
      

  5.   

    有了格式, 只能用COM 方式了
    Excel.Application  oExcel=new Excel.Application();
    Excel.Workbook oBook;
    Excel.Sheets sheets;
    Object oMissing=System.Reflection.Missing.Value; 
    oBook=oExcel.Workbooks.Open(@newPath,
    oMissing,oMissing,oMissing,oMissing,
    oMissing,oMissing,oMissing,oMissing,
    oMissing,oMissing,oMissing,oMissing);
    oBook.Activate();
    sheets=oBook.Worksheets; try
    {
    //Excel.Range r1;
    Excel._Worksheet sheet=(Excel._Worksheet)sheets.get_Item(1);
    sheet.Activate();
      

  6.   

    主要是对Excel进行操作!
    我这儿有个开源的类!可以下载下来,进行开发!
    http://www.cnblogs.com/Files/lingyun_k/ExcelHelper.rar
      

  7.   

    参考一下
    http://www.codeproject.com/csharp/excel_using_oledb.asp