从数据集导出数据到excel

本文关键字:excel 数据 数据集 | 更新日期: 2023-09-27 17:53:34

我试图从数据集导出数据到excel,并将其直接保存到给定的路径,而不给我打开,保存或取消的选项。

从数据集导出数据到excel

使用ExcelLibrary这是一个一行…

DataSet myDataSet;
... populate data set ...
ExcelLibrary.DataSetHelper.CreateWorkbook("MyExcelFile.xls", myDataSet);

请参见从c#创建Excel (.XLS和.XLSX)文件

这个c# Excel库也可以用来导出数据集。关于如何导出的更多细节可以在这里找到。

ExcelDocument xls = new ExcelDocument();
xls.easy_WriteXLSFile_FromDataSet("ExcelFile.xls", dataset, 
                 new ExcelAutoFormat(Styles.AUTOFORMAT_EASYXLS1), "Sheet Name");

这不是最好的解决方案,但这是我所做的,它打开一个新的excel文档,然后复制数据集中的内容,所有你需要做的就是整理列并保存它。

顺便说一句,这是我第一次回答一个问题,希望能有所帮助

        private void cmdExport_Click(object sender, EventArgs e)
        {
            System.Diagnostics.Process.Start("excel.exe");
            try
            {
                copyAlltoClipboard();
                Microsoft.Office.Interop.Excel.Application xlexcel;
                Microsoft.Office.Interop.Excel.Workbook xlWorkBook;
                Microsoft.Office.Interop.Excel.Worksheet xlWorkSheet;
                object misValue = System.Reflection.Missing.Value;
                xlexcel = new Excel.Application();
                xlexcel.Visible = true;
                xlWorkBook = xlexcel.Workbooks.Add(misValue);
                xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
                Excel.Range CR = (Excel.Range)xlWorkSheet.Cells[1, 1];
                CR.Select();
                xlWorkSheet.PasteSpecial(CR, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, true);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error :" + ex.Message);
            }
        }
        private void copyAlltoClipboard()
        {
            dataGridViewItems.SelectAll();
            DataObject dataObj = dataGridViewItems.GetClipboardContent();
            if (dataObj != null)
                Clipboard.SetDataObject(dataObj);
        }

查看此DataSetToExcel

和c# (WinForms-App)导出数据集到Excel

在第一个链接中修改代码如下:

删除最初启动的所有代码并尝试以下

using (StringWriter sw = new StringWriter("Your Path to save"))
{
  using (HtmlTextWriter htw = new HtmlTextWriter(sw))
  {
    // instantiate a datagrid
    DataGrid dg = new DataGrid();
    dg.DataSource = ds.Tables[0];
    dg.DataBind();
    dg.RenderControl(htw);
  }
}

这是另一个c#库,它允许您使用OpenXML库从数据集导出到Excel 2007 .xlsx文件。

http://www.mikesknowledgebase.com/pages/CSharp/ExportToExcel.htm

所有源代码都是免费提供的,还有一个演示应用程序,您可以在您的ASP中使用它。. Net、WPF和WinForms应用程序

将类添加到应用程序后,只需调用一个函数即可将数据导出到Excel文件中。

CreateExcelFile.CreateExcelDocument(myDataSet, "C:''Sample.xlsx");

没有比这更容易的了。

我找到了一个完美的解决方案

只需替换'missing '即可。代码中缺少system . type . value。也删除

oWB.Close (System.Type。失踪,System.Type。失踪,System.Type.Missing);和

oXL.Quit ();从代码中。否则你的excel会在打开后自动关闭。