如何在C# Windows应用程序中将数据表导出到Excel
如何在C# Windows应用程序中将数据表导出到Excel
这个问题已经有答案了:
我通过谷歌找到了一些代码,可以将数据表导出到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日
第一个问题,正如Roman所说,使用datatable.WriteXml()
方法时,第一个参数必须是字符串类型。更多信息请参见https://msdn.microsoft.com/en-us/library/system.data.datatable.writexml(v=vs.110).aspx。\n\n第二个问题,datatable.WriteXml
指将数据表的数据写入XML格式。参考这篇文章可帮助您了解更多:如何将数据表导出为Excel。
这一行是一个问题:
datatable.WriteXml("C:\\Users\\Downloads\\agent.xlsx" + time + " - " + time1 + " - " + time2 + " - " + day + " - " + month + "");
你写了agent.xlsx
,但是在结尾添加了其他值。
第二个问题像Lewis Hai已经在他的答案中描述的那样,就是你正在使用WriteXml
方法,它会将你的数据写成XML格式。