Записать в таблицу Excel из таблиц набора данных одну за другой - PullRequest
0 голосов
/ 03 мая 2019

В моем наборе данных несколько таблиц. Мне нужно записать все таблицы данных по одному в Excel и экспортировать лист на последнем шаге.

если проблема уже решена, пожалуйста, оставьте ссылку. потому что я не мог найти соответствующие ответы.

Ответы [ 2 ]

0 голосов
/ 11 июня 2019

Я не уверен, как у вас будет несколько таблиц данных в C #, но это простой пример того, как сохранить объект данных в Excel.

using System;
using System.Drawing;
using System.Windows.Forms;
using Excel = Microsoft.Office.Interop.Excel; 

namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                System.Data.OleDb.OleDbConnection MyConnection ;
                System.Data.OleDb.OleDbCommand myCommand = new System.Data.OleDb.OleDbCommand();
                string sql = null;
                MyConnection = new System.Data.OleDb.OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source='c:\\csharp.net-informations.xls';Extended Properties=Excel 8.0;");
                MyConnection.Open();
                myCommand.Connection = MyConnection;
                sql = "Insert into [Sheet1$] (id,name) values('5','e')";
                myCommand.CommandText = sql;
                myCommand.ExecuteNonQuery();
                MyConnection.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show (ex.ToString());
            }
        }
   }
}
0 голосов
/ 03 мая 2019

Вот фрагмент кода, который я написал до этого, который принимает объект данных C # и сохраняет его как вкладку в документе Excel.

Вам нужно установить NuGet для ClosedXML, чтобы функции были доступны всниппет.Затем обратитесь к этой DLL, чтобы использовать эти функции.

 using ClosedXML.Excel;


 DataTable DT = MyDataTable;
 XLWorkbook wb = new XLWorkbook();
 IXLWorksheet UseLevelDataSheet= wb.Worksheets.Add(DT, "BootStrap Uselevel 
Data");
        IXLWorksheet MLE_EstimatesSheet= wb.Worksheets.Add(DT_estimates, "MLE estimates & CB_BCA");

        if (SavePath==null)
        {
            string DocFolder = 
Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
            string FileName = CreateFileName(DocFolder);
            wb.SaveAs(FileName);
            SavePath = FileName;
        }
        else
        {
            try
            {
                wb.SaveAs(SavePath);
            }
            catch (Exception err)
            {
                if (err.HResult== -2147024864)
                {
                    MessageBox.Show("Unable save, file is locked!");
                }

            }

        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...