如何在c#windows应用程序中将数据表导出到excel
本文关键字:数据表 excel c#windows 应用程序 | 更新日期: 2023-09-27 18:27:13
我通过谷歌搜索找到了一些代码,可以将数据表导出到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文件。如果有人知道这一点帮助我
这一行是一个问题:
datatable.WriteXml("C:''Users''Downloads''agent.xlsx" + time + " - " + time1 + " - " + time2 + " - " + day + " - " + month + "");
您编写了agent.xlsx
,但在末尾添加了一些其他值。
第二个问题就像刘易斯·海在他的回答中描述的那样,就是您使用的是WriteXml
方法,它将把您的数据写成XML。
正如Roman所说的第一个问题,带有第一个参数的datatable.WriteXml()
不是字符串。更多信息,请访问https://msdn.microsoft.com/en-us/library/system.data.datatable.writexml(v=vs.110).aspx
第二个问题是这个代码datatable.WriteXml
,它意味着您将数据表的数据编写为XML。
请参阅这篇文章来帮助您了解更多如何将DataTable导出到Excel