winform开发,开发报表,做Excel的报表,求教好方法[高分,马上给] winform开发,开发报表,做Excel的报表,有点复杂的,有简单的,有比较复杂的。谢谢!求教好方法 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一個不錯的工具,有源碼http://blog.csdn.net/flygoldfish/archive/2006/02/06/592790.aspx自己看吧 這個針對Excel的http://www.webmis.com.cn/ 提供参考:http://singmysong1978.spaces.live.com/blog/cns!B9135D0CD7A4781B!140.entry http://download.csdn.net/source/191211这里有个例子 DatagridView导出到EXCEL文档:http://www.ghostdom.cn/html/31.html 可以用ms的excel控件,或者别的控件,如:infragistics的控件 // 定义要使用的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; } 当数据 量较大时,要等很久!比如:1000条数据,40个字段。即:Row=1000;Cell=40 ;这时候 要等好久。大概 要4分钟!!!!!!!!!!!!!!!!!!!!!!!请教 各位有什么好方法能解决的吗?!?!?!!?!??!!?!??! 我是楼主-----------------当数据 量较大时,要等很久!比如:1000条数据,40个字段。即:Row=1000;Cell=40 ;这时候 要等好久。大概 要4分钟!!!!!!!!!!!!!!!!!!!!!!!请教 各位有什么好方法能解决的吗?!?!?!!?!??!!?!??! 我是楼主-----------------我是先建Excel的模板,让后在模板里把数据写入。当数据 量较大时,要等很久!比如:1000条数据,40个字段。即:Row=1000;Cell=40 ;这时候 要等好久。大概 要4分钟!!!!!!!!!!!!!!!!!!!!!!!请教 各位有什么好方法能解决的吗?!?!?!!?!??!!?!??!请帮帮忙,谢谢!!!!!!!!!!!!!!!!! 我是楼主-----------------不数据库的问题。Excel本生的问题。不知道有其他好方法吗?请教各位。 Owc 或者用delphi封装 一个fastReport 我是楼主-----------------我是先建Excel的模板,让后在模板里把数据写入。当数据 量较大时,要等很久!比如:1000条数据,40个字段。即:Row=1000;Cell=40 ;这时候 要等好久。大概 要4分钟!!!!!!!!!!!!!!!!!!!!!!!请教 各位有什么好方法能解决的吗?!?!?!!?!??!!?!??!请帮帮忙,谢谢!!!!!!!!!!!!!!!!! 我是先建Excel的模板,让后在模板里把数据写入。当数据 量较大时,要等很久!比如:1000条数据,40个字段。即:Row=1000;Cell=40 ;这时候 要等好久。大概 要4分钟!!!!!!!!!!!!!!!!!!!!!!!请教 各位有什么好方法能解决的吗?!?!?!!?!??!!?!??!-------------------------------------------没什么好办法,本来就是一行行写进去就是慢,建议添加一个进度条给客户反映当前进度,这样客户会感觉好过些! 我是楼主-----------------我是先建Excel的模板,让后在模板里把数据写入。当数据 量较大时,要等很久!比如:1000条数据,40个字段。即:Row=1000;Cell=40 ;这时候 要等好久。大概 要4分钟!!!!!!!!!!!!!!!!!!!!!!!请问下:建Excel的模板 转换成XML,让后对XML进行写操作,将数据写入。数据写好后 再将 XML转换为Excel输出,会不会快点呢?!?!?????????????????????还有就是,是否有其他第三方控件,可以很好的实现 这个功能呢?!?!?!?!!?!? 我是楼主-----------------我是先建Excel的模板,让后在模板里把数据写入。当数据 量较大时,要等很久!比如:1000条数据,40个字段。即:Row=1000;Cell=40 ;这时候 要等好久。大概 要4分钟!!!!!!!!!!!!!!!!!!!!!!!========================================================请问下:建Excel的模板 转换成XML,让后对XML进行写操作,将数据写入。数据写好后 再将 XML转换为Excel输出,会不会快点呢?!?!?????????????????????还有就是,是否有其他第三方控件,可以很好的实现 这个功能呢?!?!?!?!!?!? 直接操作Excel速度很慢的。用水晶报表,然后可以任意导出!!!! 私有构造函数 C#的主窗体如何实现无刷新? 求一段视频压缩的代码----在线等 winform 动态绑定树 用api(GetWindowRect)获取窗体矩形的问题 数库连接出的问题 那位帮忙下 在线 谢谢 BinaryReader读取二进制文件的字符时怎么得出的都是Base64的东西,怎么样得到它真正的内容,比如说“上海火车站”这样的内容。 C#下datagrid如何根据每列内容的最大长度自动调整长度 初学C#!请大家帮忙指路。 winform中把控件当参数传递 关于C#数据库连接池 有谁知道用C#编程控制拨号上网的技术吗?
http://blog.csdn.net/flygoldfish/archive/2006/02/06/592790.aspx
自己看吧
http://www.webmis.com.cn/
http://singmysong1978.spaces.live.com/blog/cns!B9135D0CD7A4781B!140.entry
这里有个例子
DatagridView导出到EXCEL文档:http://www.ghostdom.cn/html/31.html
// 定义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;
}
大概 要4分钟!!!!!!!!!!!!!!!!!!!!!!!请教 各位有什么好方法能解决的吗?!?!?!!?!??!!?!??!
-----------------
当数据 量较大时,要等很久!比如:1000条数据,40个字段。即:Row=1000;Cell=40 ;这时候 要等好久。
大概 要4分钟!!!!!!!!!!!!!!!!!!!!!!!请教 各位有什么好方法能解决的吗?!?!?!!?!??!!?!??!
-----------------
我是先建Excel的模板,让后在模板里把数据写入。
当数据 量较大时,要等很久!比如:1000条数据,40个字段。即:Row=1000;Cell=40 ;这时候 要等好久。
大概 要4分钟!!!!!!!!!!!!!!!!!!!!!!!请教 各位有什么好方法能解决的吗?!?!?!!?!??!!?!??!请帮帮忙,谢谢!!!!!!!!!!!!!!!!!
-----------------
不数据库的问题。
Excel本生的问题。
不知道有其他好方法吗?
请教各位。
-----------------
我是先建Excel的模板,让后在模板里把数据写入。
当数据 量较大时,要等很久!比如:1000条数据,40个字段。即:Row=1000;Cell=40 ;这时候 要等好久。
大概 要4分钟!!!!!!!!!!!!!!!!!!!!!!!请教 各位有什么好方法能解决的吗?!?!?!!?!??!!?!??!请帮帮忙,谢谢!!!!!!!!!!!!!!!!!
当数据 量较大时,要等很久!比如:1000条数据,40个字段。即:Row=1000;Cell=40 ;这时候 要等好久。
大概 要4分钟!!!!!!!!!!!!!!!!!!!!!!!请教 各位有什么好方法能解决的吗?!?!?!!?!??!!?!??!
-------------------------------------------
没什么好办法,本来就是一行行写进去就是慢,建议添加一个进度条给客户反映当前进度,这样客户会感觉好过些!
-----------------
我是先建Excel的模板,让后在模板里把数据写入。
当数据 量较大时,要等很久!比如:1000条数据,40个字段。即:Row=1000;Cell=40 ;这时候 要等好久。
大概 要4分钟!!!!!!!!!!!!!!!!!!!!!!!请问下:建Excel的模板 转换成XML,让后对XML进行写操作,将数据写入。
数据写好后 再将 XML转换为Excel输出,会不会快点呢?!?!?????????????????????还有就是,是否有其他第三方控件,可以很好的实现 这个功能呢?!?!?!?!!?!?
-----------------
我是先建Excel的模板,让后在模板里把数据写入。
当数据 量较大时,要等很久!比如:1000条数据,40个字段。即:Row=1000;Cell=40 ;这时候 要等好久。
大概 要4分钟!!!!!!!!!!!!!!!!!!!!!!!
========================================================
请问下:建Excel的模板 转换成XML,让后对XML进行写操作,将数据写入。
数据写好后 再将 XML转换为Excel输出,会不会快点呢?!?!?????????????????????还有就是,是否有其他第三方控件,可以很好的实现 这个功能呢?!?!?!?!!?!?
用水晶报表,然后可以任意导出!!!!