2012-03-05 13 views
1

私はMySQLデータベースを使用している場所でC#.net Webアプリケーションを使用しています。私の要件はExcel形式でテーブルデータをエクスポートしたいのです。どうすれば可能か教えてくださいMySQLデータベースをExcelにエクスポートする

+0

ソースコードを表示してください...何を試しましたか? XLSXまたはXLSファイルが必要ですか? CSVはあなたのユースケースでOKでしょうか? – Yahia

答えて

0

本当に必要なものはどうか分かりませんが、なぜExcel形式にテーブルデータをエクスポートしたいのですか? SSISをソースとしてODBC接続を使用し、宛先としてExcel接続を使用します。 SSISパッケージを実行するために必要なのはSQLサーバだけですが、ソースとしてMySQLで動作します。 Uは、SSISパッケージを実行時にHttpPOSTの背後で実行し、uriをExcelドキュメントなどに返すことができます。

PS:私が言ったようにこれは、あなたのソリューションのための象のようになります。uは本当に:)

+0

私はちょうどデータセットでデータを取得したいとExcelとしてエクスポートする..... – LetMeIN

1

CSV(カンマ区切り値)を必要とするものに応じては、Excelのための共通フォーマットです。これはおそらく、データをエクスポートする最も簡単な方法です。非常に移植性があります。

0

C#.NETはADO.NETでMySQLデータにアクセスできるため、DataReaderまたはDataTableも使用できます。正しいSqlClientを使用することを忘れないでください。抽出されたデータを含むフラットな.csvファイルを作成して保存します。

0

私は(のみXLSX!)、その目的のためにExcelPackagePlusを使用しています、ここXLSXしたDataTableをエクスポートする方法は次のとおりです。

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テーブルもやっています。

関連する問題