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

 时间:2026-02-16 05:06:53

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相关资料可以从网上查找获得。

  • PS怎样做换皮术?
  • PS怎样制作云朵形扎染丝绸纹理
  • PS中如何给文字添加蓝色白边和颗粒效果
  • 如何用PS设计豹皮纹理
  • PS中如何给衣服添加图案?
  • 热门搜索
    南京旅游攻略 厦门旅游景点 土耳其旅游 广西旅游景点大全 梵净山旅游攻略 西安旅游必去景点推荐 赣州旅游 西藏旅游 福州旅游 旅游团报名