1、构建查询界面UI 使用VS2010建构查询界面,在此笔者所测试的是Winform程序,一个往来账查询的功能,具体界面如下图所示:
2、利用C#代码获取SQ雉搽妤粲L数据 利用C#代码获取SQL数据,并将查询出来的数据保存到数据表DataTable中;部分查询代码如下:private void btnRefresh_Click(object sender, EventArgs e){ //search string condition = ""; condition = condition + " [px_rq]>='" + dateTimePicker1.Value.ToShortDateString() + "' AND [px_rq]<='" + dateTimePicker2.Value.ToShortDateString() + "' "; if (txtKjkm.Text != "") condition = condition + "AND [kmdm] like '" + SearchKmdm + "%' "; if (txtXmmc.Text != "") condition = condition + "AND [xmdm] like '" + txtXmmc.Text.Trim() + "%' ";//…… VouchOp dzd = new VouchOp(); dt = dzd.oneYearVouch(condition, conditionQc);}
3、设定dataGridView的数据源 将所查询出来的DataTable数据表设定为dataGridView的数据源: dataGridView1.DataSource = dt;
4、调用NPOI将数据导入到Excel中 调用NPOI控件,并将数据导入到Excel中: private void btnExcel_Click(object sender, EventArgs e) { NPOIExcel.GenerateXlsFromXlsTemplate(dataGridView1); }
5、指定文件存储路径 点击生成EXCEL,跳出存储对话框(如下图),接下来我们做的就是先找到存放这个文件的路径,代码如下: static void Write皈其拄攥ToFile() { SaveFileDialog saveFileDialog = new SaveFileDialog(); saveFileDialog.Filter = "Execl files (*.xls)|*.xls"; saveFileDialog.FilterIndex = 0; saveFileDialog.RestoreDirectory = true; saveFileDialog.CreatePrompt = true; saveFileDialog.Title = "Excel文件另存为…"; // saveFileDialog.ShowDialog(); if (saveFileDialog.ShowDialog() != DialogResult.OK) return; string myExcel = saveFileDialog.FileName; FileStream file = new FileStream(myExcel, FileMode.Create); hssfworkbook.Write(file); file.Close(); } 这段代码,意思是看是否存在文件夹,如果存在,则查看是否存在文件,如果不存在文件夹或者文件,都将进行创建。
6、打开所存储的EXCEL文件,即是从SQL数据中导入的内容,如下图所示:
7、NPOI控件 NPOI,顾名思义,就是POI的.NET版本。那POI又是什么呢?POI是一套用Ja即枢潋雳va写成的库,能够帮助开发者在没有安装微软Office的情况下读写Office 97-2003的文件,支持的文件格式包括xls, doc, ppt等。 笔者以上所用的npoi版本为1.2.5版本(部分自定义修改了),对于具体npoi相关资料可以从网上查找获得。