职业IT人-IT人生活圈

 找回密码
 成为会员
搜索
查看: 649|回复: 2

C#生成EXCEL

[复制链接]
冬日暖阳 发表于 2009-8-18 11:47 | 显示全部楼层 |阅读模式
大概情况是这样的:
我用的是SQLSEVER2005
里面有一个数据库test
数据库中有一张表TABLE
表中有这样几个字段:id,name,sex,tel,content
页面上有一个文本框(绑定日历)和一个按钮
文本框中选择日期后
点击按钮以后实现如下功能:
自动创建一个文件夹
文件夹名为文本框中的日期值
要求格式为“YYYYMMDD”
自动查找数据库并生成EXCEL文件
生成文件的要求如下:
查找数据库时按照name字段分组查找
按不同分组分别生成不同EXCEL文件
EXCEL文件名为分组字段值
将所有EXCEL文件放在文件夹中


比如:

在文本框中选择“2009-07-25”
假设表中name字段值有三个,分别是“张三”
“李四”
“王五”
则点击按钮时
会产生一个文件夹
名字是“20090725”
同时在文件夹中产生三个EXCEL文件
名字分别是“张三.xls”
“李四.xls”
“王五.xls”
“张三.xls”中的内容应该是类似于下面SELECT找出的内容
select * from table1 where name=\"张三\"
以此类推

具体应该如何实现
最好附代码
问题补充:
这几个EXCEL文件时自动生成到创建的文件夹中
不能出现下载提示框
szxrszxr 发表于 2009-8-18 11:47 | 显示全部楼层
彬仔 发表于 2009-8-18 11:47 | 显示全部楼层

C#生成EXCEL

一下代码是把DataSet 数据导出到excel
你上面的要求 只需把你需要的数据按条件读到DataSet 然后分别导出就可以了(好像是引用COM里面的Microsoft.Excel)
07 /**//// <summary>
108 /// 执行导出
109 /// </summary>
110 /// <param name="ds">要导出的DataSet</param>
111 /// <param name="strExcelFileName">要导出的文件名</param>
112 private void doExport(DataSet ds,string strExcelFileName)
113 {
114
115 Excel.Application excel= new Excel.Application();
116
117 //Excel.Workbook obj=new Excel.WorkbookClass();
118 //obj.SaveAs("c:\zn.xls",Excel.XlFileFormat.xlExcel9795,null,null,false,false,Excel.XlSaveAsAccessMode.xlNoChange,null,null,null,null);
119
120 int rowIndex=1;
121 int colIndex=0;
122
123 excel.Application.Workbooks.Add(true);
124
125
126 System.Data.DataTable table=ds.Tables[0] ;
127 foreach(DataColumn col in table.Columns)
128 {
129 colIndex++;
130 excel.Cells[1,colIndex]=col.ColumnName;
131 }
132
133 foreach(DataRow row in table.Rows)
134 {
135 rowIndex++;
136 colIndex=0;
137 foreach(DataColumn col in table.Columns)
138 {
139 colIndex++;
140 excel.Cells[rowIndex,colIndex]=row[col.ColumnName].ToString();
141 }
142 }
143 excel.Visible=false;
144 excel.Sheets[0] = "sss";
145 excel.ActiveWorkbook.SaveAs(strExcelFileName+".XLS",Excel.XlFileFormat.xlExcel9795,null,null,false,false,Excel.XlSaveAsAccessMode.xlNoChange,null,null,null,null);
146
147
148 //wkbNew.SaveAs strBookName
149
150
151 //excel.Save(strExcelFileName);
152 excel.Quit();
153 excel=null;
154
155 GC.Collect();//垃圾回收
156 }
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

QQ|手机版|小黑屋|网站帮助|职业IT人-IT人生活圈 ( 粤ICP备12053935号-1 )|网站地图
本站文章版权归原发布者及原出处所有。内容为作者个人观点,并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是信息平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽造成漏登,请及时联系我们,我们将根据著作权人的要求立即更正或者删除有关内容。

GMT+8, 2024-5-3 21:31 , Processed in 0.141099 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表