C#生成EXCEL
大概情况是这样的:我用的是SQLSEVER2005,里面有一个数据库test,数据库中有一张表TABLE,表中有这样几个字段:id,name,sex,tel,conten...
大概情况是这样的:
我用的是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文件时自动生成到创建的文件夹中,不能出现下载提示框 展开
我用的是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文件时自动生成到创建的文件夹中,不能出现下载提示框 展开
2个回答
展开全部
一下代码是把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 }
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 }
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询