2012-03-05 112 views
1

我正在使用c#.net web應用程序,我使用MySQL DB,我的要求是我想導出表格數據,如Excel格式。請告訴我怎麼可能將MySQL數據庫導出到EXCEL中c#.net

+0

請顯示一些源代碼...你有什麼試過?你想要XLSX或XLS文件嗎?您的用例可以CSV嗎? – Yahia 2012-03-05 10:05:30

回答

0

根據你真的需要我不知道爲什麼,你爲什麼要將表格數據導出爲Excel格式?我將使用SSIS作爲odbc連接的源和作爲目標的excel連接。你將只需要有sql服務器來執行SSIS包,但是會爲MySQL工作。 U可以在運行時在HttpPOST後執行SSIS包,並將uri返回到excel文件或類似的東西。

PS:這可能是您的解決方案大象,正如我所說的:這取決於什麼ü真正需要:)

+0

我只想獲取數據集中的數據並將其導出爲ex​​cel ..... – LetMeIN 2012-03-05 10:15:10

1

CSV(逗號分隔值)是Excel的通用格式。這可能是導出數據的最簡單方法。而且非常便攜:)

0

C#.NET可以通過ADO.NET訪問MySQL數據:所以你也可以使用DataReader或者DataTable。請記住使用正確的SqlClient。使用提取的數據創建並保存一個平面.csv文件。

0

我使用ExcelPackagePlus用於這一目的(!僅XLSX),這裏是出口數據表到XLSX方法:

public static MemoryStream DataSetToExcelXlsx(DataTable table, string sheetName) 
{ 
    MemoryStream Result = new MemoryStream(); 
    ExcelPackage pack = new ExcelPackage(); 
    ExcelWorksheet ws = pack.Workbook.Worksheets.Add(sheetName); 

    int col = 1; 
    int row = 1; 
    foreach (DataRow rw in table.Rows) 
    { 
    foreach (DataColumn cl in table.Columns) 
    { 
     if (rw[cl.ColumnName] != DBNull.Value) 
     ws.Cells[row, col].Value = rw[cl.ColumnName].ToString(); 
     col++; 
    } 
    row++; 
    col = 1; 
    } 

    pack.SaveAs(Result); 
    return Result; 
} 
2

最簡單的方法是將你的數據呈現到(HTML)表純文本格式。 Excel加載這樣的表格,甚至允許在CSS樣式中進行一些基本和高級配置。

但是,這裏介紹的其他選項更穩定,當然推薦。但是對於一個快速而骯髒的黑客來說,一張普通的html表格也可以做到這一點。