2011-04-26 225 views
4

我試圖從數據集導出數據到excel並將其直接保存到給定的路徑,而不給我打開,保存或取消的選項。從數據集導出數據到excel

+2

即使你在Google上試過,你在這個 – Dotnet 2011-04-26 12:44:51

+0

傢伙身上也得到了很多,我不應該選擇保存excel,而是應該自動保存在我指定的位置。 – creator 2011-04-27 04:26:06

+0

我已合併您的未註冊帳戶。您現在可以在答案下留下意見,編輯您的問題並在需要時接受答案。 – 2011-04-27 07:33:16

回答

1

入住這DataSetToExcel

c# (WinForms-App) export DataSet to 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); 
    } 
} 
+0

請總結您提供的鏈接中的文字。如果這些鏈接在沒有重定向的情況下發生變化,您的回答將會丟失所有上下文 – 2011-04-27 07:45:19

1

使用ExcelLibrary這是單線...

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

參見Create Excel (.XLS and .XLSX) file from C#

+0

我試過這個,它給了'無效的單元格值'exception.I在這個 – shreesha 2017-03-10 11:46:38

+0

@shreesha上沒有看到任何活動的開發我不知道你的一個或多個單元格公式中是否有錯誤? – 2017-03-16 05:30:01

+0

是@tony可能。否則你的解決方案是完美的。 – shreesha 2017-03-17 08:29:27

0

這裏還有一個C#庫,它可以讓你從一個數據集導出到Excel 2007 .xlsx文件,使用OpenXML的圖書館。

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

所有的源代碼提供,免費的,有一個演示應用程序一起,你可以在你的ASP.Net,WPF和WinForms應用程序使用此。

將類添加到應用程序後,只需一次函數調用即可將數據導出到Excel文件中。

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

這並不容易。

祝你好運!

0

嗨,我找到了一個完美的解決方案Here

只是在代碼System.Type.Missing取代「missing.value」。也刪除

oWB.Close(System.Type.Missing,System.Type.Missing,System.Type.Missing); 和

oXL.Quit();代碼爲 。否則,您的excel會在打開後自動關閉。

1

這個C# Excel library也可以用來導出數據集。有關如何導出的更多詳細信息,請參見here

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

這是不是最好的解決辦法,但這裏是我做過什麼,它會打開一個新的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); 
     } 
+0

OP希望保存的路徑在哪裏?也許要求他澄清他計劃如何指定這條道路,然後再擴展。 – OYRM 2015-05-28 14:13:37

-1

這不是一個答案,這question.just對於那些誰很快要轉換自己的xml文件到excel文件和來這裏尋找解決方案。

條件:您必須使用visual studio。

遵循的步驟:

  • 創建控制檯應用程序。
  • 將以下代碼添加到您的Main方法中。

    string filePath = @「PATH TO XML FILE」; DataSet ds = new DataSet(); ds.ReadXml(filePath);

  • 放置一個斷點在這條線

    ds.ReadXml(文件路徑);

  • 調試模式運行

  • 一旦斷點被​​擊中的應用程序,進入下一個line.now數據將在DataSet中填充。

  • 在DataSet Visualizer中打開DataSet,如下所示。 enter image description here

  • 完成!將數據複製到excel文件。

+0

它實際上並沒有回答這個問題。 – 2018-02-19 13:57:02