2012-03-05 5 views
1

나는 MySQL 데이터베이스를 사용하는 C# .net 웹 응용 프로그램을 사용하고 있는데, 필자의 요구 사항은 Excel 형식으로 테이블 데이터를 내보내려는 것입니다. 가능한지 말해주세요.엑셀로 MySQL 데이터베이스 내보내기 C# .net

+0

일부 소스 코드를 보여주세요 ... 시도해 보셨습니까? XLSX 또는 XLS 파일을 원하십니까? CSV가 귀하의 유스 케이스에 괜찮을까요? – Yahia

답변

0

실제로 필요한 것이 무엇인지에 따라 확실히 알지 못합니다. 왜 테이블 형식의 데이터를 Excel 형식으로 내보내려고합니까? SSIS를 소스로 ODBC 연결을 사용하고 대상을 Excel 연결로 사용합니다. UIS는 SSIS 패키지를 실행하기 위해 SQL 서버 만 가질 필요는 있지만 MySQL을 소스로 사용합니다. U는 SSIS 패키지를 HttpPOST 뒤에 런타임에 실행할 수 있으며 uri를 Excel 문서 나 그와 비슷한 것으로 반환 할 수 있습니다.

PS : 내가 말했듯이, 당신의 솔루션 코끼리 수 있습니다 : u는 정말

+0

난 그냥 데이터 세트에서 데이터를 얻으려면 & 엑셀로 내보내기 ..... – LetMeIN

1

CSV (쉼표로 구분 된 값) Excel 용 일반적인 형식입니다 :) 필요에 따라. 아마도 데이터를 내보내는 가장 쉬운 방법 일 것입니다. 매우 휴대 가능 :)

0

C# .NET은 ADO.NET을 사용하여 MySQL 데이터에 액세스 할 수 있으므로 DataReader 또는 DataTable도 사용할 수 있습니다. 올바른 SqlClient를 사용해야합니다. 추출 된 데이터로 플랫 .csv 파일을 만들고 저장하십시오.

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; 
} 
0

, 여기 XLSX하는 DataTable에 수출하는 방법입니다 일반 텍스트 형식. Excel은 이러한 테이블을로드하고 CSS 스타일의 기본 및 고급 구성을 허용합니다.

그러나 여기에 제시된 다른 옵션은 더 안정적이며 물론 권장됩니다. 그러나 빠르고 더러운 해킹을 위해서는 평범한 HTML 테이블이 트릭을 수행 할 것입니다.

2

가장 쉬운 방법은 (HTML)에 데이터를 렌더링하는 테이블이 될 것이다에 : 나는 (!에만 XLSX) 그 목적을 위해 ExcelPackagePlus을 사용하고

관련 문제