winform开发,
开发报表,
做Excel的报表,
有点复杂的,有简单的,有比较复杂的。谢谢!
求教好方法

解决方案 »

  1.   

    一個不錯的工具,有源碼
    http://blog.csdn.net/flygoldfish/archive/2006/02/06/592790.aspx
    自己看吧
      

  2.   

    這個針對Excel的
    http://www.webmis.com.cn/
      

  3.   

    提供参考:
    http://singmysong1978.spaces.live.com/blog/cns!B9135D0CD7A4781B!140.entry
      

  4.   

    http://download.csdn.net/source/191211
    这里有个例子
      

  5.   


    DatagridView导出到EXCEL文档:http://www.ghostdom.cn/html/31.html
      

  6.   

    可以用ms的excel控件,或者别的控件,如:infragistics的控件
      

  7.   

    // 定义要使用的Excel 组件接口
                // 定义Application 对象,此对象表示整个Excel 程序
                Microsoft.Office.Interop.Excel.Application excelApp = null ;
                // 定义Workbook对象,此对象代表工作薄
                Microsoft.Office.Interop.Excel.Workbook workBook;
                // 定义Worksheet 对象,此对象表示Execel 中的一张工作表
                Microsoft.Office.Interop.Excel.Worksheet ws=null;
                //定义Range对象,此对象代表单元格区域
                Microsoft.Office.Interop.Excel.Range r;            int row = 1; int cell = 1;
                try
                {
                   //初始化 Application 对象 excelApp
                    excelApp = new Microsoft.Office.Interop.Excel.Application();
                    //在工作薄的第一个工作表上创建任务列表
                    workBook = excelApp.Workbooks.Add(XlWBATemplate.xlWBATWorksheet);                ws =(Worksheet)workBook.Worksheets[1];                // 命名工作表的名称为 "Task Management"
                    ws.Name = "Task Management";                #region 创建表格的列头
                    // 遍历数据表中的所有列
                    foreach (DataGridViewColumn cs in TasksGridView.Columns)
                    {
                        // 假如并不想把主键也显示出来
                        if (cs.HeaderText != "编号")
                        {
                            ws.Cells[row, cell] = cs.HeaderText;
                            r = (Range)ws.Cells[row, cell];                        ws.get_Range(r, r).HorizontalAlignment = Microsoft.Office.Interop.Excel.XlVAlign.xlVAlignCenter;
                   
                            //此处用来设置列的样式
                            cell++;
                        }
                    }
                 
                    // 创建行,把数据视图记录输出到对应的Excel 单元格
                    for (int i = 2; i < TasksData.Tables[0].Rows.Count; i++)
                    {
                        for (int j = 1; j < TasksData.Tables[0].Columns.Count; j++)
                        {
                            
                            ws.Cells[i, j] = TasksData.Tables[0].Rows[i][j].ToString();
                           // r = (Range)ws.Cells[i,j];                        Range rg = (Range)ws.get_Range(ws.Cells[i, j], ws.Cells[i, j]);
                            rg.EntireColumn.ColumnWidth = 20;
                       //     rg.Columns.AutoFit();
                            rg.NumberFormatLocal = "@";
                        }                }
                    #endregion
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.ToString());
                }
                
                //显示 Excel
                excelApp.Visible = true;          
                
            }
      

  8.   

    当数据 量较大时,要等很久!比如:1000条数据,40个字段。即:Row=1000;Cell=40 ;这时候 要等好久。
    大概 要4分钟!!!!!!!!!!!!!!!!!!!!!!!请教 各位有什么好方法能解决的吗?!?!?!!?!??!!?!??!
      

  9.   

    我是楼主
    -----------------
    当数据 量较大时,要等很久!比如:1000条数据,40个字段。即:Row=1000;Cell=40 ;这时候 要等好久。
    大概 要4分钟!!!!!!!!!!!!!!!!!!!!!!!请教 各位有什么好方法能解决的吗?!?!?!!?!??!!?!??!
      

  10.   

    我是楼主
    -----------------
    我是先建Excel的模板,让后在模板里把数据写入。
    当数据 量较大时,要等很久!比如:1000条数据,40个字段。即:Row=1000;Cell=40 ;这时候 要等好久。
    大概 要4分钟!!!!!!!!!!!!!!!!!!!!!!!请教 各位有什么好方法能解决的吗?!?!?!!?!??!!?!??!请帮帮忙,谢谢!!!!!!!!!!!!!!!!!
      

  11.   

    我是楼主
    -----------------
    不数据库的问题。
    Excel本生的问题。
    不知道有其他好方法吗?
    请教各位。
      

  12.   

    Owc 或者用delphi封装 一个fastReport
      

  13.   

    我是楼主
    -----------------
    我是先建Excel的模板,让后在模板里把数据写入。
    当数据 量较大时,要等很久!比如:1000条数据,40个字段。即:Row=1000;Cell=40 ;这时候 要等好久。
    大概 要4分钟!!!!!!!!!!!!!!!!!!!!!!!请教 各位有什么好方法能解决的吗?!?!?!!?!??!!?!??!请帮帮忙,谢谢!!!!!!!!!!!!!!!!!
      

  14.   

    我是先建Excel的模板,让后在模板里把数据写入。
    当数据 量较大时,要等很久!比如:1000条数据,40个字段。即:Row=1000;Cell=40 ;这时候 要等好久。
    大概 要4分钟!!!!!!!!!!!!!!!!!!!!!!!请教 各位有什么好方法能解决的吗?!?!?!!?!??!!?!??!
    -------------------------------------------
    没什么好办法,本来就是一行行写进去就是慢,建议添加一个进度条给客户反映当前进度,这样客户会感觉好过些!
      

  15.   

    我是楼主
    -----------------
    我是先建Excel的模板,让后在模板里把数据写入。
    当数据 量较大时,要等很久!比如:1000条数据,40个字段。即:Row=1000;Cell=40 ;这时候 要等好久。
    大概 要4分钟!!!!!!!!!!!!!!!!!!!!!!!请问下:建Excel的模板 转换成XML,让后对XML进行写操作,将数据写入。
    数据写好后 再将 XML转换为Excel输出,会不会快点呢?!?!?????????????????????还有就是,是否有其他第三方控件,可以很好的实现 这个功能呢?!?!?!?!!?!?
      

  16.   

    我是楼主
    -----------------
    我是先建Excel的模板,让后在模板里把数据写入。
    当数据 量较大时,要等很久!比如:1000条数据,40个字段。即:Row=1000;Cell=40 ;这时候 要等好久。
    大概 要4分钟!!!!!!!!!!!!!!!!!!!!!!!
    ========================================================
    请问下:建Excel的模板 转换成XML,让后对XML进行写操作,将数据写入。
    数据写好后 再将 XML转换为Excel输出,会不会快点呢?!?!?????????????????????还有就是,是否有其他第三方控件,可以很好的实现 这个功能呢?!?!?!?!!?!?
      

  17.   

    直接操作Excel速度很慢的。
    用水晶报表,然后可以任意导出!!!!