C#怎么把sql中的数据导入到excel 中用代码实现

2025-10-27 12:58:37

1、构建查询界面UI

      使用VS2010建构查询界面,在此笔者所测试的是Winform程序,一个往来账查询的功能,具体界面如下图所示:

C#怎么把sql中的数据导入到excel 中用代码实现

2、利用C#代码获取SQL数据

      利用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);

 }

C#怎么把sql中的数据导入到excel 中用代码实现

3、设定dataGridView的数据源

      将所查询出来的DataTable数据表设定为dataGridView的数据源:

       dataGridView1.DataSource = dt;

C#怎么把sql中的数据导入到excel 中用代码实现

4、调用NPOI将数据导入到Excel中

      调用NPOI控件,并将数据导入到Excel中:

       private void btnExcel_Click(object sender, EventArgs e)

        {

            NPOIExcel.GenerateXlsFromXlsTemplate(dataGridView1);

        }

C#怎么把sql中的数据导入到excel 中用代码实现

C#怎么把sql中的数据导入到excel 中用代码实现

5、指定文件存储路径

      点击生成EXCEL,跳出存储对话框(如下图),接下来我们做的就是先找到存放这个文件的路径,代码如下:

       static void WriteToFile()

        {

            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();

        }

       这段代码,意思是看是否存在文件夹,如果存在,则查看是否存在文件,如果不存在文件夹或者文件,都将进行创建。

C#怎么把sql中的数据导入到excel 中用代码实现

C#怎么把sql中的数据导入到excel 中用代码实现

6、打开所存储的EXCEL文件,即是从SQL数据中导入的内容,如下图所示:

C#怎么把sql中的数据导入到excel 中用代码实现

7、NPOI控件

      NPOI,顾名思义,就是POI的.NET版本。那POI又是什么呢?POI是一套用Java写成的库,能够帮助开发者在没有安装微软Office的情况下读写Office 97-2003的文件,支持的文件格式包括xls, doc, ppt等。

      笔者以上所用的npoi版本为1.2.5版本(部分自定义修改了),对于具体npoi相关资料可以从网上查找获得。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢