一般用专门的报表设计器,水晶报表、activeReport什么的

解决方案 »

  1.   


    public void ExportExcel(DataSet ds)        //以DataSet- 导出Excel文件   
            {
                if (ds == null) return;
                Microsoft.office.Interop.Excel.Application xlApp = new Microsoft.office.Interop.Excel.Application();            if (xlApp == null)
                {
                    MessageBox.Show("无法创建Excel对象,可能您的机子未安装Excel", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
                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];//取得Sheet1
                Microsoft.office.Interop.Excel.Range range;
                long totalCount = ds.Tables[0].Rows.Count;            long rowRead = 0;
                float percent = 0;            //worksheet.Cells[1, 1] = "报表标题";            //写入字段
                for (int i = 0; i < ds.Tables[0].Columns.Count; i++)
                {
                    worksheet.Cells[1, i + 1] = ds.Tables[0].Columns[i].ColumnName;
                    range = (Microsoft.office.Interop.Excel.Range)worksheet.Cells[1, i + 1];
                    range.Interior.ColorIndex = 15;
                    range.Font.Bold = true;
                }
                //写入数值
                for (int r = 0; r < ds.Tables[0].Rows.Count; r++)
                {
                    for (int i = 0; i < ds.Tables[0].Columns.Count; i++)
                    {
                        worksheet.Cells[r + 2, i + 1] = ds.Tables[0].Rows[r][i];
                    }
                    rowRead++;
                    percent = ((float)(100 * rowRead)) / totalCount;
                }
                xlApp.Visible = true;
            }取得datagridview的dataset打印,我上面是打印代码
      

  2.   

    你上面说的导入EXCEL 我早运用过了,我就想 要 直接打印的功能代码。
    希望 各位兄弟帮帮忙了啊
      

  3.   

    按你的要求就用printdocument控件,然后在它的printpage事件里面写自己的打印代码,弄不好会死人的。
      

  4.   

    给我邮箱,我有datagridview打印的相关代码。
      

  5.   

    http://user.qzone.qq.com/250411907/infocenter?ptlang=2052