【问题标题】:Write into excel sheet from dataset tables one by one从数据集表中一一写入excel表
【发布时间】:2019-09-22 06:56:28
【问题描述】:

我的数据集中有多个表。我需要将所有数据表一一写入excel并在最后一步导出工作表。

如果问题已经得到解答,请发布链接。因为我找不到相关的答案。

【问题讨论】:

  • cs 绝不是为了找到确切的代码来做你想做的事。它是关于找到相关的部分并将它们组合在一起。只需逐个单元格循环遍历数据表并将它们写入Excel工作表中的相应单元格。

标签: c# excel dataset


【解决方案1】:

我不确定如何在 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());
            }
        }
   }
}

【讨论】:

    【解决方案2】:

    这是我之前编写的一段代码,它采用 C# 数据表对象并保存为 excel 文档中的选项卡。

    您必须为 ClosedXML 安装 NuGet 才能在 sn-p 中使用这些功能。然后引用那个 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!");
                    }
    
                }
    
            }
    

    【讨论】:

    • 我投了反对票,因为错误处理对我来说看起来完全令人敬畏。
    猜你喜欢
    • 1970-01-01
    • 2020-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多