Как экспортировать datatable в excel в приложении c# windows [дубликат]
На этот вопрос уже есть ответ здесь:
Создать Excel (.XLS И.XLSX) файл из C#
40 ответов
Я нашел некоторый код через 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 . если кто-нибудь об этом знает.... помоги мне
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