Как экспортировать datatable в excel в приложении c# windows [дубликат]



На этот вопрос уже есть ответ здесь:



Я нашел некоторый код через Google, который позволяет мне экспортировать таблицу данных в файл 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 . если кто-нибудь об этом знает.... помоги мне

505   2  

2 ответов:

Эта строка представляет собой одну проблему:

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

Вы написали agent.xlsx, но затем добавили некоторые другие значения в конце.

Вторая проблема, как уже описал Льюис Хай в своем ответе, заключается в том, что вы используете метод WriteXml, который запишет ваши данные в виде XML.

Первая проблема, как сказал Роман выше, и datatable.WriteXml() с первым параметром не является строкой. Подробнее читайте в https://msdn.microsoft.com/en-us/library/system.data.datatable.writexml (v=против 110).aspx

Вторая проблема, поскольку этот код datatable.WriteXml означает, что вы записываете данные datatable как XML.

Обратитесь к этой статье, чтобы помочь вам больше как экспортировать DataTable в Excel

Comments

    Ничего не найдено.