将数据导出到Excel以及数据连接以稍后刷新excel [英] Exporting data to Excel along with data connection to refresh excel later

查看:106
本文介绍了将数据导出到Excel以及数据连接以稍后刷新excel的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们的要求如下 -

Our requirements are as follows-


  1. 我们在数据库中有一些数据,我们希望使用ASP.NET从网页导出到Excel (我们已完成此部分)
  2. 应在下载的Excel中自动创建与源数据的数据连接。
  3. 用户可以按需刷新数据,Excel将从中获取数据源数据连接。
  4. 如何在此连接中处理身份验证?

我有在SharePoint中看到类似的行为,我们可以将任何列表导出到Excel工作表。导出后,将创建与源列表的数据连接,用户可以随时刷新列表。这似乎是执行此操作的标准方法。

I have seen similar behavior in SharePoint where we can export any list to Excel sheet. After export, a data connection to source list is created using which user can refresh list at any time. This seems like a standard way to do this.

我们可以实现自定义但在去那里之前,我正在寻找实现此目标的标准方法。

We can implement something custom but before going there, I'm looking for what is the standard way to achieve this.

或者,如果有任何第三方解决方案可用。

Or if there is any third party solution available.

谢谢

推荐答案

嗨  KamalpreetSingh,

Hi KamalpreetSingh,

感谢您在此发帖。

对于您的问题,您可以使用sql连接将数据导出到表。然后使用ClosedXML将表保存到Excel。当您更改数据库中的表数据时,可以使用按钮将表再次保存到excel进行刷新。

For your question, you could use sql connection to export data to table. And then use ClosedXML to save table to Excel. When you change the table data in database, you could use button to save the table to excel again to refresh.

这是一个简单的代码,介绍如何从数据库加载数据并将其保存到Excel中。为了更好地理解,我在Winform datagridview中显示数据。

Here is a simple code about how to load data from database and save it to Excel. For better understanding, I show the data in Winform datagridview.

  DataSet sDs = new DataSet();
        DataTable dt1;

        //save table to excel
        private void Button1_Click(object sender, EventArgs e)
        {
            XLWorkbook wb = new XLWorkbook();            
            wb.Worksheets.Add(dt1, "Sheet1");
            wb.SaveAs("Sheet1.xlsx");
        }

        //load the table from database
        private void Convert_datatable_to_Excel_Load(object sender, EventArgs e)
        {
            string connectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\wendyz.WICRESOFT.000\OneDrive\Projects\VS2017 Project\WindowsForms\WindowsForms\Database.mdf;Integrated Security=True";
            string sql = "SELECT * FROM Table1";
            using (SqlConnection conn = new SqlConnection(connectionString))
            {
                using (SqlCommand cmd = conn.CreateCommand())
                {
                    using (SqlDataAdapter ada = new SqlDataAdapter(sql, conn))
                    {
                        ada.Fill(sDs);
                        dt1 = sDs.Tables[0];
                    }
                }
            }
            dataGridView1.DataSource = dt1;

        }

如果您需要ASP.Net中的进一步帮助,可以在ASP.Net论坛中发布新帖子。

If you need further help in ASP.Net, you could post a new thread in ASP.Net forum.

https://forums.asp.net/

最诚挚的问候,

Wendy


这篇关于将数据导出到Excel以及数据连接以稍后刷新excel的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆