如何在C# Windows应用程序中将数据表导出到Excel

23 浏览
0 Comments

如何在C# Windows应用程序中将数据表导出到Excel

这个问题已经有答案了:

如何在C#中创建Excel (.XLS和.XLSX)文件而不安装Microsoft Office?

我通过谷歌找到了一些代码,可以将数据表导出到Excel文件中。 我成功地从数据库表中导出了文件并将其保存在我的文档中 。

  using System;
  using System.Data.OleDb;
  using System.Windows.Forms;
  using MySql.Data.MySqlClient;
  using System.Data;
namespace ImportFile
{
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }
    String connection = "SERVER=******;"DATABASE=dbd;"UID=root;"PASSWORD=pws;"Convert Zero Datetime = True";
 private void BExport_Click(object sender, EventArgs e)
    {
        DateTime dat = DateTime.Now;
        int time = dat.Hour;
        int time1 = dat.Minute;
        int time2 = dat.Second;
        int month = dat.Month;
        int day = dat.Day;
        MySqlConnection connection1 = new MySqlConnection(connection);
        connection1.Open();
        MySqlCommand command = new MySqlCommand ("SELECT * FROM TABLE_Name",connection1);     
        MySqlDataAdapter dataadpter = new MySqlDataAdapter(command);
        DataTable datatable = new DataTable("TABLE_NAME");
        dataadpter.Fill(datatable);
        datatable.WriteXml("C:\\Users\\Downloads\\agent.xlsx" + time + " - " + time1 + " - " + time2 + " - " + day + " - " + month + "");
        MessageBox.Show("export data");
      }
     }
   }

我的问题是,当我下载文件(点击导入按钮)时,它并没有下载一个Excel文件,而是一个普通文件

我如何将其下载为Excel文件。 如果有人知道,请帮帮我

admin 更改状态以发布 2023年5月21日
0
0 Comments

第一个问题,正如Roman所说,使用datatable.WriteXml()方法时,第一个参数必须是字符串类型。更多信息请参见https://msdn.microsoft.com/en-us/library/system.data.datatable.writexml(v=vs.110).aspx。\n\n第二个问题,datatable.WriteXml指将数据表的数据写入XML格式。参考这篇文章可帮助您了解更多:如何将数据表导出为Excel

0
0 Comments

这一行是一个问题:

datatable.WriteXml("C:\\Users\\Downloads\\agent.xlsx" + time + " - " + time1 + " - " + time2 + " - " + day + " - " + month + "");

你写了agent.xlsx,但是在结尾添加了其他值。

第二个问题像Lewis Hai已经在他的答案中描述的那样就是你正在使用WriteXml方法,它会将你的数据写成XML格式。

0